最新内容

同三维T100UA 单路USB3.0高清多接口采集卡

1路全接口输入:HDMIVGASDIDVI分量AVS端子切换输入,USB3.0免驱,高清1080P60,带SDK开发包:VisualBasic、VisualC++、Delphi、OpenCV、Java、QT、Python、C#、Labview等多语言产品简介T100UA一款全功能的高清视频采集盒,支持HDMIDVIVGASDIYPBPRCVBSSVIDEO切 …

ffmpeg开发播放器学习笔记 - 认识YUV

该节是ffmpeg开发播放器学习笔记的第三节《认识YUV》简单的讲YUV是一种图像和视频的编码方式,RGB通过三种颜色来表达现实世界中的各种颜色,YUV通过亮度与色度饱和度来表示颜色。RGB很好理解,它更直观。从学生开始就认识绘画的颜料是用三种颜色调配来的,汽车的油漆颜色也是RGB三种颜色调配而来的。YUV的出现有它的历史意义但也是一种必然。它基于人眼对亮度 …

视频编解码学习之二:编解码框架

1. 压缩码流语法:码流中各个元素的位置关系01001001…图像编码类型(01),宏块类型(00),编码系数1001等语义:每个语法元素所表达的意义。例如:图像编码类型2. 编码层次序列(Sequence)图像组(Group of Pictures,GOP)图像(Picture)条带(Slice)宏块(Macroblock,MB)块(Block)3. 码流 …

UDP的可靠性传输

UDP和TCP的区别Tcp和udp都是属于TCPIP协议(传输层协议)。TCPTCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。 一个TCP连接必须要经过三次握手,断开连接时需要四次挥手。TCP的可靠性主要体现在什么方面呢?1. 应用数据被分割成TCP认为最合 …

ffmpeg入门篇-linux编译安装ffmpeg

为什么说在 linux 上编译安装 ffmpeg 最复杂?因为编译之前我们要安装很多扩展库,每个人的环境不同,要安装的编解码库或多或少都有些区别。linux下安装 ffmpeg,我们以 centos7 编译安装为例。先看下系统环境[root@localhost vagrant]# cat etcredhat-releaseCentOS Linux relea …

Qt推流(视频文件/视频流/摄像头/桌面转流媒体rtmp+hls+webrtc)

一、前言说明推流直播就是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号从手机端,电脑端,摄影机端打包传到服务器的过程。“推流”对网络要求比较高,如果网络不稳定,直播效果就会很差,观众观看直播时就会发生卡顿等现象,观看体验比较糟糕。主流推送协议有RTMP、HLS、SRT等。RTMP是目前最主流的流媒体传输协议,对CDN支持良好,实现难度较低 …

FFmpeg功能命令汇总

前言 如此强大的FFmpeg,能够实现视频采集、视频格式转化、视频截图、视频添加水印、视频切片、视频录制、视频推流、更改音视频参数功能等。通过终端命令如何实现这些功能,Richy在本文做一记录,以备之后查阅。 注意:下面一一列举的命令,未归类整理,命令参数供参考。如果参数有误,大家可对照文章-FFmpeg参数命令,https:www.jianshu.comp …

实现浏览器播放rtsp视频流的解决方案

有同学问道:需要实时播放摄像头rtsp视频流,而浏览器不能直接播放,怎样解决?实现这个需求可以通过插件或者转码来实现。要实现这个目的,可以采用的方案非常得多,有商业的也有开源的,这里主要列举一些开源的方案。这里的方案都是我尝试过了的,有些成功,有些没成功。但是因为每个项目情况不同,这次没成的方法,换个项目也许就能成。C++音视频开发学习资料:点击莬费领取→音 …

Linux 交叉编译FFmpeg库

我们都知道java是跨平台的,一套代码,多个平台都可以正常使用,而C,C++ 却不是,可能在windos上正常编译使用,但是在linux不能使用,为了让C,C++的代码能够在Android系统上使用,就需要用NDK 去编译,然后将编译后的库 移植到Android 上使用,这就是交叉编译。接下来我们就编译一下FFmpeg库。首先说明一下我的环境,编译的系统用的 …