ffmpeg 在输出中设置时间码偏移

ffmpeg set timecode offset in output

我正在尝试创建时间码从特定偏移量开始的 .ts 文件。假设存在一个输入文件 input.ts。 运行 上面的 ffprobe 显示 "start: 8636.xxx"。现在,我想创建一个具有额外开始时间偏移的副本,使用:

ffmpeg -i input.ts -someoption output.ts

我所知道的用于操纵时间的选项,例如 -copyts -ss -时间码

行不通。是否有允许我向视频流添加额外时间偏移的选项?

编辑:

这里是原始ts文件的ffprobe输出:

Duration: 00:06:03.52, start: 6204.163600, bitrate: 3880 kb/s
  Program 12103
    Metadata:
      service_name    : ?ProSieben
      service_provider: ?Unitymedia
    Stream #0:0[0x21f]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x220](ger): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 192 kb/s
    Stream #0:2[0x222](ger): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, stereo, fltp, 384 kb/s
  No Program
    Stream #0:3[0x224]: Subtitle: dvb_teletext
Unsupported codec with id 94215 for input stream 3

这里是运行 ffmpeg -i input.ts -copyts -output_ts_offset 2428.6 output.ts:

之后新建文件的ffprobe输出
Duration: 00:06:03.36, start: 8634.319544, bitrate: 4372 kb/s
  Program 1
    Metadata:
      service_name    : Service01
      service_provider: FFmpeg
    Stream #0:0[0x100]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, progressive), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x101](ger): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 384 kb/s

我对流格式本身了解不多。但是,我可以看到,新创建的输出文件包含较少数量的流,并且一些细节已更改,例如 "tv, progessiv" 而不是 "tv, top first"。

我想要一份与原件完全相同的副本,但要有其他时间戳。这可能吗?

使用

ffmpeg -i input.ts -copyts -output_ts_offset 5 output.ts

由于 FFmpeg 将添加默认 1.4s 到开始时间,上面的参数应该减去 1.4s,所以 3.6.

或者您可以直接使用

ffmpeg -i input.ts -copyts -muxdelay 0 -muxpreload 0 -output_ts_offset 5 output.ts

应用 5 秒偏移量。

我需要为 output.ts 文件设置我自己提供的开始时间。我刚刚删除了 coptyts 选项。

ffmpeg -i input.ts -muxdelay 0 -muxpreload 0 -output_ts_offset 5 output.ts

已更新

但是使用上面的命令,hls stream 没有工作。所以我使用了以下命令。

ffmpeg -i input.ts -muxdelay 0 -c:v copy -c:a copy -muxpreload 0 -output_ts_offset 5 output.ts

不要使用音频和视频编解码器的组合参数-c:av copy。它没有按预期工作。因此,请改用 -c:v copy -c:a copy