当我尝试将 HEVC 视频提取为 .hevc 和 .h265 扩展名时,ffmpeg 增加了帧速率

当我尝试将 HEVC 视频提取为 .hevc 和 .h265 扩展名时,ffmpeg 增加了帧速率

我尝试从 mp4 文件中提取视频轨道。以下是视频轨道的元数据:

Stream #0:0[0x1](und): Video: hevc (Main 10) (hev1 / 0x31766568), yuv420p10le(pc, progressive), 3832x1600 [SAR 1:1 DAR 479:200], 29891 kb/s, 23.98 fps, 23.98 tbr, 24k tbn (default)
Metadata:
  handler_name    : VideoHandler
  vendor_id       : [0][0][0][0]
Side data:
  DOVI configuration record: version: 1.0, profile: 5, level: 6, rpu flag: 1, el flag: 0, bl flag: 1, compatibility id: 0

我使用以下命令来提取视频轨道:

ffmpeg -i myfile.mp4 -c copy onlyvideo.h265

视频的输出文件元数据变为如下形式:

  Stream #0:0: Video: hevc (Main 10), yuv420p10le(pc), 3832x1600 [SAR 1:1 DAR 479:200], 25 fps, 25 tbr, 1200k tbn

帧速率增加了,导致视频比实际视频更短。

这只发生在我将视频提取到 .h265 和 .hevc 扩展名时。当我使用 .mp4 或 .mov 时没问题,但我需要 .h265 或 .hevc 来使用 Dolby Vision MP4 多路复用器工具进行重新多路复用。我也尝试使用 Dolby 的解复用器工具,但它有同样的问题(我认为 Dolby 也使用 ffmpeg 来提取视频)

我已经尝试修复帧速率并设置视频时间尺度,但这些方法都不起作用。有人能帮我吗?


对于 FFProbe 输出

myfile.mp4 时长

ffprobe -select_streams v:0 -of default=noprint_wrappers=1 -show_entries packet=pts_time,duration -read_intervals "%+#10" myfile.mp4

pts_time=0.000000
duration=1001
pts_time=0.166833
duration=1001
pts_time=0.083417
duration=1001
pts_time=0.041708
duration=1001
pts_time=0.125125
duration=1001
pts_time=0.333667
duration=1001
pts_time=0.250250
duration=1001
pts_time=0.208542
duration=1001
pts_time=0.291958
duration=1001
pts_time=0.458792
duration=1001

myfile.mp4 时间基

ffprobe -v 0 -of compact=p=0:nk=1 -show_entries stream=time_base -select_streams v:0 myfile.mp4

1/24000|

onlyvideo.h265 时长

ffprobe -select_streams v:0 -of default=noprint_wrappers=1 -show_entries packet=pts_time,duration -read_intervals "%+#10" onlyvideo.h265

pts_time=N/A
duration=48000
pts_time=N/A
duration=48000
pts_time=N/A
duration=48000
pts_time=N/A
duration=48000
pts_time=N/A
duration=48000
pts_time=N/A
duration=48000
pts_time=N/A
duration=48000
pts_time=N/A
duration=48000
pts_time=N/A
duration=48000
pts_time=N/A
duration=48000

并且 onlyvideo.h265 时间基

ffprobe -v 0 -of compact=p=0:nk=1 -show_entries stream=time_base -select_streams v:0 onlyvideo.h265
1/1200000

相关内容