mat*_*key 2 video android google-chrome ffmpeg html5-video
我想将一些旧的Flash视频转换为1种视频格式,以便内容显示在手机上.我有一些mp4,它在Android上不起作用,特别是在Android 4.3上运行的Chrome 32.
它正在Android 4.3上的Chrome 32上加载mp4文件,但我认为不支持H.256
然后我去了这个网站http://techslides.com/sample-webm-ogg-and-mp4-video-files-for-html5/
而mp4视频适用于Android/Chrome.
我使用VLC检查编解码器,它们看起来一样
H264 - MPEG-4 AVC (part 10) (avc1)
Resolution: is different (working one is 560x320
Resolution: mp4 not working is 640x480
Framerate: working is 30, not working is 12
Decoded format: Planar4:2:0 YUV
Run Code Online (Sandbox Code Playgroud)
然后我用ffmpeg搜索了编解码器,我发现有一个名为compatible_brands的属性:mp42icomavc1
这与具有此属性设置为兼容的非工作mp4不同:mp42mp41
文件大小也完全不同.这可能是一个问题.
当我加载http://html5test.com时,Android浏览器上的Chrome表示H.264不支持MPEG-4.它没有说容器的任何内容.
好吧这里是一些源代码,我认为android上的chrome不支持mp4文件,但是当我在运行Android 4.3的Sony Xperia Tablet上运行的Chrome 32上加载以下内容时.我有一个mp4文件,我转换为webm,但铬仍然无法运行它.它是8 MB所以也许尺寸是一个问题....这个mp4有不同的大小和框架.除此之外,我只看到与上述不同的兼容版本.
<html>
<head>
<meta name="viewport" content="width=device-width">
</head>
<body>
<h4>This is mp4 video</h4>
<video id="small" controls="controls" autoplay="autoplay" preload="auto" name="small">
<source src="http://techslides.com/demos/sample-videos/small.mp4" type="video/mp4">
</video>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
只是为了跟进.用于视频的H.264编解码器和用于声音编解码器的AAC包装在MP4容器中.根据维基百科,使用H.264编解码器的mp4视频文件扩展名有5种不同的"配置文件".谷歌希望转向免版税的Webm,但看起来他们只有一半的时间.无论如何,使用'Main'配置文件编码的mp4视频在Apple iPhone上工作,但不是我测试过的任何Android移动设备:Sony Xperia,Google Nexus,Samsung Galaxy和Motorola MotoG.
将配置文件更改为"约束基线配置文件"允许视频在所有这些Android设备以及Apple iPhone上播放.
ffmpeg是一个有很多开关的命令行程序.最简单的方法是下载Handbrake并从预先滚动的编码设置列表中选择"Universal".
这意味着我可以使用1个视频文件获得更广泛的支持.
它甚至适用于在Android上运行的Firefox,虽然我读过Firefox和Opera肯定不支持这种编解码器.不确定可能是设备,而不是浏览器.
| 归档时间: |
|
| 查看次数: |
11763 次 |
| 最近记录: |