You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FFMPEG制作的视频上传YouTube后HD版本时长显示异常问题求助

  • 该问题核心是FFmpeg默认合并视频时的时间基精度不足,输出文件容器头部记录的时长元数据被截断为整数秒,YouTube HD转码时优先读取该元数据导致进度条时长显示错误,实际视频帧完整所以拖到末尾仍能播放剩余内容。
  • 解决操作步骤:
    1. 合并时优先使用concat滤镜而非concat demuxer做流拷贝,合并命令中强制指定视频轨道时间基为毫秒级,统一音频参数避免时长漂移,参考命令如下:
      ffmpeg -f concat -safe 0 -i 你的分片列表文件.txt -c:v libx264 -crf 23 -c:a aac -b:a 192k -video_track_timescale 1000 -ar 48000 -ac 2 输出视频.mp4
      其中-video_track_timescale 1000参数会将视频轨道的时间刻度设置为1000,每个时间单位对应1毫秒,完整保留所有分片的非整数时长,不会产生累计误差。
    2. 合并完成后验证输出文件时长准确性,执行以下命令读取实际时长:
      ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 输出视频.mp4
      若返回时长与预期一致可直接上传,若存在元数据偏差可执行以下命令重写时长元数据:
      ffmpeg -i 输出视频.mp4 -c copy -duration 255 修正后输出视频.mp4
  • 注意事项:如果所有分片编码参数完全一致需要做流拷贝合并,需提前将所有分片的时间基统一为1/1000后再执行合并操作,避免累计精度损失。

内容的提问来源于stack exchange,提问作者Mark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 21:09:03