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
相关推荐
Tech-Net2 天前
YT视频怎么下载?2026最新4K/8K超清YT视频下载与批量解析教程
经验分享·音视频·视频编解码·视频下载·视频下载工具·视频解析·视频下载器
FlightYe3 天前
HDR详解
linux·音视频·显示器·视频编解码·hdr
hz567894 天前
2026应急指挥场景视频会议系统架构设计与私有化部署实践
系统架构·音视频·实时音视频·信息与通信·视频编解码
DogDaoDao4 天前
H.266/VVC 视频编解码标准最新优化研究综述
论文·音视频·实时音视频·视频编解码·vvc·vtm·h.266
_Emma_4 天前
【QCOM】CAMSS架构中CSi与CSIPHY驱动结构
linux·图像处理·视频编解码
Tech-Net4 天前
TikTok视频怎么下载?2026最新TikTok无水印下载与批量解析教程
经验分享·音视频·视频编解码·视频处理·视频下载·tiktok视频下载·tiktok视频解析
风落无尘6 天前
《智能重生:从垃圾堆到AI工程师》——第十章 多模态与具身
人工智能·transformer·视频编解码
DogDaoDao8 天前
Android 硬件编码器参数完全指南:MediaCodec 深度解析
android·音视频·视频编解码·h264·硬编码·视频直播·mediacodec
REDcker9 天前
RGB与YUV像素格式详解
音视频·实时音视频·视频编解码·yuv·rgb
Tech-Net10 天前
如何无损下载网页上的视频并保持4K/8K超清画质
经验分享·音视频·教程·视频编解码·视频下载·视频下载工具·网页视频下载