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
相关推荐
西***634710 小时前
从解码到呈现:高清监控系统核心设备的功能与价值
视频编解码
小咖自动剪辑4 天前
小咖批量剪辑助手:视频批量自动剪辑与混剪处理软件(Windows)
人工智能·实时互动·音视频·语音识别·视频编解码
小咖自动剪辑4 天前
小咖批量剪辑助手:Windows 视频批量自动剪辑与混剪工具
人工智能·音视频·语音识别·实时音视频·视频编解码
小咖自动剪辑5 天前
免费超强图片压缩工具:批量操作 + 高效传输不失真
人工智能·音视频·语音识别·实时音视频·视频编解码
TEL189246224775 天前
IT6251FN:LVDS转DisplayPort 1.1a发射机
音视频·实时音视频·视频编解码
Echo_NGC22375 天前
【神经视频编解码NVC】传统神经视频编解码完全指南:从零读懂 AI 视频压缩的基石
人工智能·深度学习·算法·机器学习·视频编解码
TEL189246224775 天前
IT6517BFN:单芯片DisplayPort转VGA转换器,集成MCU
音视频·实时音视频·视频编解码
TEL189246224775 天前
IT6516BFN:单芯片DisplayPort转VGA转换器,集成MCU
音视频·实时音视频·视频编解码
TEL189246224776 天前
IT6569:单芯片四通道DisplayPort 1.4转HDMI 2.1转换器,带嵌入式MCU
音视频·实时音视频·视频编解码
Jacen.L6 天前
如何选择视频测试编码器? -- 编码器测试序列选择方法论
音视频·视频编解码