当前位置: 首页 > news >正文

html video标签mp4格式视频显示不出来的问题

       今天在使用yolov8做视频目标检测时,发现生成的mp4格式文件,通过播放器能正常打开,但是通过video标签显示在界面上的时候,却怎么都显示不出来。通过查找资料,发现。原来是video标签对于mp4格式的文件需要编码方式是h264格式。而我们通过程序生成的视频文件格式为mpeg4格式。如图所示:

解决方案如下:

1、确认哪个文件能正常显示

通过测试发现,相同的文件不同的编码,h264能在video标签正常显示,而mpeg4却不能显示。所以我们最终的解决方案就是编码方式的转换将mpeg4格式转换为h264格式编码

2、转换方式

因为使用的变成语言是python,所以通过python程序将两者转换:代码其实可以通过ai工具生成:

参看代码如下:使用的是opencv:

import cv2
import os
def convert_mp4_to_h264_opencv(input_file, output_file=None):"""使用OpenCV进行视频转换"""if output_file is None:name, ext = os.path.splitext(input_file)output_file = f"{name}_h264.mp4"try:# 读取视频cap = cv2.VideoCapture(input_file)# 获取视频参数fps = int(cap.get(cv2.CAP_PROP_FPS))width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))# 设置H.264编码器fourcc = cv2.VideoWriter_fourcc(*'H264')# 如果H264不可用,尝试其他编码器if fourcc == 0:fourcc = cv2.VideoWriter_fourcc(*'X264')if fourcc == 0:fourcc = cv2.VideoWriter_fourcc(*'avc1')out = cv2.VideoWriter(output_file, fourcc, fps, (width, height))while True:ret, frame = cap.read()if not ret:breakout.write(frame)cap.release()out.release()print(f"转换成功!输出文件: {output_file}")return Trueexcept Exception as e:print(f"OpenCV转换失败: {e}")if __name__ == '__main__':convert_mp4_to_h264_opencv("1.mp4")

运行结果如下:

转换之后能正常显示

3、总结

        其实很多问题,对于现在的程序员来说,都能够在网上找到很好的解决思路。主要还是设计和思路问题以及解决问题的能力,这才是最关键的个人技能。

http://www.dtcms.com/a/409854.html

相关文章:

  • Unity 虚拟仿真实验中设计模式的使用 ——策略模式(Strategy Pattern)
  • 企业级网站欣赏新乡个人网站建设
  • 设计模式——单例模式
  • C++设计模式之结构型模式:外观模式(Facade)
  • PaddleX服务化部署精度低于命令行调用的原因及解决方案
  • 新型域名前置攻击利用Google Meet、YouTube、Chrome及GCP构建流量隧道
  • 使用 C# 设置 Excel 单元格数据验证
  • python 做 网站移动互联网终端设备的主要技术指标是什么
  • Claude Code 的“AI优先”
  • 海外网站推广的公司app开发者需要更新
  • Unity-状态机复用
  • 沈阳铁西做网站公司成都移动网站建设
  • AI提示词应用
  • 【汽车篇】AI深度学习在汽车零部件外观检测——机电轴承的应用
  • 智能网联汽车技术仿真教学软件-沉浸式学习,实战化训练
  • 深圳市网站备案百度seo哪家公司好
  • 商城网站主机在线制作论坛网站
  • 网站建设扌金手指六六wordpress开源可视化编辑
  • SpringData
  • linux docker 离线 安装
  • MyBatis常见面试题
  • Docker(一)—— Docker入门到精通:从基础概念到容器管理
  • python(44) : docker compose基于基础镜像部署python服务
  • VMware+RockyLinux+ikuai+docker+cri-docker+k8s+calico BGP网络 自用 实践笔记(四)
  • 深入理解 Docker:从入门到实践
  • 实战排查:Java 解析 Excel 大型 导致内存溢出问题的完整解决过程
  • 【实录】使用 Verdaccio 从零搭建私有 npm 仓库(含完整步骤及避坑指南)
  • 物联网人体红外检测系统详解
  • 关于Unix Domain Socket的使用入门
  • 机器视觉系统中工业相机的常见类型及其特点、应用