当我将电影投射到 Chromecast 时,我听不到声音。
所以我决定将原始视频从eac3
音频编码转换为mp3
.
ffmpeg -i media-original.mkv -vcodec copy -acodec mp3 media-mp3.mkv
但是现在 Chromecast(我正在使用 Chrome 通过 SMPlayer 进行 Chromecast)无法完全播放媒体并说
chromecast.smplayer.info.says
Playback failed
所以它从无法播放声音到完全无法播放媒体。
所以我做了两个媒体文件的比较
ffprobe media-original.mkv 2>&1 > /dev/null
ffprobe media-mp3.mkv 2>&1 > /dev/null
左侧没有音频,右侧根本无法播放文件:
所以我可以看到的主要区别是原版有eac3
(Chromecast 不能使用)这解释了为什么音频是静音的。但是正确的 - 未能完全发挥 - hasstereo
而不是6 channels
and has ENCODER: Lavc58.54.100 libmp3lame
。
这是什么意思,我如何使用 FFmpeg 正确地将音频从 更改eac3
为mp3
而不切换到stereo
?
Matroska (
.mkv
) 未列为Google Cast 支持的媒体中支持的媒体容器格式之一。由于您的视频是 H.264,您可以使用 MP4。您只需重新编码音频,因为 eac3 未列为受支持的音频格式:
如果它不喜欢 5.1 音频通道布局,则缩混为立体声:
为了帮助您选择合适的媒体类型字符串,您可以使用
ffprobe
. 例子:level 30
表示3.0级。