段不包含同步帧

时间:2013-03-09 12:59:03

标签: ffmpeg http-live-streaming video-encoding

每当我使用Apple的mediafilesegmenter分割视频时,请使用以下命令:medifilesegmenter video.ts -t 10。除第一个以外,我得到以下错误:

segment does not contain sync frame

在拆分之前,我已使用以下命令将.MP4版本转换为.TS:

avconv -y -i video.mp4 -f mpegts -acodec libmp3lame -ar 48000 -ab 64k -s 640x480 -vcodec libx264 -b 64k -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -subq 7 -trellis 0 -refs 0 -coder 0 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 200k -maxrate 64k -bufsize 64k -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 30 -qmax 51 -qdiff 4 -level 30 -aspect 640:480 -g 30 -async 2 sample_64.ts

有谁能告诉我为什么会出现这个错误?

2 个答案:

答案 0 :(得分:1)

这是因为在10秒钟需要我拍照。找到您的视频帧率。如果你想要10秒的片段,你需要每10秒钟一帧。所以你可以每秒,2秒,5秒或10秒插入一个。为此,请将sc_threshold设置为0,将keyint_interval设置为frame_rate * [1,2,5,10之一],具体取决于所需的关键帧间隔。

答案 1 :(得分:1)

我通过更新到最新版本的ffmpeg而不是使用avconv来解决问题。我最终用来转换MP4视频的命令:

ffmpeg -y -i video.mp4 -f mpegts -acodec libmp3lame -ar 48000 -ab 64k -s 640x480 -vcodec libx264 -b 150k -flags +loop -cmp chroma -partitions +parti4x4+partp8x8+partb8x8 -subq 7 -trellis 0 -refs 0 -coder 0 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 200k -maxrate 150k -bufsize 150k -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 30 -qmax 51 -qdiff 4 -level 30 -aspect 640:480 -g 30 -async 2 sample_150.ts