随笔分类 - 视频
ffmpeg音视频编解码,转码等
摘要:Ffmpeg 无处不在,自然android系统少不了它,折腾了不少时间完成 ndk编译ffmpeg,生成so库中引用了外部库librtmp,libx264。条条大路通罗马, 也许还有别的更好的方法去完成它,我没有仔细研究。我使用的方法完全可以达到我的预期目的。 一.选择编译环境 可以选择window
阅读全文
摘要:有朋友问到ffmpeg播放文件如何定位问题,我想到应该还有一些新手朋友对这一块比较陌生。ffmpeg定位问题用到seek方法,代码 如下: void SeekFrame(AVFormatContext* context, int64_t seekFrame)//跳转到指定位置 { int defau
阅读全文
摘要:av_read_frame, av_write_frame等 经常会返回负值也即写数据包失败。不同的负值代表不同的含义,可以根据错误码定义,定位问题。 并不是每个错误号,我都遇到过,所以也敢保证每个错误号的解释都正确,如果有人碰到错误号跟解释不匹配的请告诉我,35019870,谢谢。
阅读全文
摘要:从视频中不断抓取图片的基本流程:打开视频流地址->获取视频流packt->解码成图片帧->输出图片 一.初始化Ffmpeg void ffmpegInit(){ av_register_all(); avformat_network_init(); av_log_set_level(AV_LOG_E
阅读全文
摘要:编码可以简单理解为将连续的图片帧转变成视频流的过程。以H264为例给出编码的代码: int InitEncoderCodec(int width, int height) { auto enc = avcodec_find_encoder(AV_CODEC_ID_H264); encodeConte
阅读全文
摘要:大多数厂家摄像机输出的音频流格式都是PCM,有一些场合(比如讲音视频流保存成Ts流)需要将PCM格式转成AAC格式。基本的思路是先解码得到音频帧,再将音频帧编码成AAC格式。编码和解码之间需要添加一个filter。filter起到适配的作用。 首先解码: AVFrame * decode(AVPac
阅读全文
摘要:前面的博文中已经交代过,ffmpeg打开视频慢主要是因为av_find_stream_info 耗时久。下面给出重写查找音视频stream info的一段代码,用来替代av_find_stream_info 。 static int try_decode_frame(AVFormatContext
阅读全文
摘要:一 从TS流开始 数字电视机顶盒接收到的是一段段的码流,我们称之为TS(Transport Stream,传输流),每个TS流都携带一些信息,如Video、Audio以及我们需要学习的PAT、PMT等信息。因此,我们首先需要了解TS流是什么,以及TS流是怎样形成、有着怎样的结构。 (一) TS流、P
阅读全文
摘要:最近要用到flv,整理了一些flv格式的资料,供参考。 flv文件主要由两部分组成:header和body。 1.header header部分记录了flv的类型、版本等信息,是flv的开头,一般都差不多,占9bytes。具体格式如下: 2.body body部分由一个个Tag组成,每个Tag的下面
阅读全文
摘要:项目需求,android手机向服务器推送视频。苦战几个星期终于实现,现记录下来以免以后忘记。 没做过Java,也没做过Android开发,只能现学现卖。在网上找了下搭建开发a ndroid环境资料,有一篇写的 比较仔细,地址是http://www.cnblogs.com/zoupeiyang/p/4
阅读全文
摘要:从官方网站down下来的ffmpeg没有pdb文件不方便调试,为此使用VS2012编译ffmpeg。 编译步骤: 一.安装MinGW,具体的安装方法上一篇文章已经有介绍这里不在赘述。 二.下载文件并放在指定目录。 1. yasm :下载地址:http://yasm.tortall.net/ ,更名为
阅读全文
摘要:windows 编译ffmpeg 搞过很多次,每次总是磕磕碰碰,从头到尾不能一直顺利,浪费一些时间。终究起原因,都是当时记得,过段时间就忘了。好记性不如烂笔头,大好周末晚上,闲暇无事,记录最近一次编译的整个过程,以备不时之需。 一. 安装MinGW 从google上可以搜索到MinGW安装包ming
阅读全文

浙公网安备 33010602011771号