ffmpeg不要改变持续时间

时间:2016-02-27 12:38:58

标签: ffmpeg stream video-streaming hls

我尝试使用以下代码将 UDP 流(由DVB信号生成)转换为 HLS m3u8文件:

ffmpeg -i udp://239.1.2.1:60001 -acodec aac -strict -2 -vcodec libx264 -hls_wrap 100 -f hls /var/www/html/ts/1.m3u8 

并输出m3u8文件:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:3
#EXT-X-MEDIA-SEQUENCE:66
#EXTINF:0.960000,
21.ts
#EXTINF:2.080000,
22.ts
#EXTINF:2.400000,
23.ts
#EXTINF:1.760000,
24.ts
#EXTINF:2.080000,
20.ts

我尝试使用选项-segment_time 10在此文件中将目标持续时间更改为10,但目标持续时间在m3u8文件中没有变化,是否有人可以帮我解决此问题?

1 个答案:

答案 0 :(得分:1)

我用代码解决了这个问题:

ffmpeg -i udp://239.1.2.4:60004?fifo_size=50000000 -acodec copy -vcodec copy -preset ultrafast -flags -global_header -f hls -hls_time 20 -hls_wrap 5 /var/www/html/ts/4.m3u8

将此选项添加到ffmpeg修复问题

-preset ultrafast -flags -global_header