代码之家  ›  专栏  ›  技术社区  ›  Vinay

ffmpeg setpts在不重新编码的情况下应用统一偏移量

  •  2
  • Vinay  · 技术社区  · 7 年前

    我有一系列要转换的视频 .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。我希望能够理想地复制视频/音频流。有没有办法对音频/视频流应用统一的PTS偏移 TS 不重新编码整个文件?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Gyan    7 年前

    这样做的名义方法是

    ffmpeg -y -i 1.mov -c copy -output_ts_offset 4.54 -muxdelay 0 -muxpreload 0 1.ts
    

    如果需要对 n 流,然后您需要生成 n 每个输出具有1个映射流的输出及其唯一偏移量。将所有输出组合成一个 -copyts 补充。