7

文件来自使用 ffmpeg 转换为 mp4 的 Nikon D3s (mov)。使用所有其他文件(avi、flv、mp4 等)没有问题

请参阅文件:http ://shootitlive.s3.amazonaws.com/output.mp4 (当从不同的主机提供服务时,Chrome 中的相同非工作结果,并且始终在 Safari 和 Firefox、Chromium 中使用 flash)

/usr/local/bin/ffmpeg -i nonworking.MOV -acodec libfaac -ab 128k -vcodec libx264 -preset slow -crf 30 -threads 0 -s 768x576 -aspect 1.33333333333 -ar 48000 output.mp4

找不到任何奇怪的东西(但真的不知道要寻找什么):

ffmpeg -v 5 -i filename -f null - 2>error.log`

有任何想法吗?

4

3 回答 3

17

我认为您的问题是像素格式。

您的 Chrome 错误报告中,工作视频 (working.mp4) 具有 pix_fmt=yuv420p。非工作视频 (qt_output.mp4) 具有 pix_fmt=yuv j 420p。在我的测试中,将有问题的视频转换为 yuv 可以播放。将工作视频转换为 yuvj 使其无法播放。

我不确定为什么我对像素格式的分析与 Alek 在 Chrome 错误报告中的不同,但这对我来说有所不同。

尝试添加-pix_fmt yuv420p到您的 ffmpeg 命令。

于 2012-03-09T23:43:08.887 回答
3

请阅读chromium bug #117368,其中开发人员解释说 yuvj420p 将不会很快得到支持:

事实上,铬不支持 yuvj420p。

通常我们不支持使用不是很广泛的视频格式(或编解码器),因为支持负担(维护代码质量、修复错误、安全审查等)与用户利益不成比例(相对于我们的其他一切)可以把我们的时间/精力花在上面)。

以 WorkingAsIntended 结束。如果该格式变得更广泛流行,我们可以重新考虑包括对它的支持。如果这里还有其他我遗漏的问题,请重新打开。

于 2012-05-17T20:28:52.687 回答
-1

这里没有什么可以做的,这是您链接到原始文件的浏览器问题。您确实需要在 HTML 文档中使用 HTML5/FLASH/JS 或其他视频播放器。

这适用于所有支持 HTML5 的浏览器:

<!DOCTYPE html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <video height="250" width="320">
        <source src="http://shootitlive.s3.amazonaws.com/output.mp4" type="video/mp4" />
    </video>
</body>
于 2012-03-06T21:19:31.983 回答