ubuntu-14.04 - 将 mkv 转换为 mp4 时,音频丢失

标签 ubuntu-14.04 mp4 video-encoding mkv

我已使用以下命令将 .mkv 文件转换为 .mp4:

sudo avconv -i input.mkv -codec copy output.mp4

我正在尝试在浏览器中播放 mp4 文件,但没有播放音频。视频播放器显示它处于静音状态,但该按钮被禁用,因此您无法将其关闭静音。

其他 mp4 正在工作,但它们不是从 .mkv 转换而来的。任何帮助将非常感激。

最佳答案

在 MP4 容器中,browsers usually support only H.264 video and either AAC or MP3 audio .您的 avconv 的输出命令应该显示您的视频和音频的格式;在“Input #0”下查找以“Stream #”开头的行。如果您的音频还不是 AAC 或 MP3,您将需要对其进行转换,而不仅仅是将其复制到 MP4 容器中。您可以使用如下命令复制视频并仅转换音频:

avconv -i input.mkv -c:v copy -c:a libmp3lame -q:a 2 output.mp4
-c:v copy将复制视频,和-c:a libmp3lame将使用 libmp3lame 将音频转换为 MP3编码器。 -q:a 2设置音频质量;使用较低的数字以获得更好的质量(和更大的文件)。你可以改为 convert to AAC audio如果您的 avconv配置为启用非自由编解码器和高质量的 AAC 编码器。

关于ubuntu-14.04 - 将 mkv 转换为 mp4 时,音频丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30882158/

相关文章:

c++ - MP4 文件的帧/像素数据偏移量?

c++ - 一个设备的多个 CUDA 上下文——有什么意义吗?

compression - H.264 或视频编码器通常如何计算两帧的残差图像?

linux - MongoDB 数据目录/data/db 未找到

java - Bash 脚本无法将 Java 程序作为 cron 作业运行

node.js - NodeJS 程序失败,无输出退出

video - FFmpeg 视频过滤器损坏 mp4 文件

mysql - 通过 shell 脚本从 mysql 创建虚拟主机文件

php - 来自 PHP 的 mp4 - 不在 HTML5 视频标签中播放

video - 将视频文件转换为等长的图像序列?