Android视频处理技术

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

https://www.zhihu.com/question/49160322/answer/114587604
http://jingpin.jikexueyuan.com/article/47378.html
http://ossrs.net:1985/console/ng_index.html#/streams?host=172.20.12.229&port=1985

通过live555实现H264 RTSP直播

libstream : http://blog.csdn.net/dyc941126/article/details/18811631
https://github.com/spex66

http://download.csdn.net/detail/fyf_0215/7992757

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

ByteStreamMemoryBufferSource

作者:姚冬链接:https://www.zhihu.com/question/49160322/answer/114587604来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
自己搭建一个直播系统吧
服务端用 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 在这里下载http://www.videolan.org/vlc/**打开网络串流,输入你刚才推流的 URL 即可。
开发播放测试通过后,就可以自己开发App来播放发布直播流了推荐用 librtmp,纯C实现的RTMP协议封装,用在Android上需要用NDKGitHub - yixia/librtmp: librtmp for Android and iOS**这里有做好的 NDK makefile

https://github.com/saki4510t/UVCCamera or https://github.com/openxc/android-webcam?

 

https://blog.csdn.net/win_lin/article/details/45422375

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值