【发布时间】:2012-03-24 19:59:30
【问题描述】:
我使用分段器将我的 MPEG 2 Ts 文件分段为一系列用于 HTTP 直播的媒体片段
以及每个片段的开始时间都在前一个片段之后 (例如:段的开始时间:00:00,00:10,00:20,00:30,...)
(在 Ubuntu 中)
问题是:
当我使用 ffmpeg 对媒体段之一进行转码时(例如 800k bps 到 200k bps)
转码后的媒体片段的开始时间会重置为0
例如:当我对第三段进行转码时,
段的开始时间更改为:00:00,00:10,00:00,00:30,...
播放转码后的媒体片段会导致我的播放器卡住
有没有什么办法可以将媒体文件转码到相同的开始时间?
我猜是ffmpeg重置了段的PTS(presentation timestamp)
但我不知道如何解决它......
这是我的 ffmpeg 命令(转码为 250k bps)
=============================
ffmpeg -y -i sample-03.ts -f mpegts -acodec libfaac -ar 48000 -ab 64k -vcodec libx264 -b 250k -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 -maxrate 250k -bufsize 250k -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 \
-qmin 10 -qmax 51 -qdiff 4 -level 30 -aspect 320:240 -g 30 -async 2 sample.ts
=============================
救命!
谢谢
【问题讨论】:
标签: ffmpeg http-live-streaming transcode