ffmpeg hls记录持续时间是浮点数而不是整数
ffmpeg hls recording the duration is float instead of integer
我正在尝试使用以下命令以 .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 中会发生这种情况,因为它在旧版本中工作正常?
从 HLS 版本 3 开始,EXTINF
持续时间表示为浮点值。只有版本 2 和之前的版本才要求它们是整数。
我正在尝试使用以下命令以 .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 中会发生这种情况,因为它在旧版本中工作正常?
从 HLS 版本 3 开始,EXTINF
持续时间表示为浮点值。只有版本 2 和之前的版本才要求它们是整数。