解决问题记录:opencv保存的mp4(mp4v格式)视频不能使用浏览器打开或者说不能通过网络传输

7 篇文章 0 订阅
6 篇文章 0 订阅

题外话:其实是可以转成其他格式的,比如avi,mov,但是有些浏览器可能不兼容,所以必须用mp4.

1.方法:使用h264或者x264编码的视频,但是linux不支持这种编码方式,需要安装libx264-dev,ubuntu上的命令为apt-get install libx264-dev;问题:在 centos上找不到这个名字的安装包,其他安装包还没找

待完成

a.根据官方文档下libx264的解决方案,执行对应操作,遇到了警告中的错误,但是运行yum remove nasm && hash -d nasm 没找到软件包

解决:根据官方文档安装yasm和nasm。这个博客解决了nasm没安装成功的问题,原来是没有配环境变量啊

  • image

问题未解决,怀疑是要使用源码版opencv才可以使用这个

2.方法:python调用c++版本的opencv;问题:编译不知道能不能成功?还有就是这个安装包不是每个服务器上都有,编译很困难。

3.方法:用python-ffmpeg替换opencv;问题:保存图片的时候只能先保存到磁盘然后调用,时间可能会比较慢。将图片保存为数组的方式没有找到合适的参数

找ffmpeg保存为array的参数 git的issue是个好东西

4.方法:调用子进程启动ffmpeg;问题:这种方法很慢,而且启动外部进程不能监控他的完成度。

相似问题(https://www.codenong.com/34024041/

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用OpencvSharp打开MP4视频并进行操作,可以按照以下步骤进行: 1. 首先,确保已正确安装并配置了OpencvSharp库。可以从OpencvSharp的官方网站下载并按照说明进行安装。 2. 导入相应的命名空间,并创建一个VideoCapture对象来读取视频文件。例如: ```csharp using OpenCvSharp; // 打开视频文件 var capture = new VideoCapture("video.mp4"); ``` 3. 检查VideoCapture对象是否成功打开视频文件。可以使用IsOpened方法来检查。如果成功打开视频文件,则可以继续进行后续操作。例如: ```csharp // 检查是否成功打开视频文件 if (!capture.IsOpened()) { Console.WriteLine("无法打开视频文件。"); return; } ``` 4. 在一个循环中,从VideoCapture对象中读取每一帧,并对每一帧进行处理。可以使用Read方法来读取下一帧。例如: ```csharp // 读取视频帧 using (var frame = new Mat()) { while (capture.Read(frame)) { // 在这里对每一帧进行操作 // 可以使用frame变量进行处理,例如显示、保存或进行图像处理操作 } } ``` 5. 处理完所有帧后,释放VideoCapture对象并关闭视频文件。例如: ```csharp // 释放VideoCapture对象并关闭视频文件 capture.Release(); ``` 通过以上步骤,就可以使用OpencvSharp打开MP4视频并进行操作了。可以根据实际需求来对视频帧进行处理,如显示到窗口、保存为图像文件或进行图像处理操作等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值