tracks

AVAssetReader视频数据读取

半腔热情 提交于 2021-01-18 17:01:58
AVAssetReader介绍 可以通过AVAssetReader获取视频文件里媒体样本,可以直接从存储器中读取未解码的原始媒体样本,获得解码成可渲染形式的样本。 文档里说明AVAssetrader管道内部是多线程的。初始化之后,读取器在使用前加载并处理合理数量的样本数据,以copyNextSampleBuffer(AVAssetReaderOutput)等检索操作的延迟非常低。但AVAssetReader还是不适用于实时源,并且它的性能也不能保证用于实时操作。 由于使用前需要加载并处理一些样本数据,导致占用的内存可能会比较大,需要注意同一时间使用的reader个数不要过多,视频像素越高,占用的内存也会越大。 AVAssetReader初始化 使用AVAsset对AVAssetReader进行初始化,前面也说了初始化之后就会加载样本数据,所以这一步就已经会对内存产生印象,如果内存紧张就不要预先初始化。 NSError *createReaderError; _reader = [[AVAssetReader alloc]initWithAsset:_asset error:&createReaderError]; AVAssetReader设置Output 在开始读取之前,需要添加output来控制读取初始化使用的asset中哪些track,以及配置如何读取。

Python学习思维导图

白昼怎懂夜的黑 提交于 2020-11-06 06:29:24
刚学习Python时,边学边总结的,采用思维导图的形式, 适合回顾使用。内容参考《Python:从入门到实践》一书。 再给出一张Datacamp网站上的一张关于Python基础的总结: 关于Datacamp Datacamp是一个在线学习网站,适合想入门数据分析和机器学习的同学。每门课程短小精干,不超过4个小时即可学完一门,而且通过每门后都会有证书。课程采用learning by doing的形式,让你每学到一个知识点后都能立即开始动手实验。网站已提供在线环境,无需配置本地环境,免去了刚入门时因为搞不定环境配置的尴尬。 目前网站上关于R语言和Python的课程比较多,也有金融分析和数据库方面的课程,可以根据skill tracks(专项技能)和 career tracks(职业路线)进行学习。如果你觉得想弥补或是强化某一方面的知识,也可以选择单独的Course(学完skill tracks和career tracks后会有单独的证书哦)。 这是我学完Python Programmer后的证书,感觉还不错~ Datacamp上是全英文授课,还没有字幕,适合有一定英语基础的同学。不过多听听也就熟了,老师的语速不是太快,发音也都很标准。听不懂的话回过头来多听几遍也就OK了。而且只要通过了的课程,后面即使到期了也还是能重复学的,课件也提供下载。 出处:http://www.cnblogs

全球对话技术顶赛DSTC9落幕,百度NLP开源PLATO-2斩获四项冠军

会有一股神秘感。 提交于 2020-10-31 09:50:21
  机器之心发布    机器之心编辑部    全球人工智能学术竞赛 DSTC 是对话系统技术领域的顶级赛事。2020 年度第九届国际对话技术竞赛 DSTC9 共设有 4 个赛道 (Track-1~Track-4),主办方包括 Facebook、亚马逊、微软、卡内基梅隆大学、清华大学等,参与者广泛覆盖了企业和高校的参赛团队。   近期 DSTC9 官方陆续公布各个赛道排名。百度参与了 DSTC9 前 3 个赛道中 4 项任务的角逐,并在最终的榜单中拔得头名,成绩令人瞩目。这些赛道全面涵盖了开放域闲聊、知识对话、任务型对话等关键问题。据悉,百度在这些任务中所使用的核心技术,均基于其最近开源的开放域对话模型 PLATO-2。   PLATO-2 是基于隐空间技术的大规模开放域对话模型,参数规模高达 16 亿,可就开放域话题深度畅聊,在中英文效果上,已全面超越 Google Meena、Facebook Blender、微软小冰等先进模型。PLATO-2 采用了课程学习进行训练,其过程包括两个阶段:第一阶段,基于简化的 “一对一” 映射,训练得到基础的回复生成模型;第二阶段包含生成 - 评估两个模型,针对开放域对话的 “一对多” 问题,通过引入离散隐变量进行建模,训练得到更高质量的回复生成模型,同时训练评估模型,从多个候选中选择出最合适的回复。这种框架具有很强的通用能力

通过群集在Spotify上分析我最喜欢的歌曲

纵饮孤独 提交于 2020-10-30 09:07:45
作者 | John Koh 来源 | Medium 编辑 | 代码医生团队 感谢 Spotify API ,能够提取和探索喜欢听的歌曲 - 那些让我点击那个心形图标的歌曲。 建立 要从 Spotify API 获取数据,需要使用以下步骤进行初始设置: 1.登录 Spotify for Developers 并创建一个应用程序。 https://developer.spotify.com/dashboard/ 2.从应用程序仪表板页面中,选择编辑设置并将重定 向 URI 设置为 http : // localhost : 8888 3.记下客户端 ID 和客户端密钥。 收集数据 可以使用 Spotpy Web API 的 Spotipy 来获取相关数据。要获取歌曲,需要生成授权令牌。 https://spotipy.readthedocs.io/en/latest/ import spotipy import spotipy.util as util from spotipy.oauth2 import SpotifyClientCredentials cid = '<INSERT CLIENT ID>' secret = '<INSERT CLIENT SECRET>' username = "" client_credentials_manager =

干掉ELK | 使用Prometheus+Grafana搭建监控平台

谁说我不能喝 提交于 2020-10-07 05:20:46
什么是Prometheus? Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。 Prometheus的特点 · 多维度数据模型。 · 灵活的查询语言。 · 不依赖分布式存储,单个服务器节点是自主的。 · 通过基于HTTP的pull方式采集时序数据。 · 可以通过中间网关进行时序列数据推送。 · 通过服务发现或者静态配置来发现目标服务对象。 · 支持多种多样的图表和界面展示,比如Grafana等 Prometheus的组件 Prometheus生态系统由多个组件组成,它们中的一些是可选的。多数Prometheus组件是Go语言写的,这使得这些组件很容易编译和部署。 · Prometheus Server 主要负责数据采集和存储,提供PromQL查询语言的支持。 · 客户端SDK 官方提供的客户端类库有go、java、scala、python、ruby,其他还有很多第三方开发的类库,支持nodejs、php、erlang等。 · Push Gateway 支持临时性Job主动推送指标的中间网关。 · Exporter Exporter是Prometheus的一类数据采集组件的总称。它负责从目标处搜集数据,并将其转化为Prometheus支持的格式

Jenkins:Git拉取代码版本不对

*爱你&永不变心* 提交于 2020-09-30 07:33:54
血泪史 最近在使用Jenkins 拉取Git工程编译代码 时候遇到一个很奇怪的的问题:Jenkins的 GitPlugin 下载代码的版本不对(commitId不对)。由于线上部署和线下部署的编译产物是同一版本,导致最后发布到生产环境的代码版本也不对。这个问题在线上验证阶段才最终被发现,回顾整个job构建过程,控制台没有报错,也成功编译出来了上线包,那到底是哪里出了问题? 初步定位 我最开始怀疑是 本地Git工程残留 的问题,于是尝试删除jenkins对应job所运行的机器节点上的 WORKSPACE 目录,保证下次触发Jenkins构建能拉取到最新代码。 删除方式: 1. 登陆到运行这个job的节点的机器(在控制台中查看这个job运行的节点,在 第一行 有打印)。 2. 查看$WORKSPACE(在job的控制台中查看;如果找不到,直接在shell executor中加一行echo $WORKSPACE,重新执行job) 3. 删除对应的WORKSPACE信息。 请谨慎操作 ,先看清楚WORKSPACE的值对不对(echo $WORKSPACE),别搞错导致 删除了根目录!!! 。 [ -d "$WORKSPACE" ] && rm -rf ${WORKSPACE} 4.删除后重新触发job 这么操作后,最终打包出来的编译产物还是版本不对。 既然不是本地代码缓存问题

(一)OpenCV-Python学习—基础知识

主宰稳场 提交于 2020-08-15 01:44:49
  opencv是一个强大的图像处理和计算机视觉库,实现了很多实用算法,值得学习和深究下。 1.opencv包安装 ·  这里直接安装opencv-python包(非官方): pip install opencv-python    官方文档:https://opencv-python-tutroals.readthedocs.io/en/latest/ 2. opencv简单图像处理    2.1 图像像素存储形式     首先得了解下图像在计算机中存储形式:(为了方便画图,每列像素值都写一样了)     对于只有黑白颜色的灰度图,为单通道,一个像素块对应矩阵中一个数字,数值为0到255, 其中0表示最暗(黑色) ,255表示最亮(白色)          对于采用RGB模式的彩色图片,为三通道图,Red、Green、Blue三原色,按不同比例相加,一个像素块对应矩阵中的一个向量, 如[24,180, 50],分别表示三种颜色的比列, 即对应深度上的数字,如下图所示:          需要注意的是,由于历史遗留问题,opencv采用BGR模式,而不是RGB    2.2 图像读取和写入     cv2.imread() imread(img_path,flag) 读取图片,返回图片对象 img_path: 图片的路径,即使路径错误也不会报错,但打印返回的图片对象为None

十个便捷的单行代码编程技巧

假如想象 提交于 2020-08-13 07:11:03
1、对列表/数组中的每个元素都乘以2 // www.1b23.com Range是半开区间 int [] ia = range(1, 10).map(i -> i * 2).toArray(); List<Integer> result = range(1, 10).map(i -> i * 2).boxed().collect(toList()); 2、计算集合/数组中的数字之和 range(1, 1000).sum(); range(1, 1000).reduce(0, Integer::sum); Stream.iterate(0, i -> i + 1).limit(1000).reduce(0, Integer::sum); IntStream.iterate(0, i -> i + 1).limit(1000).reduce(0, Integer::sum); 3、验证字符串是否包含集合中的某一字符串 final List<String> keywords = Arrays.asList("brown", "fox", "dog", "pangram"); final String tweet = "The quick brown fox jumps over a lazy dog. #pangram http://www.rinkworks.com/words

多家技术公司喊停的人脸识别业务,被这家波兰网站玩火了!

*爱你&永不变心* 提交于 2020-08-11 09:28:00
      大数据文摘出品    作者:刘俊寰   受弗洛伊德事件影响,6月10日,美国科技巨头IBM宣布正式放弃人脸识别技术,紧接着第二天,亚马逊表示停止对警方提供面部识别技术。   BlackLivesMatter运动对全世界科技界以及人脸识别领域都产生了重要影响。      在人脸识别技术饱受诟病的当下,偏偏就有这么一个 新的人脸识别网站选择“逆流而上” 。   日前, 波兰的一家面部识别网站PimEyes 在国外掀起一股热议浪潮, 任何人都能在网站上进行搜索 ,并且该网站表示,它们 能够从Tumblr、YouTube、WordPress等社交媒体和新闻机构等公开网站上找到这个人的更多照片 。   听上去和年初火爆美国、如今惨遭起诉的 Clearview AI 没有太大区别,不过,与Clearview AI和全球警方和执法机构进行合作不同, PimEyes主要服务于保护个人隐私和防止滥用图像 ,但是这并不能阻止其他人上传自己的照片,针对此,PimEyes尚未置评。   PimEyes测评:这个人脸识别网站到底有多强大?   到底PimEyes有没有自己所宣称的那么强大,我们先来进行一次测评。   首先,我们用 英国首相Boris Johnson 的照片先试一下水,结果发现,识别效果的确不赖,网站匹配到了数千张Boris的演讲和受访照片。      毫无疑问

SQL for Data Science

淺唱寂寞╮ 提交于 2020-08-06 13:42:58
SQL for Data Science - Notes 待补充 注:同一类编程题型只摘选1~2道做笔记;所有概念题型均不摘选,详见课堂讲义 Module 1:Select and Retrieve Data with SQL 随堂练习 Rtrieve all the data from the tracks table Select * From Tracks ; DATA: all the data TABLE: tracks table Return the playlist id, and name from the playlists table Select Playlistid , Name From Playlists ; DATA: playlist id and name TABLE: playlists table Select all the columns from the Playlist Track table and limit the results to 10 records Select * From Playlist_track Limit 10 ; DATA: all the columns TABLE: playlist track list FILTER: limit 10 results 代码测评 太简单了,不做记录 Module 2