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

使用FFmpeg转换DVD至MP4时出现警告且无声音的问题求助

使用FFmpeg转换DVD至MP4时出现警告且无声音的问题求助

我来帮你搞定这两个问题——警告提示和无音频的问题,一步步来:

一、解决警告提示的问题

你遇到的警告是因为使用QSV硬件加速时,没有明确指定必要的硬件设备参数,FFmpeg自动启用了兼容旧命令的默认值,现在我们调整命令,把这些参数明确写出来就能消除警告:

原来的命令依赖FFmpeg的默认兼容行为,修改后的命令会明确初始化QSV硬件设备并指定加速输出格式:

ffmpeg -init_hw_device qsv=hw -hwaccel qsv -hwaccel_output_format qsv -i VTS_01_1.vob -vf yadif=hw_upload -c:v h264_qsv -global_quality 15 -preset medium -c:a aac -b:a 256k VTS_01_0.mp4

关键参数说明:

  • -init_hw_device qsv=hw:明确初始化QSV硬件设备,给设备命名为hw,替代默认的自动设备选择
  • -hwaccel_output_format qsv:指定硬件加速后的输出格式为QSV,避免FFmpeg自动推断的兼容警告
  • -vf yadif=hw_upload:把视频帧上传到硬件后再做去隔行处理,配合QSV加速能保持效率

这样修改后,那两条 deprecation 警告就会消失了。

二、解决无声音的问题

从你的输入文件信息来看,音频流是Stream #0:2[0xa0],但原来的命令可能因为输入里有一个dvd_nav_packet数据流(Stream #0:0),导致FFmpeg没有正确选中音频流。我们可以通过-map参数明确指定要包含的视频和音频流:

整合两个问题的完整解决命令:

ffmpeg -init_hw_device qsv=hw -hwaccel qsv -hwaccel_output_format qsv -i VTS_01_1.vob -vf yadif=hw_upload -c:v h264_qsv -global_quality 15 -preset medium -c:a aac -b:a 256k -map 0:v -map 0:a VTS_01_0.mp4
  • -map 0:v:强制选择第0个输入文件的所有视频流
  • -map 0:a:强制选择第0个输入文件的所有音频流

这样FFmpeg就能正确识别并转换你的pcm_dvd音频为aac格式,嵌入到最终的MP4文件里了。如果你想更精准,也可以直接指定音频流索引-map 0:2,不过0:a的写法更通用,能自动适配所有音频流场景。

备注:内容来源于stack exchange,提问作者Eric

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 08:45:28