音视频
小红威武
Be a responsible, strong and gentle man.
展开
-
SurfaceView详解
SurfaceView的定义SurfaceView是View的子类,它内嵌了一个专门用于绘制的Surface,你可以通过getHolder获取它的SurfaceHolder,并通过SurfaceHolder的getSurface方法获取这个Surface。从而控制这个Surface的格式和尺寸,Surfaceview控制这个Surface的绘制位置。surface是纵深排序(Z-ordered)...原创 2020-03-02 23:29:17 · 1363 阅读 · 0 评论 -
Android 使用AudioRecorder和MediaRecorder录音并播放。
我们知道,安卓系统可以AudioRecorder和MediaRecorder录音,两者的区别是:AudioRecorder录制的是pcm数据(也称音频裸数据),可以方便的对音频数据进行处理(比如特效处理)。录音同时还可以使用AudioTrack进行播放。但是pcm数据并不可以采用播放器直接播放,而需要加上音频头信息才可以播放。比如本例中就是将pcm数据文件加上头信息转成wav文件然后便可以使...原创 2018-07-29 00:48:10 · 1907 阅读 · 0 评论 -
ffmpeg3.3.7源码编译
!/bin/bashexport TMPDIR=”/Users/mack/Desktop/tools/ffmpeg-3.3”NDK=/Users/hongenit/ffmpeg_test/android-ndk-r14b NDK_VERSION=android-21 ARCH=arm CPU=arm PREFIX=(pwd)/android/(pwd)/android/(pwd...原创 2018-07-10 18:56:27 · 415 阅读 · 0 评论 -
Mac上使用Nginx+rtmp搭建自己的直播推流服务器
安装HomeBrew不多说,Mac安装的神器。/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"安装Nginx扩展home-brew对ngixnx的扩展,在终端输入如下命令。brew tap homebrew/nginx安装Ngi...原创 2018-07-02 23:05:34 · 1365 阅读 · 0 评论 -
音视频开发大纲
视频文件:封装格式有avi,MP4视频:图像部分,编码格式有aviYUV格式RGB格式音频:音频部分,aac原创 2018-07-02 00:05:31 · 721 阅读 · 0 评论 -
H.264 x264 h264 AVC1的关系和区别
H.264是MPEG4的第十部分,是一个标准。 对头,国际上两个视频专家组(VCEG和MPEG)合作提出的标准,两个专家组各有各的叫法,所以既叫H.264,也叫AVC。x264是一个编码器,他参照的标准是H.264。 对头,H.264是需要付费的编码格式,而x264是符合H.264标准的一个开源项目,是免费的,也就是H264的一个简化版,不支持某些高级特性。但x264非常优秀,并不比H264的转载 2016-12-19 17:54:32 · 7291 阅读 · 0 评论 -
手摸手一步步教你裁剪编译ffmpeg并用于实现安卓端解码。
编译ffmpeg请参考: ffmpeg源码编译使用 ffmpeg.so如图: 编译成功后会在ffmpeg源码工程目录下的android->arm下生成inlcude(ffmpeg的头文件)和libffmpeg.so。将他俩拷贝到工程的jni目录下。 再写解码的c代码实现decode.c以及交叉编译用的脚本文件Android.mk.和平台配置文件Applicat原创 2016-12-26 13:01:33 · 1892 阅读 · 0 评论 -
ffmpeg源码的编译和裁剪,生成安卓使用的.so库。
本文在mac os环境下编译ffmpeg源码: 1.准备工作:下载ndk和ffmpeg源码,我的是ndk-r10b,ffmpeg-3.2.1. 2.如图,将下载ndk和ffmpeg源码解压,放到同一目录下 3.切换到ffmpeg-3.2.1目录下修改congfigure文件,目的是去掉默认生成的.so库文件后的版本号。 将这四行:SLIBNAME_WITH_MAJOR='$(SLIBNA原创 2016-12-26 17:20:09 · 1795 阅读 · 0 评论 -
Linux 下编译SRS及配置环境。
打算先用SRS先跑一下推流和接收直播流,于是在windows中按照步骤用git Clone SRS到本地,然后执行脚本build.sh。结果报错,不支持的操作系统。也就是不能windows上跑SRS服务。当即就转到linux上,但是又报错:“build.sh /bin/bash^M: 坏的解释器:没有那个文件或目录”。原来是因为在windows上打开文件后windows的换行符是\n\r,而原创 2016-12-18 19:02:44 · 2342 阅读 · 0 评论 -
解决安卓调用ffmpeg函数avformat_open_input进行转码出现打不开文件
安卓下通过jni调用ffmpeg解码视频文件,结果在c文件中调用avformat_open_input函数打开视频文件时报错论坛有说是因为ffmpeg版本问题的,但是我3.x.x和2.的都试过一样的打开失败。返回的结果码是-13,但是看源码也没找到-13代表什么。还好找到如下方法将错误信息打印了出来: int err_code; char buf[1024]; if ((err_code原创 2016-12-23 19:45:47 · 4483 阅读 · 0 评论