Android视频处理技术

217 阅读2分钟

1.录制rtsp视频
ffmpeg -i rtsp://admin:admin1234@172.20.12.198:554/ -vcodec copy out.avi

2.android给视频加水印的
A:ffmpeg -i E:\out.avi -i E:\bbb.png -filter_complex "overlay=5:5" E:\out2.mp4
显示在视频的左上角overlay参数为 overlay=0:0
显示在右上角为 overlay= main_w-overlay_w:0
显示在右下角为 overlay= main_w-overlay_w:main_h-overlay_h
显示在左下角为 overlay=0: main_h-overlay_h

B:高效方案------mediacodec硬解码,+gpuimage添加滤镜效果,再编码复用
重点:MediaExtractor,MediaCodec,MediaMuxer

1778289-43bb14fea7840308.png

image.png

www.zhihu.com/question/49…
jingpin.jikexueyuan.com/article/473…
ossrs.net:1985/console/ng_…

通过live555实现H264 RTSP直播

libstream : blog.csdn.net/dyc941126/a…
github.com/spex66

download.csdn.net/detail/fyf_…

之前一直存在一个问题:大码流时,播放会卡。原因应该是#define BANK_SIZE 150000 这个宏的值,太小了。改大它试一下,应该可以解决掉。

ByteStreamMemoryBufferSource

作者:姚冬链接:www.zhihu.com/question/49…来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
自己搭建一个直播系统吧
服务端用 SRS(Simple Rtmp Server),在这里下载simple-rtmp-server**需要Linux系统最好是Ubuntu,装个Ubuntu虚拟机就行了在Linux里,解压缩SRS 安装包,运行

sudo ./INSTALL> sudo /etc/init.d/srs start
一个RTMP的媒体服务器就运行起来了,无需改配置,默认端口是 1935
推流端用obs-studio,在这里下载Open Broadcaster Software**在设置->串流 输入 URL rtmp://<your ubuntu ip>/mylive在 来源 里指定一个视频源,测试的话用窗口捕获就行了
播放测试用 VLC 在这里下载www.videolan.org/vlc/**打开网络串流,输入你刚才推流的 URL 即可。
开发播放测试通过后,就可以自己开发App来播放发布直播流了推荐用 librtmp,纯C实现的RTMP协议封装,用在Android上需要用NDKGitHub - yixia/librtmp: librtmp for Android and iOS**这里有做好的 NDK makefile

github.com/saki4510t/U… or github.com/openxc/andr…?

 

blog.csdn.net/win_lin/art…