我正在尝试使用.m3u8
格式的以下命令记录rtsp流。
~/bin/ffmpeg -r 15 -i rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov -codec copy -hls_list_size 65535 -hls_time 2 -g 2 "./1/live.m3u8"
以上工作正常与旧版本的ffmpeg(< 3.0)和m3u8文件内容相似,
live.m3u8 与旧ffmpeg
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:2
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:2,
live0.ts
#EXTINF:2,
live1.ts
#EXTINF:2,
live2.ts
#EXTINF:0,
live3.ts
#EXT-X-ENDLIST
注意持续时间是整数。
但是当我构建新的ffmpeg3.0并运行相同的命令时,持续时间会改变为flot某些东西,
live.m3u8 使用新的ffmpeg3.0
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:4
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:2.000000,
live0.ts
#EXTINF:2.000000,
live1.ts
#EXTINF:2.000000,
live2.ts
#EXTINF:2.000000,
live3.ts
#EXTINF:2.000000,
live4.ts
#EXTINF:3.875000,
live5.ts
#EXT-X-ENDLIST
我需要使用ffmpeg 3.0生成持续时间为整数变量的ts
文件。
为什么会在ffmpeg 3.0中发生这种情况,因为它在旧版本中运行良好?
答案 0 :(得分:1)
从HLS版本3开始,EXTINF
持续时间表示为浮点值。它们必须只是版本2和之前的整数。