我使用一个片段器将我的 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(演示时间戳),
但我不知道该如何解决...
以下是我的 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
============================
帮帮我!
谢谢!