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

无法使用FFmpeg将FLV文件转换为MP4文件的技术求助

解决FLV转MP4时FFmpeg报「dimensions not set」的问题

错误原因

你的FLV文件视频流未封装明确的分辨率元数据,PotPlayer播放时会从视频帧中自动解析分辨率,但MP4容器要求输出文件头必须提前指定分辨率参数,直接复制流的情况下FFmpeg无法自动补全该信息,因此触发报错。

解决方案

  • 方案1:重新编码视频(推荐,无需手动查询分辨率)
    放弃视频流复制,让FFmpeg重新编码视频时自动检测并设置分辨率,音频保持复制以节省处理时间:

    ffmpeg -i 2.22_xindongfang.flv -c:a copy test.mp4
    
  • 方案2:手动指定分辨率
    若能通过PotPlayer查看视频实际分辨率(右键视频→属性→视频信息),比如分辨率为1920×1080,可手动添加参数指定:

    # 使用scale滤镜指定分辨率
    ffmpeg -i 2.22_xindongfang.flv -acodec copy -vcodec copy -vf scale=1920:1080 test.mp4
    # 或直接用-s参数指定
    ffmpeg -i 2.22_xindongfang.flv -acodec copy -vcodec copy -s 1920x1080 test.mp4
    
  • 方案3:先修复FLV元数据再复制流
    先修复原FLV文件的元数据,让FFmpeg能识别到分辨率后再进行流复制:

    # 修复FLV文件元数据
    ffmpeg -i 2.22_xindongfang.flv -c copy -f flv fixed.flv
    # 转MP4
    ffmpeg -i fixed.flv -c copy test.mp4
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 18:24:25