FFmpeg 4.0.2静态库从0开始一个播放器的搭建,支持rtmp、rtsp、hls、本地MP4文件播放,视频解码+音频解码+音视频同步
在这里你可以看到全部的jni部分代码,不隐藏实现的c++代码,java调用c,然后c中回调java方法,在native层开启线程,同步锁pthred_mutex,pthread等等的使用。
你只需要有一点c的基础就可以动手开始改造本项目,查看本项目的每一次日志提交,清晰的脉络知识结构认知尽览无余。
静态库是源代码的静态备份,jni编译时候会选择有用的头文件加载对应的源文件打包成so库,方便开发者写native层代码,用多少取多少(so体积不会固定死)是它的优势,
目前开源项目采用静态库的不是很多,极不方便新手入门jni和音视频开发,我就是要让你能够像写
hello-world
一样开始音视频的开发,that's all!
issue
,有想法也可以提.seek
进度条拖动(av_seek_frame)x264
推流H264
see PPushfaac
推流AAC
see PPushapp/lib
下MP4
capture/input.mp4
到/data/com.poe.pplayer/cache
RTMP
.mPlayer.setDataSource("rtmp://xxxxxxx.com/abcd12343");
veyq
nginx+lib-rtmp
服务器搭配FFmpeg
或者Obs
推流
FFmpeg4.0.2静态库(32/64bit) 提取码:2c16
Copyright 2020 Poe.Cai.
FFmpeg codebase is mainly LGPL-licensed with optional components licensed under GPL. Please refer to the LICENSE file for detailed information.