4

每当我使用 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

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

4

2 回答 2

1

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

于 2013-03-10T18:20:11.423 回答
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
于 2013-03-11T22:03:25.930 回答