FFmpeg HLS保存原始时间戳

时间:2016-04-18 13:44:23

标签: ffmpeg timestamp hls transcoding video-conversion

我将视频转码为HLS,使用以下命令一切正常:

ffmpeg -i source -vcodec nvenc -acodec copy -f ssegment -segment_list playlist.m3u8 -segment_list_flags +live -segment_time 60 -segment_list_size 10 out%03d.ts

但是当我想保存原始时间戳并将 -copyts 键添加到我的commnad时,我每0.7秒收到一个新的.ts文件(但我将其设置为60秒 -segment_time 60 )。
如何通过转码功能将原始时间戳保存到HLS?

更新:我尝试了此命令,时间戳保存正常:

ffmpeg -i source.ts -vcodec nvenc -acodec copy -f hls -hls_time 10 -hls_list_size 5 -copyts playlist.m3u8

但是当我尝试为RTP输入流运行此命令时,我收到以下错误:“打开编码器输出流#0:2时出错 - 可能是不正确的参数,如bit_rate,rate,width或height”

1 个答案:

答案 0 :(得分:1)

请试试这个:

  

ffmpeg -y -i source -c copy -copyts -f mpegts - 1> 'ffmpeg -y -vcodec   nvenc -acodec copy -f hls -hls_time 10 -hls_list_size 5 -copyts   playlist.m3u8'