繁体   English   中英

来自 Android 手机的 mp4 无法播放为 html 视频

[英]mp4 from Android phone won't play as html video

我正在尝试播放用 Android 手机拍摄的视频。 我希望它在台式机或笔记本电脑上的 Chrome 中播放。 当我运行代码时,我得到了视频控件。 当我播放视频时,我可以听到声音,但视频部分只是空白背景。 我可以让其他视频播放得很好,但我手机上的视频不行。 在下面的代码中,持续时间报告正确(1.8 秒),但高度和宽度报告为零。 (Big Buck Bunny 的测试视频播放良好。)

我错过了什么? (是的,不是专业程序员,只是HS物理老师……)

 <html> <body> <video width="400" controls id="theVideo"> <source src="https://noragulfa.com/random/movie3.mp4" type="video/mp4"> <source src="http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_1080p_30fps_normal.mp4" type="video/mp4"> </video> </body> <script> document.getElementById("theVideo").addEventListener('loadedmetadata', function(e) { console.log(this.videoWidth, this.videoHeight, this.duration); }); </script> </html>

视频 (movie3.mp4) 包含 HEVC/H.265 (1920x1080@30fps) 视频 stream。

大多数浏览器目前不支持 HEVC/H.265 在撰写本文时,只有 Safari 有支持。 如果设备有硬件解码,Edge 也可以播放 HEVC/H.265。

请考虑改用AVC/H.264VP8 或 VP9 为了将来参考, AV1也是一个很好的选择,但目前支持还不是很好。

您的代码非常好并且工作正常,问题在于您正在使用的视频源,正如您在下面的代码中看到的那样,我只是用另一个URL替换您的视频URL并且它工作正常 最好的解决方案是更改您的视频源

 <html> <body> <video width="400" controls id="theVideo"> <source src="http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4" type="video/mp4"> <source src="http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4" type="video/mp4"> </video> </body> <script> document.getElementById("theVideo").addEventListener('loadedmetadata', function(e) { console.log(this.videoWidth, this.videoHeight, this.duration); }); </script> </html>

如果需要,您可以在任何免费网站上托管您的视频,并将URL用于您的代码,或者尝试在线查找同一视频的另一个Url

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM