摘要:
现在的手机一般都会提供相机功能,有些相机的镜头甚至支持1000万以上像素,有些甚至支持光学变焦,这些手机已经变成了专业数码相机。为了充分利用手机上的相机功能,Android应用可以控制拍照和录制视频。 使用Android 5.0的Camera v2拍照 Android 5.0对拍照API进行了 阅读全文
摘要:
项目需要,折腾了半天搞定windows android studio环境编译Jni动态库,现记录下来。 准备安装环境: 1. android studio 下载地址是http://www.android-studio.org/index.php/component/content/category/ 阅读全文
摘要:
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 阅读全文