视频编解码
文章平均质量分 75
武爱敏
世上无难事,只要肯登攀
展开
-
Intel OMAF install and compile note
1.server/DockFilesepel-release-7-13.noarch.rpm CHANGE toepel-release-7-14.noarch.rpm RUN wget -O - ${YASM_REPO} | tar xz && \CHANGE toRUN wget -O - ${YASM_REPO} --no-check-certificate | tar xz && \RUN wget ${CURL_REPO} &&a...原创 2022-02-28 15:50:29 · 436 阅读 · 0 评论 -
在Docker中安装Intel OWT 进行webrtc直播
在Docker中安装Intel OWT 进行webrtc直播一.准备工作1.操作系统CentOS7.6,验证Docker是否安装,sudo docer info,2.网络环境一定要找一台能连接到外网的机器,因为在安装中的过程中会下载一些国外的软件。二.开始安装1.生成镜像(如果不是在docker中安装,请忽略本步)$ sudo docker run -itd --name owt-hevc --privileged=true --net=host -v /home:..原创 2021-03-08 23:48:26 · 1085 阅读 · 0 评论 -
Linux(ubuntu, linuxmint)系统下编译VLC
系统linuxming 19.3,virtualbox machine.1.基本步骤参考:https://wiki.videolan.org/UnixCompile/$ git clone git://git.videolan.org/vlc.git$ cd vlc$ ./bootstrap2. 编译第三库$ sudo apt-get build-dep vlc使用推...原创 2020-03-09 00:56:50 · 1159 阅读 · 1 评论 -
SRT互联网传输设备技术分享
SRT互联网传输设备技术分享前 言序 言Chapter 1. 什么是SRT?1.1. SRT 联盟1.2. SRT传输技术1.3. SRT的典型应用模式1.3.1. 点对点单向传输和视频互动1.3.2. 点对多点传输1.3.3. 视频流协议转换与分发Chapter 2. SRT协议解析2.1. SRT工作原理2.2. SRT握手模式2.2.1. Caller模式2.2....转载 2020-02-18 12:29:51 · 1525 阅读 · 0 评论 -
linux系统下 USB 摄像头1080分辨率采集帧率低问题的解决方法
linux系统上一般使用 video4linux2来操作系统摄像。1.安装一个 v4l2-ctrl工具:sudo apt install v4l-utils2.查看摄像头支持的视频参数sudo v4l2-ctl --all --list-formats-ext显示信息参考如下(这是我的摄像头,不同的摄像头会有区别):------ioctl: VIDIOC_ENUM...原创 2019-11-05 18:04:22 · 9800 阅读 · 0 评论 -
基于FMS的RTMP负载均衡实现方法
http://www.adobe.com/devnet/adobe-media-server/articles/authorization-access-plugins.html转载 2014-11-24 15:01:57 · 6037 阅读 · 0 评论 -
H.264-AVC视频编码原理及实现(六)
六X264代码结构6.1整体结构6.2 Encoder 函数6.3运动估计ME原创 2012-03-05 15:02:49 · 9097 阅读 · 1 评论 -
H.264/AVC 学习琐记(-)
1 参考图像列表:P片中的帧间编码从fref0中选择参考图像,B片中的帧间编码宏块可从fref0和fref1中选择参考图像。前者是前向参考图像列表,后者是后向参考图像列表。 2 片片的存在是使得各片之间编码相互独立,限制了误码的扩散和传输,因为同一片中,编码参考,如MV等采用了差分编码(基于前一个值进行编码,对于当前值编码,仅编码当前值和前一值的差值)。但片的存在,也使得片与片原创 2012-03-09 11:33:38 · 8350 阅读 · 0 评论 -
Windows下编译X264多线程版本
这一次的文章将分析X264的多线程过程,也可以说是并行编码过程。 1. 编译并行编码的x264从X264的帮助命令行可以看到,添加--threads项可以调整运行的线程数,可是当我完成X264编译,视图对手头的YUV进行编码的时候,发现在自己的双核计算机上,只能发挥50%的效率,即使使用--threads n 也无济于事,提示就是没有打开pthread支持。Pthreads定义了一套转载 2012-05-08 14:33:49 · 10149 阅读 · 0 评论 -
mp4文件格式解析
mp4文件格式解析,为demux准备的代码这部分代码个人觉得还布整洁,因为没机会整理,所以前段时间删除了。一位网友请求重新发表,于是我在整理一下发上来了//filename mp4_boxes.cpp#include iostream>#include fstream>#include string>#include cstring>#include转载 2013-08-14 22:58:51 · 8715 阅读 · 1 评论 -
H.264-AVC视频编码原理及实现(五)
五H.264/AVC编码5.1编码原理图对比上图和基本原理图,我们会发现只是多了一个Fitler,那么H.264和MPEG-2编码之间的区别只是在于这一个Filter吗? H.264和MPEG-2编码效率的主要提升在于以下几方面的主要区别:n 帧内预测编码n 多帧参考n ME时宏块和ME时细化宏块,子宏块比较,¼像素MEn原创 2012-03-05 14:51:23 · 12889 阅读 · 0 评论 -
H.264-AVC视频编码原理及实现(七)
七实例解析× 降低已经编码视频流的码率:仅修改量化系数,重新进行熵编码。× Mpeg-2转码H.264: 1 直接使用Mpeg-2中的运动矢量。 2 在Mpeg-2运动矢量的基础上增加H.264的多帧搜索和子宏块搜索。× 已编码视频叠加LOGO: 1 对LOGO区域和对LOGO边缘宏块进行重新编码。 2 对其它区域使用原来的编原创 2012-03-05 15:15:07 · 8738 阅读 · 0 评论 -
H.264-AVC视频编码原理及实现(三)
三MPEG-2编码3.1 I帧编码MPEG-2编码宏块大小为16x16,分解4个8x8Y数据块和2个CrCb数据块。I帧编码后的重构见下节。3.2 B,P帧编码B,P帧以16x16宏块大小为单位进行ME,其后操作和I帧相同;对于所有帧都要在量化进行重构,重构后的重构帧作为其后编码帧的参考帧。3.3 P帧MB的运动估计P帧进行前向预测,参考其编码的I帧或P帧。在对原创 2012-02-28 11:21:31 · 11152 阅读 · 2 评论 -
H.264-AVC视频编码原理及实现(四)
四FFMPEG代码结构4.1 FFMPEG简介FFmpeg is a complete solution to record, convert and stream audio and video. It includes libavcodec, the leading audio/video codec library. FFmpeg is developed under Linux,原创 2012-02-28 11:43:19 · 11257 阅读 · 1 评论 -
关于MPEG-2中的Skip宏块
在FFMEPG的代码中判断Skip宏块的代码如下: /* compute cbp */ cbp = 0; for(i=0;i if (s->block_last_index[i] >= 0) cbp |= 1 } if ( cbp == 0 && !first_mb &&原创 2012-02-16 18:02:10 · 1800 阅读 · 0 评论 -
H.264-AVC视频编码原理及实现(二)
二视频编码基本原理2.1 原理图 目前常用的视频编码算法基本上都是以运动估计和以块为单位的时-频变换为基础。运动估计,处理了相邻视频帧中的相同部分。时-频变换,使得数据块的能量更加集中地分布。常用的时-频变换是DCT变换。2.2 运动估计运动估计(Motion Estimation),相邻视频帧之间的内容存在一定的相关性。把图像分成若干块,通过一定的搜索算法,在邻近帧中原创 2012-02-22 16:23:09 · 14130 阅读 · 2 评论 -
H.264-AVC视频编码原理及实现(一)
一视频相关概念1.1视频时间连续的图像序列称为视频。1.2相关性图像本身具有的自己特性,图像与图像之间具有一定的关联性。时间相关性:一幅图像中的大部分元素都同样存在于其相邻的图像(前后)之中。空间相关性:一幅图像中相邻像素之间具有相关性。统计相关性:图像在保存的过程中,通过不同的统计方法,可以得到比原始数据较少的数据。1.3 YUV图像格式试验表明,人眼对于原创 2012-02-22 16:07:02 · 14747 阅读 · 3 评论 -
VLC的windows版本下载
VLC的windows版本下载:https://github.com/sunqueen?tab=repositories原创 2014-04-11 11:55:40 · 2162 阅读 · 0 评论 -
Apple,HLS,NAL_AUD,——像要求自己的孩子一样严格!
Apple产品系列中,使用HLS实现直播,原创 2014-09-10 11:46:19 · 4060 阅读 · 2 评论 -
使用 mediasoup 搭建轻量级webrtc即时视频通话系统
mediasoup是一款轻量级的webrtc系统,官网https://mediasoup.org,github源码下载:https://github.com/versatica/mediasoup本次测试,系统为ubuntu v18.04.64,使用npm直接安装mediasoup软件,安装过程中踩了一些坑,希望能有所帮助。let's go:1.install git and npm...原创 2019-09-03 15:43:04 · 5759 阅读 · 1 评论 -
使用Intel CS for WebRTC 4.2.1 搭建实时音视频通讯系统(update)
Intel CS for WebRTC 升级到4.2.1后,需要的软件包进行了更新,安装过程中一些小的细节也需要注意一下。1.操作系统 :CentOS* 7.6, Ubuntu 18.04 LTS,本次测试,我使用的Ubuntu 18.04 LTS。2.手动安装依赖包node.js 8.15.0,貌似仅支持这个版本。下载:https://nodejs.org/dist/v8.1...原创 2019-07-18 10:48:33 · 1518 阅读 · 2 评论 -
srt-live-server:一款基于SRT的毫秒级低延时直播服务器
目前互联网上的视频直播有两种,一种是基于RTMP协议的直播,这种直播方式上行推流使用RTMP协议,下行播放使用RTMP,HTTP+FLV或者HLS,直播延时一般大于3秒,广泛应用秀场、游戏、赛事和事件直播,满足了对交互要求不高的场景;另一种是WebRTC协议的直播,这种直播方式使用UDP的协议进行流媒体的分发,直播延时小于1秒,同时连接数一般小于10个,主要应用在视频通话、秀场连麦等应用场景。...原创 2019-05-16 12:15:46 · 18623 阅读 · 14 评论 -
如何给ffmpeg提Patch
把使用git给ffmpeg提patch的步骤记录一下,在过程中得到大师兄的帮助,初学者也可以通过大师兄上传的视频进行学习:下载最新的ffmpeg 代码,完成patch的修改和测试后,开始进行提交:一.注册注册完成ffmpeg用户后,需要订阅 ffmpeg 的maillist: https://lists.ffmpeg.org/mailman/listinfo/ffmpeg-devel...原创 2019-04-09 00:10:19 · 1043 阅读 · 0 评论 -
如何使用Intel CS for WebRTC 快速搭建实时音视频通讯系统
如何使用Intel CS for WebRTC 快速搭建实时音视频通讯系统 Intel CS for WebRTC是一套完整的WebRTC的通讯架构套件,包括了服务端软件和客户端SDK,其中客户端SDK支持Web,Android,iOS和Windows平台。该套件对通讯协议的细节进行了封装,可以使开发者专注于应用层的软件开发。 目标:搭建WebRTC系统,实现在web页面上进行...原创 2018-07-20 11:02:35 · 4867 阅读 · 7 评论 -
HLS协议深入分析——时间线介绍(一)
在之前的文章中,我们已经介绍过,HLS协议由三部分组成,HTTP+M3U8+TS。在这三部分中,HTTP是传输协议,M3U8是索引文件,TS是视音频的媒体信息。HLS直播也好,点播也好,都和时间紧密相关,在本文中,我们以HLS直播为例,重点分析一下M3U8和TS中,和时间相关的几个参数。一.M3U8文件这是一个文本文件。由一系列的标签组成,详细的介绍可以参考:https://tools原创 2016-01-28 16:16:27 · 11732 阅读 · 0 评论 -
HLS协议深入分析——时间线介绍(二)
我们重点介绍了HLS协议中M3U8文件里面和时间相关的一些字段,以及这些字段在不同平台MAC,Android上的一些应用,本文介绍一下HLS中TS文件里面和时间相关的字段原创 2016-09-06 21:21:28 · 5550 阅读 · 1 评论 -
图像YUV格式采样格式
4:4:4,水平和垂直方向,YUV的数量相同。4:2:2,水平方向,每两个点共用一个UV数据,垂直方向YUV数量相同。4:2:0,水平方向和垂直方向,每两个点共用一个UV数据。4:1:1,水平方向,每四个点共用一个UV数据,垂直方向YUV数量相同。一张图说明YUV不同格式的采样区别:原创 2014-12-31 12:11:44 · 2809 阅读 · 0 评论 -
测试h265和h264的编码效果
OS:CentOS6.4-64bit--------编译 FFMPEG with h265--------1.安装 hg tool#yum install hg2.下载 x265 source code 并 make#hg clone https://bitbucket.org/multicoreware/x265#cd x265/build/linux#make#原创 2015-01-06 15:21:18 · 31698 阅读 · 4 评论 -
Fedora 17下交叉编译vlc-2.0.6-win32小记
Fedora 17下交叉编译vlc-2.0.6-win32小记2013-06-28 23:07:19 分类: 系统运维 关于编译windows下的vlc网上的教程除了翻译N年前wiki官网的那些蚂蚁文之外,可以说基本没啥参考意义和价值。因为那些都是非常老的版本,0.8.x或者1.x.x,而我这个人有喜欢新鲜事儿,所以就冲着vlc-2.0.6来了。官网最新的是2.0转载 2013-11-12 22:46:48 · 1244 阅读 · 0 评论 -
保存HLS直播中的TS流分片
张威大侠使用Python实现了对HLS的原创 2014-10-23 14:15:08 · 10595 阅读 · 3 评论 -
FFMPEG中MPEG-2编解码函数调用关系图
1 Encoder (函数调用从左到右,下同;图片显示不全时,请下载显示) 2 P帧运动估计流程图3 B帧运动估计流程图 4 decoder原创 2011-11-20 15:17:19 · 1982 阅读 · 0 评论 -
x264函数调用关系图
1 encoder 2 slice write 3 analyse原创 2011-11-20 15:45:46 · 1820 阅读 · 0 评论 -
x264运动估计
<br />理论知识:<br /><br />两帧之间的物体运动是平移运动,位移量不是很很大,所以会以块作为单位分配运动矢量,在运动估计中采用了大量的参考帧预测来提高精度,当前的待编码块可以在缓存内的所有重建帧中寻找最优的匹配块进行运动补偿,以便很好的去除时间域的冗余度。为每一个块寻求一个运动矢量MV,并进行运动补偿预测编码。在每个分割区域中都有其对应的运动矢量,并对运动矢量以及块的选择方式进行编码和传输。<br />运动估计ME所表达的运动矢量MV,其研究的内容就是如何加速,有效的获得足够精确的mv,并且转载 2010-08-04 17:27:00 · 2971 阅读 · 0 评论 -
[转贴]x264_macroblock_analyse模块分析
<br />本文对x264_macroblock_analyse()及其子函数的流程进行详尽的分析。希望对大家有所帮助。<br />参考x264_050530版本。<br />1、void x264_macroblock_analyse( x264_t *h ) <br />首先初始化函数,然后进入一个选择语句<br />if( h->sh.i_type == SLICE_TYPE_I )<br />{<br /> ……..<br />}<br />else if( h->sh.i_type =转载 2010-08-03 17:51:00 · 1630 阅读 · 0 评论 -
X264码率控制流程分析
码率控制的理论知识:码率控制的目的和意义:图像通信中码率控制的目的:通过调节编码参数,控制单位时间内的编码视频流的数据量,以使产生的比特流符合各种应用的需求。视频压缩的效率和视频内容有很大的关系,对于变化多样的画面,视频编码的输出的码流变化较大,在信道环境不好的时候就容易导致解码端显示的质量的不稳定。率失真理论:由于传输带宽和存储空间的限制,视频应用对压缩比有较高的要求。而无损编码较低的压缩比无法满足视频在实际应用中的需求。但如果给视频引入一定程度的失真,通常可以获得较高的压缩比。转载 2010-08-02 17:36:00 · 1962 阅读 · 0 评论 -
转贴:X264学习第一周:参考帧管理
<br /> X264是一款研究的是H.264编码的开源代码软件,相比JM而言,其编码性能有很大的提高,其支持大多数H.264的特性工具,包括:CABAC和 CAVLC高效嫡编码、多参考帧预测、所有的帧内预测宏块类型(16x6l和4x4)、所有的前向帧间预测P(帧)宏块类型 (16xl6,16x8,8xl6,8x8,8x4,4x8和4x4)、最常用的双向帧间预测(B帧)宏块类型(16xl6,16x8,8xl6和 8x8)、l/4像素精度运动估计、率失真优化、自适应B帧选择且B帧可作为参考帧。从这周开始我将从转载 2010-08-03 17:13:00 · 3456 阅读 · 1 评论 -
使用交叉编译环境编译支持多线程的x264版本
<br />1 安装MingW交叉编译环境。见 http://blog.csdn.net/wutong_login/archive/2009/08/02/4401509.aspx<br />2 下载x264的源码。见http://downloads.videolan.org/pub/videolan/x264/snapshots/<br />3 下载 pthreads 源码。见ftp://sources.redhat.com/pub/pthreads-win32/pthreads-w32-2-8-0-rel原创 2010-07-30 17:58:00 · 2104 阅读 · 1 评论 -
[转帖]指数哥伦布编码
[熵编码] 指数哥伦布编码规定语法元素的编解码模式的描述符如下:比特串:b(8):任意形式的8比特字节(就是为了说明语法元素是为8个比特,没有语法上的含义)f(n):n位固定模式比特串(其值固定,如forbidden_zero_bit的值恒为0)i(n):使用n比特的有符号整数(语法中没有采用此格式)u(n):n位无符号整数指数哥伦布编码:ue转载 2009-11-19 17:48:00 · 1088 阅读 · 0 评论 -
H.264概述
我的百科 我的贡献草稿箱百度首页 | 登录 新闻 网页 贴吧 知道 MP3 图片 视频 百科帮助设置 添加到搜藏 返回百度百科首页 编辑词条H.264目录[隐藏]H.转载 2009-10-28 18:04:00 · 2404 阅读 · 0 评论 -
在mingw环境下编译mplayer-1.0pre1的步骤
mplayer-1.0pre1支持在mingw环境下运行,参照了mplayer文档,列出安装步骤: 1 http://sourceforge.net/projects/mingw/ FILES栏中current中下载mingw-2.0.0.3.exe和msys-1.0.9.exe并解开安装,在安装完msys之后,按照提示输入mingw所在的路径。 2 下载http://www.mplayerhq.转载 2009-08-25 07:50:00 · 1353 阅读 · 0 评论