随笔分类 -  视频技术

CentOS7环境下编译FFmpeg
摘要:操作系统:CentOS 7.6.1810_x64 ffmpeg版本:4.2.1 ffmpeg是一个功能非常强大的音视频处理工具,很多软件依赖它,这里记录下编译过程,以便后续查阅。 ffmpeg官方网址:https://ffmpeg.org 一、源码及依赖项 1、获取源代码: wget https:/ 阅读全文
posted @ 2022-04-11 20:51 Mike_Zhang 编辑
使用ffmpeg进行视频图片提取
摘要:环境:windows10-x64 ffmpeg的功能很强大,可以进行音频和视频的处理,这里记录下需要从视频文件提取图片的情况。 ffmpeg官方地址:https://www.ffmpeg.org/使用ffmpeg实现,操作命令如下:ffmpeg -i [输入文件名] [参数选项] -f [格式] [ 阅读全文
posted @ 2021-10-13 22:44 Mike_Zhang 编辑
live555源码编译(win7+vs2010)
摘要:环境:windows7 + VS2010 1、下载live555代码: 2、更改配置文件 3、打开vc编译环境 4、生成Makefile 5、编译live555 本文github地址: https://github.com/mike-zhang/mikeBlogEssays/blob/master/ 阅读全文
posted @ 2013-04-24 23:00 Mike_Zhang 编辑
vlc编译过程(CentOS 6.3 + VLC 2.0.5)
只有注册用户登录后才能阅读该文。
posted @ 2013-04-19 10:22 Mike_Zhang 编辑
RTSP客户端模拟器(TCP方式,Python实现)
摘要:由于某种需求,工作中需要自己要开发RTSP客户端模拟器……这里以DarwinStreamingServer(简称DSS)为例进行演示,把思路记录下来,算是开发了一个测试工具,也方便我以后查阅。在我之前的文章(http://www.cnblogs.com/MikeZhang/archive/2012/09/16/RTSPoverTCPUDP20120916.html )中介绍过怎样通过TCP的方式来访问DSS,在那个实例中,我用的是VLC作为客户端,通过命令行参数进行调用的。一、通信端口分析首先通过抓包分析确定数据通信端口。RTSP数据包截图:RTP数据包截图:RTCP数据包截图:由图可知,在以 阅读全文
posted @ 2012-10-29 23:40 Mike_Zhang 编辑
用vlc搭建简单的流媒体代理服务器
摘要:这段时间涉及到RTSP代理的问题,感觉VLC做这方面的demo比较好,这里总结下,也方便我以后查阅。环境:DarwinStreamingServer 6.0.3 + VLC 2.0.3我之前的一篇文章(http://www.cnblogs.com/MikeZhang/archive/2012/09/09/vlcStreamingServer20120909.html )中介绍过怎样用vlc搭建简单流媒体服务器,其实这里也只是把sample1.avi替换成rtsp链接罢了,本文中只以RSTP的方式示例。界面操作方式这里主要介绍下服务器的搭建,客户端就不介绍了,不懂的朋友参考我这篇文章:http: 阅读全文
posted @ 2012-09-24 00:19 Mike_Zhang 编辑
RTSP流媒体数据传输的两种方式(TCP和UDP)
摘要:通常情况下rtsp协议中数据传输的实现是UDP,因工作需要,想让rtsp的数据传输部分用TCP实现。DarwinStreamingServer服务器能自适应客户端发起的数据传输请求是用TCP方式,还是用UDP方式,这里唯一需要解决的是客户端协议的发起问题,而vlc支持RTSP over TCP的方式。剩下的问题就好办了,让vlc以TCP的方式发起连接即可。DSS的安装配置我就不介绍了,不懂的朋友网上查下。方式一:TCP传输媒体数据我之前的文章(http://www.cnblogs.com/MikeZhang/archive/2012/09/09/vlcStreamingServer201209 阅读全文
posted @ 2012-09-16 23:05 Mike_Zhang 编辑
神马16核的服务器你让我单线程跑ffmpeg
摘要:周末了,也该把上周工作中用到的雕虫小技整理下,写成博客,也方便我以后查阅。最近需要用ffmpeg进行视频转码,考虑到ffmpeg这个工具本身支持多线程,而服务器也是多核的,想最大程度发挥服务器的计算能力。显然不能用单线程了,但是线程并不是越多越好,需要找到个平衡点。这就需要用time命令进行计时,并将该屏幕的输出重定向到文件,以便后期进行分析。ffmpeg编码的介绍网上有很多,我这里也有些示例(http://www.cnblogs.com/MikeZhang/archive/2012/07/17/videoCodec.html 中的“三、视频编码工具 ”中有介绍)。今天主要介绍下ffmpeg的 阅读全文
posted @ 2012-09-16 11:30 Mike_Zhang 编辑
用vlc搭建简单流媒体服务器(UDP和TCP方式)
摘要:这段时间用到了流媒体数据传输的TCP和UDP方式,感觉vlc可以做这方面的demo,这里总结下,也方便我以后查阅。 简介 VLC主页:http://www.videolan.org VLC不仅仅是个播放器,也可以作为流媒体服务器使用。这个网上有相关的资料,我就不多说了。 声明下本文用的VLC版本:2 阅读全文
posted @ 2012-09-09 12:17 Mike_Zhang 编辑
流媒体技术笔记(DarwinStreamingServer相关)
摘要:简介Darwin Streaming Server简称DSS。DSS是Apple公司提供的开源实时流媒体播放服务器程序。整个程序使用C++编写,在设计上遵循高性能,简单,模块化等程序设计原则,务求做到程序高效,可扩充性好。并且DSS是一个开放源代码的,基于标准的流媒体服务器,可以运行在Windows NT和Windows 2000,以及几个UNIX实现上,包括Mac OS X,Linux,FreeBSD,和Solaris操作系统上的。网址:http://dss.macosforge.org/源码:http://dss.macosforge.org/downloads/DarwinStreami 阅读全文
posted @ 2012-08-08 19:28 Mike_Zhang 编辑
RTSP录像的几种方式
摘要:这里介绍几种保存RTSP视频流的几种方式,欢迎补充。首先介绍下环境:操作系统是64位的CentOS 6.2 ,服务器采用的是Darwin Streaming Server 6.0.3 ,摄像头数据源用FFMPEG 0.6进行采集。下面我以H.264编码为例进行介绍,其他编码格式读者参考相关文档进行扩展。一、服务端数据采集用ffmpeg编码H.264数据流:ffmpeg -f video4linux2 -r 30 -i /dev/video0 -vcodec libx264 -subq 5 -g 250 -qmin 10 -qmax 51 -i_qfactor 0.71 -f rtp rtp:/ 阅读全文
posted @ 2012-07-24 22:09 Mike_Zhang 编辑
源码安装ffmpeg(带libx264)
摘要:环境:CentOS6.2_641、下载源码包wget ftp://ftp.videolan.org/pub/x264/snapshots/x264-snapshot-20120718-2245-stable.tar.bz2解压:tar jxvf x264-snapshot-20120718-2245-stable.tar.bz2wget http://ffmpeg.org/releases/ffmpeg-0.11.1.tar.gz解压:tar zxvf ffmpeg-0.11.1.tar.gz2、安装x2642.1 安装依赖包缺少yasm安装:yum install yasm -y2.2 安装 阅读全文
posted @ 2012-07-21 23:23 Mike_Zhang 编辑
流媒体技术笔记(协议相关)
摘要:1、RSVP:资源预留协议 由于音频和视频数据流比传统数据对网络的延时更敏感,要在网络中传输高质量的音频、视频信息,除带宽要求之外,还需其它更多的条件。RSVP(ReSource reserVe Protocol)是Internet上的资源预留协议,使用RSVP预留一部分网络资源(即带宽),能在一定程度上为流媒体的传输提供QoS。资源预留协议使Internet应用传输数据流时能够获得特殊服务质量,它同路由协议协同工作,建立与路由协议计算出路由等价的动态访问列表,RSVP属OSI七层协议栈中传输层。RSVP的流程是单一的,并不区分发送方和接收方,且支持单播和组播,适应于可变成员个数和路由。相关. 阅读全文
posted @ 2012-07-19 21:42 Mike_Zhang 编辑
流媒体技术笔记(视频编码相关)
摘要:一、视频编码原理 视频图像数据有极强的相关性,也就是说有大量的冗余信息。其中冗余信息可分为空域冗余信息和时域冗余信息。压缩技术就是将数据中的冗余信息去掉(去除数据之间的相关性),压缩技术包含帧内图像数据压缩技术、帧间图像数据压缩技术和熵编码压缩技术。去时域冗余信息使用帧间编码技术可去除时域冗余信息,它包括以下三部分:—— 运动补偿:运动补偿是通过先前的局部图像来预测、补偿当前的局部图像,它是减少帧序列冗余信息的有效方法。—— 运动表示不同区域的图像需要使用不同的运动矢量来描述运动信息。运动矢量通过熵编码进行压缩。—— 运动估计运动估计是从视频序列中抽取运动信息的一整套技术。注:通用的压缩标准都 阅读全文
posted @ 2012-07-17 21:49 Mike_Zhang 编辑
产生sdp文件供DSS使用
摘要:这里介绍两种产生sdp文件的方法,仅供参考,欢迎补充。1、环境操作系统 :CentOS6.2_64内核版本 :2.6.32-220.23.1.el6.x86_64Darwin Streaming Server 版本:6.0.3mpeg4ip版本:1.6.1ffmpeg版本:0.6.52、用mpeg4ip产生sdp文件这个简单,安装好mpeg4ip后,直接运行mp4live就可以了,具体如下图:3、用ffmpeg 产生sdp文件命令如下:ffmpeg -f video4linux2 -s 176*144 -r 10 -i /dev/video0 -vcodec h263 -f rtp rtp:/ 阅读全文
posted @ 2012-07-06 23:10 Mike_Zhang 编辑
CentOS 6.2安装Darwin Streaming Server
摘要:1、环境系统:CentOS6.2_64Darwin版本:6.0.32、准备工作2.1 添加qtss组:groupadd --system qtss2.2 添加qtss用户到qtss组:adduser qtsspasswd qtssuseradd -g qtss qtss2.3 安装软件yum ins... 阅读全文
posted @ 2012-07-06 20:15 Mike_Zhang 编辑
CentOS6.2下编译mpeg4ip
摘要:一、环境1、操作系统版本CentOS 6.2 64位uname -a的输出:Linux localhost.localdomain 2.6.32-220.17.1.el6.x86_64 #1 SMP Wed May 16 00:01:37 BST 2012 x86_64 x86_64 x86_64 GNU/Linux2、mpeg4ip版本版本:1.6.1下载链接:http://people.freebsd.org/~ahze/distfiles/mpeg4ip-1.6.1.tar.gz二、编译1、编译mpeg4ip需要的库首先安装libtool库,命令如下:yum install libtoo 阅读全文
posted @ 2012-06-29 00:05 Mike_Zhang 编辑