16:9], 512 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default) Metadata: handler_name : Bento4 mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 32 kb/s (default) Metadata: handler_name : Bento4
Packaging HLS/DashDASH打包 选择Bento4还是Shaka打包? Bento4用作H264 / H265 的HLS / DASH打包中非常流行。 在选择之初我们进行了一些调研,在Bento4官方讨论中,其开发人员提到Bento4专注于基于ISO标准的各类流格式,而Webm不属于这一类。 此外,我们尝试Bento4生成一些VP9 + AAC流,却无法在我们的Chrome浏览器中正常播放和运行。相反,Shaka Packager可以涵盖我们所有的使用场景。
视频传输系统的高级概述 播放器及设备 理想情况 多包解决方案 播放器对多 codec 的列表支持性 一个有 DRM 的理想世界 通用媒体格式 CMAF 边缘逻辑(规范统一上述规则) 具有原始流的多包 用 shaka 和 Bento4 图 2 具有原始逻辑流程的多包 用 shaka 和 Bento4 封装 HLS 和 DASH 需要注意的是,fvboTV 已经使用 shaka 和 Bento4 为每种类型的客户建立自定义解决方案。 FvboTV 自定义的解决方案包括: 在容器中完成打包,该容器将转码比特率和编解码器的 s3 目录作为输入; 利用来自 google 和 bento4 的开源框架 shaka 封装器进行封装。
要将普通 MP4 转换成 FMP4 可以下载 Bento4。然后用命令行输入如下命令就可以了。 mp4fragment ./friday.mp4 . /friday.fmp4 Bento4 /bin 目录中有非常多好用的 mp4 工具,/utils 目录中都是 python 实用脚本。 工具 除了上面介绍的 Bento4,还有很多其他好用的工具。
虽然FFmpeg不能直接为DASH的HLS或MPD文件生成变体播放列表,但我们也可将其他开源工具(如Bento4)添加到简单的工作流程中,并生成包括DRM和字幕的HLS和/或DASH输出。 实际上,本期教程中的一部分内容详细介绍了如何使用Bash脚本设置监视文件夹,该脚本使用FFmpeg和Bento4将放入文件夹的文件编码并打包,生成HLS和DASH的多比特率梯形图。
音视频开发书籍推荐 《在线视频技术精要》,《音视频开发进阶指南》,《Android音视频开发》,《FFmpeg从入门到精通书籍》 《视频编码全角度详解》 其他常用软件 我个人不常用,在此列出,方便有需要的人使用 Bento4
目前市面上有多种打包器,其中最有名的包括: FFmpeg 谷歌的Shaka Packager GPAC的mp4box Bento4的mp4dash 它们都是由命令行驱动,最基本的操作就是在视频文件中指定打包器
对于开发人员级别的制作者,MulticoreWare、MainConcept和Beamr都有SDK,并且讲义详细介绍了如何使用FFmpeg和Bento4产生视频输出。
EXTINF 其后 URL 指定的媒体片段时长(秒) EXT-X-DISCONTINUITY 一般用于视频流中插入广告,表示前面的片段与后面不一样,让客户端做好准备 制作 去网上随便下载一个视频,用 Bento4
这本书还描述并解释了几种与 FFmpeg 一起工作的工具,例如 ImageMagick、Bento4、GhostScript、WebP 工具等。