【问题标题】:FFMPEG mkv to mp4 conversion lacks audio in HTML5 playerFFMPEG mkv 到 mp4 的转换在 HTML5 播放器中缺少音频
【发布时间】:2018-03-09 11:05:37
【问题描述】:

我使用ffmpeg 使用此命令行将mkv 文件转换为mp4

ffmpeg -i input.mkv -c copy file-1.mp4

生成的mp4Linux Mint's Xplayer 上播放良好(视频和音频)。但是上传file-1后,它没有音频播放。所以我上传了另一个mp4 file-2,一个我不需要转换的文件,它可以毫无问题地播放视频和音频。所以无论file-1 发生了什么,似乎都与我对ffmpeg 的使用有关。

我正在使用的播放器名为afterglow。但是HTML5 player 处理这两个文件的方式相同:file-1 & file-2

有谁知道为什么ffmpeg 转换后的文件在线播放时没有声音?是否有不同的转换命令可以确保转换后的mkv files 将通过在线播放器播放声音?

【问题讨论】:

  • @LordNeckbeard - 你需要逐帧输出吗?还是只是初始启动和结束,忽略帧转换?
  • @LordNeckbeard - 我已经更新了我的帖子,其中包含指向转换输出的链接。同样,我只是在使用在线播放器时才会失去声音。从我的硬盘播放该文件时会发出声音。

标签: html audio video ffmpeg


【解决方案1】:

我发现了几个问题:

  1. 输入有 DTS 音频。虽然 MP4 支持它,但我猜它不适用于 HTML5。您必须转换为 AAC。在-c copy 之后添加-c:a aac

  2. 您的ffmpeg 已旧。 FFmpeg AAC 编码器已改进您的版本缺少。通过downloading a recent version避免任何其他潜在问题。

  3. 添加-movflags +faststart。这将在编码后移动文件中的一些信息,以便更快地开始播放;否则它必须在播放前下载整个视频。

示例命令:

ffmpeg -i input.mkv -c copy -c:a aac -movflags +faststart output.mp4

【讨论】:

  • 所以,这是正确的命令: ffmpeg -i input.mkv -c copy -c:a aac -movflags +faststart file-1.mp4 ?我也会获取更新的 ffmpeg。
  • @fmc 是(2 年后)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-28
  • 1970-01-01
  • 2011-05-20
  • 2016-02-02
  • 2014-11-04
  • 2022-12-25
  • 1970-01-01
相关资源
最近更新 更多