Video ffmpeg设置应用统一的偏移量,无需重新编码
我有一系列视频正在从Video ffmpeg设置应用统一的偏移量,无需重新编码,video,ffmpeg,offset,pts,Video,Ffmpeg,Offset,Pts,我有一系列视频正在从.mov转换为.ts,然后为其创建HLS播放列表。我能够计算出任何给定视频的音频和视频流的结束点,并在转换序列中的后续视频时应用该结束(累积)偏移量。例如: ffmpeg -y -i 1.mov \ -filter:a "asetpts=PTS-STARTPTS+367534" \ -filter:v "setpts=PTS-STARTPTS+363000" \ -codec:v libx264 -crf 18 -preset veryfast \ -acod
.mov
转换为.ts
,然后为其创建HLS播放列表。我能够计算出任何给定视频的音频和视频流的结束点,并在转换序列中的后续视频时应用该结束(累积)偏移量。例如:
ffmpeg -y -i 1.mov \
-filter:a "asetpts=PTS-STARTPTS+367534" \
-filter:v "setpts=PTS-STARTPTS+363000" \
-codec:v libx264 -crf 18 -preset veryfast \
-acodec aac -muxdelay 0 1.ts
这是可行的,但需要相当数量的CPU。我希望能够理想地复制视频/音频流。有没有办法在不重新编码整个文件的情况下,为
.ts
文件的音频/视频流应用统一的pts偏移量?实现这一点的基本方法是
ffmpeg -y -i 1.mov -c copy -output_ts_offset 4.54 -muxdelay 0 -muxpreload 0 1.ts
如果需要对
n
流应用不同的偏移量,则需要生成n
输出,每个输出使用一个映射流及其唯一偏移量。remux将所有输出合并为一个,并添加了-copyts。这看起来很明显,现在您已经将其布置成这样(facepalm)。我会尽力回复你的!对于输出,我可以明确地找到如何使其达到我创建两个单独的.ts文件的位置(一个仅包含视频,一个仅包含音频),但知道如何在一个带有复杂过滤器的单个命令中实现这一点吗?不用担心,如果没有-可以肯定地通过尝试和错误找出它ffmpeg-y-i 1.mov-map 0:v-c拷贝-输出\u ts_偏移量4.54-muxdelay 0-muxpreload 0 1v.ts-map 0:a-c拷贝-输出\u ts_偏移量4.41-muxdelay 0-muxpreload 0 1a.ts