音频排错 · 约 8 分钟

下载的视频没有声音,应该怎么排查?

用最短路径判断下载视频是没有音轨、播放器不兼容、声音输出错误,还是高画质音视频没有正确组合。

下载的视频有画面却没有声音,先不要连续重新下载。最有用的判断是:文件里根本没有可用音轨,还是音轨存在、但当前播放器或声音输出没有播放它。先在同一设备上播放一个确定有声音的本地视频,再用另一个播放器打开问题文件,通常两步就能把范围缩小一半。

先看现象出现在哪里

所有视频都无声,优先查系统音量、蓝牙、AirPlay、HDMI 和播放器静音;只有一个文件在所有播放器中无声,检查文件音轨;换播放器后恢复,则更像编解码器或音轨选择问题。

先确认声音是不是被送到了别的设备

播放视频时再调“媒体音量”,不要只看铃声音量。手机可能仍连接着蓝牙耳机,电脑可能把声音送到没有扬声器的显示器,播放器内部也可能单独静音。画面在当前屏幕出现,并不代表音频一定从同一设备输出。

找一个你之前播放过、确定有声音的本地视频做对照。如果它也无声,先处理设备或系统设置;如果它正常,再把问题文件交给另一个较新的播放器。文件只在某一个播放器无声,说明音轨大概率存在,只是当前软件没有正确解码或选中了错误音轨。

文件名是 MP4,不等于里面一定有声音

MP4 是容器,可以装视频、音频、字幕和元数据,也可以只装视频。MDN 对媒体容器格式的说明列出了 MP4 可使用的多种音视频编解码器。把 .mp4 改名为 .mov 或其他后缀,不会凭空增加音轨,也不会改变文件内部编码。

文件大小同样不能证明有声音。体积很大的高分辨率 MP4 可能只有画面;一个小得多的文件反而可能同时包含 H.264 视频和 AAC 音频。想得到确定答案,需要查看流信息。

电脑上安装 FFmpeg 后,可以只检查音频流:

ffprobe -v error -select_streams a -show_entries stream=codec_name,channels,sample_rate -of default=noprint_wrappers=1 your-video.mp4

命令没有返回音频流时,这个文件本身就没有可播放的声音;返回了 codec、channels 等信息,说明音轨存在,应继续检查播放器兼容性、音轨选择与输出设备。参数含义可以核对 ffprobe 官方文档中的 -select_streams a

为什么高画质视频更容易出现“有画面没声音”

流媒体平台通常不会只准备一个万能文件,而是提供不同清晰度的视频流和音频流,播放器再按设备与网络组合。高分辨率版本尤其可能是独立视频流。如果工具只保存了画面流,却没有把对应音频一起装进最终文件,就会得到能正常播放画面、但没有声音的 MP4。

这与音量无关,也不是把 4K 改成 1080p 就一定能修好。想理解背后的交付方式,可以阅读为什么 4K 视频经常使用独立音频流。真正需要确认的是最终文件同时拥有画面轨与音轨。

在 Pullvio 里只做一次有信息量的对照

Pullvio 的 YouTube 页面提供“视频”和“音频”两种模式。公开视频在“视频”模式得到的 MP4 无声时,可以对同一个已授权链接做一次音频模式测试。如果生成的 MP3 有声音,说明公开来源中存在可用音频,问题更可能在视频结果或播放器;如果 MP3 也失败,就不值得继续重复提交同一个 MP4 请求。

其他当前支持的平台以可用来源视频为主,没有单独的 Pullvio MP3 选择。此时先换播放器,再用 ffprobe 检查。不要通过修改 URL 参数或盲目选择更大的画质标签,试图制造来源中不存在的音轨。

同一公开链接连续出现两次相同结果后,应保留来源 URL、完成时间、所选格式、设备和播放器名称,再通过联系页面反馈。这些信息比十次相同重试更容易定位问题,也能避免无意义地消耗请求。

什么时候转码有用,什么时候没有用

音轨确实存在、但播放器不支持它时,转成更常见的组合可能有效。YouTube 官方的音视频问题排查说明把 H.264 视频与 AAC-LC 音频作为常见建议,并指出同一音频在电脑和移动设备上的表现可能不同。也就是说,“换播放器能听见”与“转码后能听见”都属于兼容性修复。

如果文件根本没有音轨,转码只会得到另一个无声文件。它也无法恢复本来就是静音的来源、找回已经被压缩丢失的细节,更不能突破私人内容、付费墙或 DRM。转码前保留原文件,避免多次处理继续损失画质。

排查到什么程度就应该停止

私人账号、会员内容、已删除帖子、地区限制和必须登录的来源,不属于音频格式故障。Pullvio 不会导入用户会话,也不会绕过访问控制。自己的作品应优先从原始工程或平台官方导出;他人内容则需要权利人提供文件或明确许可。

一条足够可靠的排查顺序是:确认设备能播放其他声音,换一个播放器,检查文件是否有音轨,在支持音频模式时只做一次对照。判断清楚声音丢在哪一层以后,再处理对应问题,而不是反复下载同一个结果。