来源:Demuxed 2021 主讲人:Eric Tang 内容整理:张雨虹 本次演讲主要介绍了如何利用 ffmpeg 对直播流媒体进行自定义的内容分类。...然后讨论了自定义创建场景分类器的过程,介绍了一些训练模型、使用 tensorflow 后端以及利用 GPU 运行模型的经验,该项目已完全开源。...同时我们希望借助 ffmpeg 来进行处理。ffmpeg 是视频处理的重要工具。近年来,伴随着基于 AI 的视频处理的流行,ffmpeg 借助于滤波器引入了这些功能。...我们期望在 UGC 案例中对直播流媒体进行操作,同时解决数千个并发流的操作,真正有效解决这一问题。 优化 GPU 性能 为了能够有效解决这个问题,我们对 GPU 架构进行了研究。...主要工作 训练了自己的模型来检测足球和人。 使用 MobileNet v2 来获得真正快速和轻量级的性能。 使用 8000 帧图像进行训练,80% 用作训练集,20% 用作测试集。
为了解决这个问题,便想着搭建一套流媒体服务,这样手机就可以边看边下载,查询了一些资料了了解到需要先将视频分成一小片来传输,比如将MP4转码为M3U8格式,查询了相关转码方法,比较主流的方式是使用ffmpeg...功能测试 三、搭建ffmpeg 视频转码的工具可能有很多,但开源且使用人数最多的还是莫过于ffmpeg这个工具,具体功能笔者不在这里详细讲解;安装此工具的方式有很多,比如apt安装、源码安装、docker...所支持的输入输出协议非常多,比如可以选择file协议作为来源,使用hls协议作为输出结果,具体所支持的协议可以通过如下命令查看 docker run jrottenberg/ffmpeg -protocols...省略 tls udp 3.4 转换测试 现在笔者使用FFmpeg对视频进行转码测试,命令非常简单,首先需要通过-v将视频所在的目录挂载到容器中,然后使用-i选项找到容器中对应的视频文件; 接着就可以对编码进行一些选项...,然后进行转码,转码的时候使用nohup命令可以让FFmpeg异步执行,然后PHP返回播放地址。
下面是博主的产品页面: 机器配置: CPU: 1 vCPU (1核心 Intel(R) Xeon(R) CPU E5-2630L v2 @ 2.40GHz) 内存: 1 GB (I/O优化) 硬盘: 25GSSD...磁盘(系统盘) 带宽: 未知 虚拟化平台:kvm 使用ZBench脚本进行性能测试: ----------------------------------------------------------...硬盘I/O (第三次测试) : 881 MB/s -------------------------------------------------------------------------- 使用...IKEY=7016 使用Bench脚本进行性能测试: ---------------------------------------------------------------------- CPU...956 MB/S,这款机器建站还是不错的。
问题背景: 最近解决一些摄像头上云问题,由于自研播放器有时存在一些播放问题,按照音视频常见问题分析和解决:延时和抖动这篇文章说的定位问题思路,我决定搭建一些RTMP流媒体服务器,供测试用标准播放器如VLC...github.com/ossrs/srs,部署和使用起来很简单: 步骤: 1....安装SRS服务器: 实际我采用了编译源码的方式安装,只需要下面几条命令即可,其它很多功能没有启用,SRS现在性能功能还是比较强大的流媒体服务器,不过只支持linux部署。...摄像头推流: 这里推流没有利用FFMpeg进行推流,而用我们GB接入网关拉取了摄像头的视频流直接推上来的,本质就是摄像头从局域网注册上来,然后通过SIP请求视频,摄像头通过RTP协议推送视频国标网关,...---- Windows搭建FMS: FMS其实是Adobe的RTMP流媒体服务器,我在本地Windosw搭建了一个,用FFmpeg推流到该服务器,然后用VLC和它们提供的Video Palyer打开进行验证下
应用场景1 ffmpeg -i http://xxx.com/index.m3u8 -c copy -bsf:a aac_adtstoasc output.mp4 通过浏览器看视频的时候,想下载下来。...打开开发者工具,network,如果看到浏览器在不断的加载.ts结尾的文件,这时候筛选下m3u8,如果找到了,就可以用这种方法下载 应用场景2 #mov转mp4 ffmpeg -i 123.mov -vcodec...libx264 -preset fast -crf 20 -y -vf "scale=1280:-1" -acodec libmp3lame -ab 128k new.mp4 压缩mp4,适合画面不大变化的...ffmpeg -i input.mp4 -r 10 -b:a 32k output.mp4 详见:https://zhuanlan.zhihu.com/p/110716546
YouTube Direct 的主要功能 YouTube Direct 基于 YouTube API 的 100% 的开源解决方案。 YouTube Direct 上传视频界面完全可定制。...所有审核通过的视频在 YouTube 被浏览的时候都会有一个链接链回你的网站。 YouTube Direct 组件(Components) YouTube Direct 主要有两个组件: 1....但是这里 Tag 是任何用户都可以使用的,不适可控的,所以如果被不怀好意的用户利用就会比较达不到目标,而 YouTube Direct 推出,则可以让用户直接在自己的网站上上传视频,然后通过 YouYube...云计算已经是互联网的发展趋势,云存储,云计算已经慢慢开始商用了,最简单比如使用 Amazon S3 云存储来做 CDN 服务,由于价钱便宜,并且只按流量收费,可以为用户节省一大笔费用,那么 YouTube...是的,任何网站通过 YouTube Direct 服务构建自己的视频网站或者服务,并且免费使用 YouTube 的存储和视频服务资源,而 Google 通过 YouTube Direct 更加稳定 YouTube
-vcodec libx264:生成视频的编码格式,这里指定的是x264 ffmpeg -loop 1 -i *.jpg -i *.mp3 -c:v libx264 -tune stillimage...-i audio.mp3 输入的音频文件 7、给mp3添加封面: ffmpeg -i in.mp3 -i test.png -map 0:0 -map 1:0 -c copy -id3v2_version...上文到视频的第15s结束。截出的视频共5s. 如果用-t 表示截取多长的时间如 上文-to 换位-t则是截取从视频的第10s开始,截取15s时长的视频。即截出来的视频共15s....参数解析 -vcodec copy表示使用跟原视频一样的视频编解码器。 -acodec copy表示使用跟原视频一样的音频编解码器。 -i 表示源视频文件 -y 表示如果输出文件已存在则覆盖。 9....视频画面上下翻转: ffmpeg -i 0.mp4 -vf vflip a.mp4 左右翻转: ffmpeg -i 0.mp4 -vf hflip b.mp4 画面顺时针旋转90度: ffmpeg -i
任何的影音传播都需要通过流媒体服务器来实现,现在的安防监控直播也让视频流媒体服务器大放异彩了。比如我们的流媒体服务器EasyNVR就能够适应多种场景,搭建视频流媒体服务器。 ?...我们的流媒体服务器能够对接大华、海康、宇视等支持RTSP协议的摄像头,输入RTSP视频流,输出RTMP、HLS、FLV等格式的视频流。...当然,我们也支持使用ffmpeg拉取rtsp视频流或者视频流的快照。...在我们测试时,使用ffmpeg拉取rtsp视频流快照时,大华流地址获取快照异常: rtsp://admin:admin123@192.168.99.100:554/cam/realmonitor?...channel=1&subtype=0&unicast=true&proto=Onvif ffmpeg 拉取rtsp流快照并保持成文件的代码实现。
前言 业务需求需要在自己的网页上嵌入油管( youtube )上的视频,所以去踩了油管 IFrame Player API 的坑。...油管提供的 IFrame Player API 也是类似的方案。 0. 网页中基本使用 要使用 IFrame Player API 需要浏览器支持 postMessage 功能。...onApiChange 播放器已加载(或卸载)具有公开 API 方法的模块触发。 使用方法就像案例一样。 3....getDuration() 返回当前正在播放的视频的时长 getVideoUrl() 返回当前已加载/正在播放的视频的 YouTube.com 网址 getVideoEmbedCode() 返回当前已加载...getPlaylist() 按当前顺序返回播放列表中视频ID的数组。 getPlaylistIndex() 返回当前正在播放的播放列表中视频的索引。 使用方法我想不用说,大家都知道怎么用啦。
而在使用Linux时,无论是用ubuntu或者redhat,如果使用系统提供的源安装ffmpeg时会发现,版本相对比较老旧,例如apt-get install ffmpeg后或者yum install...2.1 FFmpeg Windows平台编译 FFmpeg在Windows平台中编译时使用的cygwin来进行编译,首先需要安装cygwin环境,然后才可以编译,如果不希望使用cygwin而使用Visual...当编译安装完成后,即可使用ffmpeg命令,但是这个编译出来的ffmpeg仅仅为最简易的ffmpeg,并没有支持h264、h265、加字幕等编码支持,如果需要支持更多模块和参数,还需要进行更加详细的定制...默认执行配置的时候,提示错误: ? 根据图中的错误提示,可以使--disable-yasm来进行ffmpeg的编译配置,不过这么做的话就不编译ffmpeg的汇编代码部分,相关的优化会少一些。...2.3 FFmpeg OSX平台编译 有些人在OSX下面使用FFmpeg进行一些编转码或流媒体采集等工作,为了方便调试,需要生成OSX平台相关的FFmpeg,在OSX下面编译FFmpeg前,首先需要安装编译环境
4、使用 WinSCP 上传流媒体服务器软件及配置脚本 5、使用 SecureCRT 连接服务器 6、搭建流媒体服务器 三、使用 ffmpeg 命令进行推流操作 四、使用 ffplay 命令进行拉流操作...五、使用 ffmpeg 命令进行拉流操作 博客总结 : ffmpeg 推流命令 : ffmpeg -re -i input.mp4 -c copy -f flv rtmp://39.105.129.233.../myapp/ -c copy output.flv 一、推流和拉流简介 1、直播推流和拉流操作 FFmpeg 工具可以用于 直播 的 推流和拉流 操作 ; 推流 是 将本地的音视频流推送到流媒体服务器上...入方向配置 TCP 协议 8080 和 1935 端口 的 安全组 ; 设置了该安全组 , 才能在 流媒体服务器 中使用这两个端口 ; 4、使用 WinSCP 上传流媒体服务器软件及配置脚本 WinSCP...此时服务器的流状态显示未 0 ; 五、使用 ffmpeg 命令进行拉流操作 在另一个窗口 , 执行 ffmpeg -i rtmp://39.105.129.233/myapp/ -c copy output.flv
Shared版本中exe的体积相对小很多,是因为它们运行的时候还需要到相关的dll中调用相应的功能 Dev版本用于开发,里面包含了库文件xxx.lib以及头文件xxx.h 三、环境变量的配置 1、将下载的...例如:G:\【1】软件(已经过测试)\ffmpeg-4.0-win64-static\ffmpeg-4.0-win64-static\bin 3、配置完成后运行cmd,输入ffmpeg,若显示如下界面...,则说明配置成功。...四、使用 命令行工具的使用 ffmpeg.exe 用于转码的应用程序: 一个简单的转码命令 将input.avi转码成output.ts,并设置视频的码率为640kbps ffmpeg -i input.avi...-b:v 640k output.ts 具体用法参考: ffmpeg参数中文详细解释 详细的使用说明(英文):http://ffmpeg.org/ffmpeg.html 版权声明:本文内容由互联网用户自发贡献
关于使用rtp推流,TSINGSEE青犀视频团队实际已经研发了很长时间,其中也碰到了不少问题,比如RTP推流客户端无法解析播放,或者遇到不同的报错,但这些目前都已经有了比较完善的解决办法。...在使用RTP推流时,默认ffmpeg使用的打包模式是packetization-mode=1,本文我们和大家分享另一个比较实用的技巧,就是使用ffmpeg配置rtp打包模式。 如何修改打包模式?...关于RTP打包模式的说明如下: 目前ffmpeg默认使用的是1: Not interleaved 模式,针对客户的需要,服务端不支持STAP-A的组包模式,需要每个包单独发送,所以需要配置Single...ffmpeg 提供了h264_mode0配置 可以通过接口av_dict_set进行配置 配置完成后,还有个问题,需要配置pkt size,否则I帧无法完整发送,默认pkt size是1024个字节...配置后抓包: 可以看到非I帧之间没有STAP-A的组包模式了,每个NAL都是单独发送的。同时看到对应的SDP也是packetization-mode=0。
ffmpeg提供的相应的Python API 二、常用的ffmpeg 的python API 1、probe 获取视频文件的详细信息 语法格式: probe(filePath[, cmd="ffprobe...[...]中的内容可选,一般使用默认值。其返回值是一个字典,字典中有两个key-value对。...ffmpeg.input(filename, **ffmpeg_args) ffmpeg.input() 等价与在命令行输入ffmpeg -i ... kwargs 中可以包含的参数有:t、f、acodec...等 一般与output、run联合使用。...等 一般与output、run联合使用。
通过代码的文件结构可以看得出来 1.2 FFmpeg 的编解码模块libavcodec libavcodec中实现了目前多媒体领域几乎所有的编解码格式,可以编码,可以解码,不过有些编码需要使用第三方的编码器...,例如H.264(AVC)编码需要使用x264编码器,H.265(HEVC)编码需要使用x265编码器,mp3(mp3lame)编码需要使用libmp3lame编码器等编码器,ffmpeg本身同时也支持多种编码格式...输出文件output.avi 看似简单的两步主要的工作,其实远远不止是从后缀名为mp4的文件输出后缀名为avi的文件,因为在ffmpeg中,mp4与avi是两种流媒体格式,并不是后缀名所可以决定的,例如上面上的命令行同样可以这样写...1.7 FFmpeg的播放器ffplay FFmpeg不但可以提供转码转封装等功能,同时还提供了播放器相关的功能,使用FFmpeg的avformat与avcodec,可以播放各种媒体文件或者流。...ffplay与ffmpeg在FFmpeg项目中充当的角色基本相同,主要为Demo与测试使用的工具,使用ffplay可以看到一些音视频相关的图像信息,音频的波形信息等。
在线视频市场持续快速增长,越来越多的人观看流媒体在线内容,实时视频的使用量正在飙升,为了能减少存储空间和提升网络带宽的利用率,视频编码压缩技术已经普遍被行业采用。...为了满足如此高的流媒体标准,无论是个人内容提供商、初创企业和行业领先者,都开始意识到高弹性可扩展的云平台在高质量流媒体服务中不可替代的作用。...云实例配置本次测试中,SR1和S6云实例配置如下:图片H.264转码的评测方法我们将使用实现 H.264/MPEG-4 AVC 标准的开源库 libx264和ffmpeg来运行视频编码,测试基准借鉴了vbench...vbench 提供的 15 个输入视频是从Youtube里经过K-means算法筛选,代表了不同分辨率、码率和熵特征的具有代表性的视频源。...为了最大化 ffmpeg 吞吐量,我们运行多个 ffmpeg 进程,数量等于云服务器的可用vCPU数量,同时使用GNU parallel来并行化所有的ffmpeg进程。
;需要转发其他来源的流媒体,例如有选择低转发不具有外网访问能力的摄像头的流数据,或者部分设备不支持需要的流媒体格式,需要进行转码;这时候就会思考,有没有能既清晰又流畅的进行屏幕、视频流的分享呢?...环境部署的环境选择往往会决定最终的使用体验,本次使用了 Lighthouse 轻量应用服务器中国大陆数据中心的服务器进行,目前在售的最低配置提供了 2 虚拟 CPU, 2 GB 内存和 4 MB 下行带宽...该视频 提供的 “1080P 高码率” 的码率仅仅只有 1000 KBps,其中视频码率只有 825 KBps,大家看的不也很开心吗(总之,本文使用下配置环境进行配置:腾讯云 Lighthouse 广州...ffmpeg -y配置在 GitHub 上查看项目配置文件Nginx-RTMP 的配置需写在 nginx.conf 文件中,当前环境下位于 /etc/nginx/nginx.conf。...OBS、ffmpeg 等工具进行注:x11grab 在新版的 ffmpeg 中已被移除,给出ffmpeg推流示例:.
本地开发环境中导入并使用 , 无法在其它系统中使用 ; " 本地编译 " 不涉及 跨平台编译 或 跨体系结构编译 , 因此 不需要考虑目标系统的差异 ; 跨平台 指的是 不同的操作系统平台 , 如...和 函数库 可直接使用 ; " 本地编译 " 常用场景 : 在 Ubuntu 中编译 Linux 中使用的 可执行文件 和 函数库 ; 在 Windows 中编译 Windows 中使用的 可执行文件..., 需要与头文件匹配 ; 在交叉编译中 , 需要使用交叉编译工具链 , 并手动配置编译选项以适应目标系统的要求 , 同时还要提供 符合交叉编译要求的 头文件 和 对应的函数库 ; 3、Android..., -isystem 指定的路径会被编译器认为是系统头文件的路径 , 编译器在编译时会忽略警告信心 ; 二、FFmpeg 指定目标平台的编译配置参数 1、FFmpeg 交叉编译配置回顾 这是在 【Android...FFMPEG 开发】FFMPEG 交叉编译配置 ( 下载 | 配置脚本 | 输出路径 | 函数库配置 | 程序配置 | 组件配置 | 编码解码配置 | 交叉编译配置 | 最终脚本 ) 博客中 , 使用到的
音视频编码格式:通过音视频的压缩技术,将视频格式转换成另一种视频格式,通过视频编码实现流媒体的传输。...2.2 FFmpeg 的基本使用 我们将视频录制完成后,使用视频编码软件对视频进行编码,本项目 使用FFmpeg对视频进行编码 。 ?...将F:\devenv\edusoft\ffmpeg-20180227-fa0c9d6-win64-static\ffmpeg-20180227-fa0c9d6-win64-static\bin目 录配置在...转成gif:ffmpeg -i lucene.avi lucene.gif 官方文档(英文):http://ffmpeg.org/ffmpeg.html 2.2 生成m3u8/ts文件 使用ffmpeg...使用VLC打开m3u8文件,测试播放效果,VLC 是一款自由、开源的跨平台多媒体播放器及框架,可播放大多数多 媒体文件,以及 DVD、音频 CD、VCD 及各类流媒体协议。
ffmpeg在做音视频编解码时非常方便,所以很多场景下转码使用的是ffmpeg,铜鼓通过ffmpeg –help命令操作可以看到ffmpeg常见的命令大概分为六部分: 1. ffmpeg...其中通过ffmpeg --help查看到的help信息是基础的信息,如果想获得高级参数部分,可以通过使用ffmpeg --help long参数来查看,如果希望获得全部的帮助信息,可以同过使用ffmpeg...有时候使用ffmpeg转码,发现无法解析视频文件,或者无法生成视频文件,报一些不支持生成对应的视频文件的错误,这个时候就需要查看当前使用的ffmpeg是否支对应的视频文件格式,需要使用ffmpeg -formats...demux与mux的操作参数是公用的,下面来详细介绍一下这些公用的参数: 通过查看ffmpeg的help full参数,找到AVFormatContext参数部分,在这个参数下面的所有的参数均为封装转换可使用的参数...: 设置音频通道的布局格式 threads: 设置编解码等工作的线程数 4.3 ffmpeg 的基本编转码原理 ffmpeg工具主要用途为编码、解码、转码,常用ffmpeg做的为转码操作,使用
领取专属 10元无门槛券
手把手带您无忧上云