![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多媒体技术
徐步小兵
这个作者很懒,什么都没留下…
展开
-
流媒体技术概述
一、流媒体定义所谓流媒体,是指采用流式传输的方式在Iternet播放的媒体格式。流媒体又称流式媒体,是将普通多媒体,如音频、视频、动画等,经过特殊编码,使其成为在网络中使用流式传输的连续时基媒体,以适应在网络上边下载边播放的方式。其具有连续性、实时性、时序性三个特点。在这个过程中,网络上传输的一系列相关的数据包称为流(Stream)。二、流媒体特点1.启动延时大幅度地缩短用户不用等待所有内...原创 2019-05-08 11:06:42 · 6853 阅读 · 0 评论 -
GStreamer应用03——动态pipeline
在运行中创建pipeline,而不是在运行前一次性的创建完成。basic-tutorial-3.c#include <gst/gst.h> /* Structure to contain all our information, so we can pass it to callbacks */typedef struct _CustomData { GstElemen...原创 2019-07-17 15:51:19 · 200 阅读 · 0 评论 -
交叉编译opencv2.4.9后缺少libopencv_ocl库
gcc编译安装的opencv库:arm-linux-gcc交叉编译的opencv库:对比发现交叉编译后显然缺少了libopencv_ocl库由于交叉编译时CMAKE选项配置必须去掉:去掉BUILD_opencv_ocl去掉WITH_OPENCL所以少了该库!但是如果不去掉这两个选项,CMAKE配置不通过,不能进行交叉编译!那么问题来了:交叉编译的libopencv_ocl库怎么...原创 2019-07-16 20:54:44 · 432 阅读 · 3 评论 -
GStreamer应用02——GStreamer概念
手动用一个个element来搭建一个pipeline,工作流程:GStreamer的基本组成是elements,这些elements把数据从source经过filter传到sink。官网文件:basic-turtorial-2.c#include <gst/gst.h> int main(int argc, char *argv[]) { GstElement *pi...原创 2019-07-16 17:46:26 · 255 阅读 · 0 评论 -
GStreamer应用01
学习资源:GStreamer学习资源汇总一、Ubuntu14.04搭建GStreamer开发环境安装命令:sudo apt-get install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gs...原创 2019-07-16 16:10:14 · 315 阅读 · 0 评论 -
FFmpeg的libswscale常用函数分析
致敬雷神:FFmpeg源代码简单分析:libswscale的sws_getContext()FFmpeg里面的sws_scale库可以在一个函数里面同时实现:1.图像色彩空间转换;2.分辨率缩放;3.前后图像滤波处理。libswscale库常用函数有三个:sws_getContext():初始化一个SwsContext。sws_scale():处理图像数据。sws_freeConte...原创 2019-07-12 10:03:41 · 580 阅读 · 3 评论 -
FFmpeg结构体分析
致敬雷神:FFMPEG中最关键的结构体之间的关系学习ffmpeg结构体,简单总结以便后续查阅。AVFrameAVFrame结构体一般用于存储原始数据(即非压缩数据,例如对视频来说是YUV,RGB,对音频来说是PCM),此外还包含了一些相关的信息。比如说,解码的时候存储了宏块类型表,QP表,运动矢量表等数据。编码的时候也存储了相关的数据。因此在使用FFMPEG进行码流分析的时候,AVFrame...原创 2019-07-11 19:45:17 · 177 阅读 · 0 评论 -
GStreamer应用04——时间管理
实现pipeline查询流的总时间和当前播放的时间,在流内部实现跳转功能GstQuery是向一个element或者pad询问一些信息的机制。在这个例子中我们会问pipeline是否支持跳转功能(实时流是不支持跳转功能的),如果支持跳转功能,那么在播放了10s之后跳转到另一个位置。在前面的教程里,我们一旦建立pipeline并运行后,我们就是在等待ERROR或者EOS消息。这个例子里面我们修改...原创 2019-07-18 11:26:04 · 219 阅读 · 0 评论 -
GStreamer基础
参考资源:Gstreamer 官方用户手册GSstreamer是一个用于开发流式多媒体应用的开源框架,更像是一个播放器。但是它主要的优点却是在于: GStreamer框架是基于插件的,所有的插件都能够被链接到任意的已经定义了的数据流管道中。GStreamer的管道能够被GUI编辑器编辑, 能够以XML文件来保存。这样的设计使得管道程序库的消耗变得非常少上面这个图就是个典型的meida播放器的...原创 2019-07-15 15:22:07 · 1441 阅读 · 0 评论 -
YUV+RGB+H264+RTSP总结
YUVYUV 是传统的黑白电视,没有uv数据即是黑白电视。YUV更便于视频信号的压缩、传输和存储从视频采集的角度来说,一般的视频采集芯片输出的码流一般都是YUV数据流的形式,而从视频处理(例如H.264、MPEG视频编解码)的角度来说,也是在原始YUV码流进行编码和解析。YUV,分为三个分量,Y:表示明亮度(Luminance或Luma),也就是灰度值;而 U 和 V :表示的则是色度(Ch...原创 2019-04-17 17:43:44 · 7722 阅读 · 4 评论 -
如何判断视频数据是H264编码
H264详细介绍:H264编码总结 u8 is_h264_file(char *filename){ AVFormatContext *ifmt_ctx = NULL; int ret = 0; if ((ret = avformat_open_input(&ifmt_ctx, filename, 0, 0)) < 0) { printf( "Could...原创 2019-09-22 16:12:36 · 11741 阅读 · 0 评论