FFmpeg流媒体(6)

FFmpeg生成HDS流


1、HDS参数说明
ffmpeg -h muxer=hds
Muxer hds [HDS Muxer]:
    Default video codec: h264.
    Default audio codec: aac.
HDS muxer AVOptions:
  -window_size       <int>        E........ number of fragments kept in the manifest (from 0 to INT_MAX) (default 0)
  -extra_window_size <int>        E........ number of fragments kept outside of the manifest before removing from disk (from 0 to INT_MAX) (default 5)
  -min_frag_duration <int64>      E........ minimum fragment duration (in microseconds) (from 0 to INT_MAX) (default 1e+07)
  -remove_at_exit    <boolean>    E........ remove all fragments when finished (default false)

如上所示,主要包含四个参数:

  • window_size:HDS切片信息窗口大小
  • extra_window_size:HDS切片信息窗口之外保留的切片文件个数
  • min_frag_duration:最小切片时间
  • remove_at_exit:在HDS封装结束时删除所有文件

2、window_size参数控制文件列表大小
./ffmpeg -i 111.mp4 -c copy -f hds -window_size 4 output

如上命令表示,设置历史文件窗口大小为4,也就是说,HDS文件列表中只保存4个文件。命令执行完成后,会生成output目录,目录包含三种文件,具体如下:

  • index.f4m:索引文件,主要为F4M参考标准中mainfest相关、Metadata信息等
  • stream0.abst:文件流相关描述信息
  • stream0Seg1-Frag:相似规则文件切片,文件切片中均为mdat信息

如果不设置window_size参数来限制窗口大小,则使用如下命令:

./ffmpeg -i 111.mp4 -c copy -f hds output

3、extra_window_size参数控制文件个数
ffmpeg -re -i 111.mp4 -c copy -f hds -window_size 4 -extra_window_size 1 output
ffmpeg -re -i 111.mp4 -c copy -f hds -window_size 4 -extra_window_size 3 output

4、其他参数

remove_at_exit参数在FFmpeg退出时会删除所有生成的文件,如果min_frag_duration参数的值设置的比较小并且设置在使用codec copy时不会有效果,则需要在重新编码时将GOP间隔设置的比min_frag_duration时间短即可。


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 超高速音视频编码器用法: ffmpeg [options] [[infile options] -i infile...
    吉凶以情迁阅读 4,663评论 0 4
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,186评论 6 13
  • 音视频一些笔记 序列参数集SPS:作用于一系列连续的编码图像; 图像参数集PPS:作用于编码视频序列中一个或多个独...
    zhouluyao阅读 1,480评论 0 2
  • 教程一:视频截图(Tutorial 01: Making Screencaps) 首先我们需要了解视频文件的一些基...
    90后的思维阅读 4,795评论 0 3
  • 因为下了雨的缘故,最近两天的温度没有以前那么燥热。读苏霍姆林斯基的《我们的家长学校》,深受启发,尤其是“家庭要有高...
    像话读书爻阅读 1,572评论 3 10