mp4文件在网页无法打开,出现黑屏?

阅读 4.8k
4 个回答
引用:https://www.likecs.com/show-1...

MP4 视频文件来说,Chrome 只能支持 H.264编码 方式视频文件的播放,而由于 MP4 视频文件可能包含多种编码,因此,较好的解决方案就是对上传的 MP4 视频文件进行转码,将非 H.264 编码方式的 MP4 视频文件转换成 H.264 编码方式的视频,这样就能够保证所有的 MP4 视频文件在 Chrome 上正常播放~

1、ffmpeg 转码

网上 Google 了一圈 ,发现很多方法都是推荐采用 ffmpeg 工具进行转码,通过使用 ffmpeg,就可以轻松使用命令行进行视频转码~

如果你的电脑是 mac,那么 ffmpeg 的安装非常简单,只需要下面一句命令行就搞定了

brew install ffmpeg

我们也可以通过npm进行安装ffmpeg,并且在node中使用

npm install ffmpeg # 安装
const ffmpeg = require('ffmpeg');

通过下面的命令,我们就可以轻松的将 MP4 视频文件转换成 H.264 编码方式的视频

ffmpeg -i input.mp4 -vcodec h264 output.mp4 //h264默认转码

然而,在实际的业务中,我们并不能总要求用户只上传 H.264 编码方式的 MP4 视频文件,更好的方式是能够实现 MP4 视频文件的自动转码而无需用户自己进行转码,因此,最后我们采用了前端 MP4 视频编码格式判断+后台视频文件转码的方案解决~

我看你是直接暴露的本地地址:Remote Address: 127.0.0.1:7890, Chrome v94 以后做了限制。
希望这篇文档能帮助到你:https://kebingzao.com/2021/10...

这个mp4像是有什么错误,用ffmpeg转码之后原本9秒的视频变成5秒了

一开始我以为是视频格式问题,后来发现好像并不是,视频一开始多出来的4s,不是很能理解。

image.png

可以看到视频容器时长为9s,但音视频时长为5s

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题