美文网首页
FFmpeg流媒体(6)

FFmpeg流媒体(6)

作者: Goning | 来源:发表于2019-03-01 18:52 被阅读0次

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流媒体(6)

    FFmpeg生成HDS流 1、HDS参数说明 如上所示,主要包含四个参数: window_size:HDS切片信息...

  • 直播项目笔记(六)

    FFmpeg + 流媒体协议 FFmpeg FFmpeg简介 FFmpeg是一个非常强大的音视频处理库,包括视频采...

  • 线程池及红黑树复习--Apple的学习笔记

    FFmpeg也算是入门了。回顾我之前理解的流媒体开发就是指FFmpeg是错误的,因为流媒体开发主要是指网络视频,否...

  • FFmpeg 推流总结

    关于FFmpeg的相关资料国内比较少而且很乱,在此整理。 1、FFmpeg发送流媒体的命令(UDP,RTP,RTM...

  • FFmpeg流媒体(3)

    FFmpeg录制HTTP流 1、seekable参数 如上,设置seekable为1,使FFmpeg可以对HTTP...

  • FFmpeg流媒体(2)

    FFmpeg录制RTSP流 1、查看RTSP参数 2、TCP方式录制RTSP直播流 如上,使用TCP方式拉流并保存...

  • FFmpeg流媒体(1)

    FFmpeg发布与录制RTMP流 1、rtmp_app参数 通过该参数设置推流发布点,录制命令如下: 或发布流命令...

  • FFmpeg流媒体(4)

    FFmpeg录制和发布UDP/TCP流 1、TCP与UDP参数说明 2、TCP监听接收流 执行完命令后,FFmpe...

  • FFmpeg流媒体(5)

    FFmpeg推多路流 1、管道方式输出多路流 如上,音频编码为AAC,视频编码为libx264,输出格式为FLV,...

  • FFmpeg流媒体(7)

    FFmpeg生成DASH流 1、DASH参数说明 2、window_size与extra_window_size参...

网友评论

      本文标题:FFmpeg流媒体(6)

      本文链接:https://www.haomeiwen.com/subject/mkkzyqtx.html