Easyx图形库应用(视频编解码和网络传输)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

本身easyx只是一个图形库,我们可以在上面做各种各样图形的开发。不管是仿真,还是教学、游戏等场景,都有很多的应用。还有一部分同学,可能会用它做多媒体开发,特别是视频的开发。既然是视频开发,那么就会涉及到视频编码、解码、采集、网络传输、硬件加速等内容。下面我们就来分别说一说怎么用库+easyx做视频开发。

1、libx264

**libx264是一个编码库。主要是把yuv文件编码成h264文件。**当然,这种编码的方式,是纯cpu的软件编码。ffmpeg没有自带的h264编码器,所以通常大家还是习惯用libx264做编码。如果是嵌入式平台,一般会用硬件加速来实现h264编码。除了h264之外,还有h265,也是类似的道理。

不过有一点需要注意下,libx264编码之前,需要先把文件转成yuv420才能开始压缩编码,而不是大家认为的RGB彩色文件。yuv只有rgb文件一半大小。目前已经有很多编译好的libx264库可以使用,下面的地址就是其中之一,

复制代码
https://github.com/ShiftMediaProject/x264/releases

2、ffmpeg

ffmpeg是经典的视频处理库。它可以处理视频,也可以处理音频,还是处理不同格式文件之间的转换。实际使用的时候,大家还是比较习惯用它来做解码动作,特别是各种已经生成的h264、h265文件,用ffmpeg解码还是很方便的。官方也提供了不同平台编译好的库,有兴趣的同学可以下载下来看一看,

复制代码
https://www.ffmpeg.org/download.html

3、opencv

opencv的作用,我们也说过,一方面它可以提供各种图象处理的算法。另外一方面,我们可以用它来采集图象,比如说usb camera的采集等等。当然,如果是具体的平台,比如windows,可以用direct show采集,linux平台则用v4l2采集。只是用opencv采集,会比较简单方便一点。

另外一方面,前面说过,h264的编码需要rgb转成yuv。这一点用cv::cvtColor很容易实现。

复制代码
https://opencv.org/releases/

4、rtsp

rtsp是一种网络协议。大家可以理解成,等音视频编码好之后,怎么用协议把这些音视频送出去。那么rtsp&rtp就是负责帮助我们来实现这些事情。这类协议的学习,一方面可以通过阅读相关协议资料来实现;另外一方面可以通过查看开源代码和抓包的形式来处理,这样效果更好一些。比如,github上就有一些开源代码,讲解如何通过rtsp传递固定h264文件。大家如果稍微结合一下libx264库和opencv库,很容易可以用来做rtsp推流处理。

复制代码
https://github.com/PHZ76/RtspServer/tree/master

5、soc mpp/mdp

上面说的都是软件编解码。但如果是嵌入式设备,很多时候是需要硬件编解码的帮助。比如说,usb camera拿到数据之后,先mjpeg decode成yuv文件,然后encode成h264文件,最终通过rtsp送出去。**这里面decode和encode很多时候,都是硬件ip实现的,ffmpeg也只是提供一个框架。**不少ipcam都是通过类似mpp、mdp的平台来实现的。比如,海思就是mpp。这是大家都比较喜欢海思的原因,用起来比较简单,大部分都是硬件加速的内容,cpu只负责配置就行。事实上,不少ipcam soc的cpu都是arm a7,自身也确实做不了什么复杂的音视频运算。

复制代码
https://wiki.t-firefly.com/zh_CN/Core-3559AV100-JD4/mpp.html
相关推荐
该用户可能存在4 天前
HandBrake - 开源免费视频格式转换/压缩转码压制工具
视频编解码·视频·转码·h.264·格式工厂
AF_INET64 天前
RV1126B开发板学习篇(一)MPP的编译和基础使用
经验分享·音视频·嵌入式·视频编解码·rv1126·mpp编解码·rockchipmpp
TSINGSEE23 天前
画面模糊、花屏、遮挡?EasyGBS视频质量诊断让监控故障主动上报
音视频·视频编解码·画面冻结·花屏检测·画面抖动·蓝屏检测·偏色检测
TSINGSEE24 天前
融合与重构:从EasyDSS一站式视频云平台看流媒体技术如何重塑企业交互边界
重构·音视频·视频编解码·智能摘要·智能字幕
willhuo24 天前
纯C#实现了RTSP摄像头拉流并转存MP4文件
开发语言·c#·视频编解码
zymill24 天前
hysAnalyser和flvAnalyser对比
音视频·实时音视频·视频编解码·h.264·智能电视·视频分析·mpeg-2
憧憬成为原神糕手1 个月前
音视频学习一
学习·音视频·视频编解码
q5507071771 个月前
格式转换专家视频格式转换教程
视频编解码·视频处理·格式工厂
TSINGSEE2 个月前
国标GB28181视频质量诊断:EasyGBS服务插件EasyVQD快速识别花屏、蓝屏、画面冻结抖动
人工智能·音视频·实时音视频·视频编解码·视频质量诊断·花屏检测·画面抖动
ℳ₯㎕ddzོꦿ࿐2 个月前
告别延迟:HLS (m3u8) 实时转 FLV 全栈方案实战
视频编解码