随笔分类 - 视频
ffmpeg音视频编解码,转码等
摘要:最近在研究CrtmpServer http部分,记录一些基本的流程,以备查阅。 首先,打开配置脚本CrtmpServer.lua ,确认脚本中有以下内容,如果没有需要加上。 在浏览器地址栏中输入http://127.0.0.1:8989/httpEchoProtocol/TestHttp,跟踪Crt
阅读全文
摘要:记录项目中用到一组x264快速编码参数配置,具体如下: param->i_frame_reference = 1; param->i_scenecut_threshold = 0; param->b_deblocking_filter = 0; param->b_cabac = 0; param->
阅读全文
摘要:本文讲述windows 平台下ffmpeg如何利用intel media SDK 进行 h264硬编码(测试版本为3.2.2)。 ffmeg硬编编码的流程与软件编码流程相同,唯一不同的地方在初始化encoder。软件编码基本流程前文有 介绍,本文不再赘述。下面介绍硬编编码初始化encoder代码。
阅读全文
摘要:ffmpeg H264编解码前面有文章介绍下,本文主要介绍一些参数配置。 编码: int InitEncoderCodec( int iWidth, int iHeight) { AVCodec * pH264Codec = avcodec_find_encoder(AV_CODEC_ID_H264
阅读全文
摘要:最近做直播系统的朋友很多,正好前端时间也在做这一块,写片文章分享下开发心得,以为后用。 直播系统我将它分为前堆推流,后台服务,客户端播放三大部分。前端推流基于ffmpeg,后台服务 使用crtmp服务,播放端可以使用JWPlayer(网页端播放),也可以是CGplayer。 一.前端推流 推流可以采
阅读全文
摘要:自己写的播放器播放有些文件出现问题,但ffplay播放都很正常,为方便调试,将ffplay.c编译成可执行文件。 一. 环境搭建 环境搭建前面已经有文章介绍,没有特殊的地方,不再赘述。 二.修改configure文件 默认的configure文件会check各种依赖,所有的依赖都存在时 才会enab
阅读全文
摘要:Windows系统下 vs2012编译ffmpeg 动态库 前面已经有文章讲述,本文将讲述如果编译生成ffmpeg静态库以方便 在vs2012下调用。 准备工作:安装MinGW环境,修改ffmpeg配置文件,这两步均与编译动态库相同,这里不再赘述。唯一不同的不同的 是配置命令,生成静态库的命令是:
阅读全文
摘要:使用JWPlayer可以直接在网页上播放rtmp流,JWPlayer 相关文件可以在http://pan.baidu.com/s/1qXED6FU下载,本文主要讲述其使用方法。解开压缩包获得如下图所示文件。 图1 JWPlayer文件列表 修改index.html,修改部分的内容如下图所示: 图2
阅读全文
摘要:文本主要讲述windows系统下如何利用ffmpeg获取摄像机流并推送到rtmp服务,命令的用法前文 中有讲到过,这次是通过代码来实现。实现该项功能的基本流程如下: 图1 ffmpeg推流流程图 较前面的文章的流程图而言,本流程图显的复杂些,稍微解释下: ffmpeg 打开摄像头跟打开普通的视频流方
阅读全文
摘要:vs2015编译ffmpeg(版本3.0.2)引用外部库文件librtmp出现以下错误: rtmp.lib(rtmp.obj) : error LNK2001: 无法解析的外部符号 __imp__strtod rtmp.lib(rtmp.obj) : error LNK2001: 无法解析的外部符号
阅读全文
摘要:利用vs2012编译ffmpeg出现以下错误: libavdevice/avdevice.c(38) : error C2059: 语法错误:“.” libavdevice/avdevice.c(40) : error C2059: 语法错误:“,” libavdevice/avdevice.c(4
阅读全文
摘要:利用ffmepg推264流到rtmp服务端出现错误WriteN, RTMP send error 10053,具体如下图所示。 图1推流到rtmp服务错误 原因是视频流缺少SPS,PPS信息,加上这两个信息即可。 视频下载地址:http://www.chungen90.com/?list_53 De
阅读全文
摘要:本来主要讲述如何利用ffmpeg将输入视频流通过转码的方式转成m3u8文件。如何通过http的方法将切边推送给客户端,不在本文中讲述。 输入视频流可以是rtsp流,也可以是http,还可以是文件等等。转码的基本流程如下图所示: 图1. 生产hls视频流 视频流解复用可以获得packet,对应的实现方
阅读全文
摘要:1.保存文件: -i 后面接输入流, vcodec 后面视频编码方式,copy表示不重新编码。 -acodec 后面跟音频编码方式,libvo_aacenc 是增强型编码方式 。-f 后面跟封装格式也就是format mpegts表示ts流。 2. 按时间保存文件 -i 前面要加上-re,-表示按时
阅读全文
摘要:ffmpeg读取文件有两种方式:一种是直接读取,文件被迅速读完;一种是按时间戳读取。一般都是按时间戳读取文件, 命令行加入-re,表示按时间戳读取文件,在ffmpeg_opt.c 中可以看到re对应的option选项如下图所示. 图1 如何按时间戳读取文件,ffmepg.c可以看到具体的实现: 图2
阅读全文
摘要:Crtmp Server接收rtmp音视频流,并实现音视频并发,可以作为直播后台的服务。整套代码量并不大,算是轻量级的服务。 花了些时间研究源码,现将研究的结果,记录下来,方便以后查阅。 先不从架构上分析,直接看代码。我是将crtmp运行在windows环境下,所以代码分析以windows参考。 c
阅读全文
摘要:最近在看crtmp源代码,看到timersmanager 模块时感觉很难理解,花了不少时间反复思考该模块 的逻辑,现在思考的结果记录下来,方便以后查阅。 构造函数中将处理时间方法传进来,将_lastTime赋值为当前时间,将当前slot Index设置为0,Slot指针 赋为空,slot数目赋为0。
阅读全文
摘要:很多朋友都会问到rtsp如何通过rtmp协议推送到服务端,正好前段时间开发了这个功能写在这里,和大家分享下。 首先我想说的是:ffmpeg可以实现这个功能。ffmpeg支持rtsp协议,也支持rtmp。在这个案例中rtsp是输入, rtmp是输出,ffmpeg实现了转码的功能。下面可出一个整体思路流
阅读全文
摘要:视频数据传输在传输层可以选择TCP或者UDP,TCP面向连接,传输中断,发送端是知道的。TCP传输的好处是不丢包,坏处是网络不太好的情况下会越堵越严重。UDP非面向连接,发送端只管发送数据,接收端有没有接收到不管。UDP的好处应该是实时性,坏处显而易见:网络抖动大时数据会丢失严重,出现我们常说的花屏
阅读全文
摘要:GB28181国检有一向内容是实时播放摄像机流,经过一番努力,搞定这个功能,现分享心得: 首先需要了解流程,说简答点就是视频流从哪里来到什么地方去,下图描述了视频流推流,转发的 基本过程:信令交互成功以后,摄像机(媒体流发送者)推送流到媒体服务器,媒体服务器在指定 的端口接收到视频流后,转发给流媒体
阅读全文

浙公网安备 33010602011771号