Android 基于FFMpeg命令的转流器

来源:互联网 发布:2014nba总决赛数据 编辑:程序博客网 时间:2024/06/01 07:28

目前市场上的流行的摄像头都是视频流都是rtsp协议的,而目前的流媒体的服务器推流都是使用rmtp协议,这是需要把一个rtsp的视频流转成rtmp的视频流,牛人可以自己写一个拉流器和推流器,自己来实现,对于刚涉及到这个领域的人来说可以考虑使用目前很流行,且很牛B的开源框架来实现,它就是大名鼎鼎的FFMpeg,至于它如何的牛,百度一下,目前播放器里都有它的身影,比如要实现把rtsp转rtmp只需要一个行命令就行“ffmpeg -re -i rtsp://192.168.191.3/mpeg4cif -vcodec copy -acodec copy -f flv -y rtmp://www.ossrs.net/live/helloworld”,这个命令的意思就是把视频流从192.168.191.3拉下来,然后视频编码与音频编码复用,打包成flv格式的文件流推送到www.ossrs.net的流媒体服务器上去。

但这个框架是使用C语言编写的,android上如何迁移呢,对于新手来说,把这个C框架迁移到android平台也是个麻烦,但这个问题已经被解决了,目前只需要加一行包依赖就可以让你的应用使用上FFmpeg,目前已经有一些开源项目做这个事情,http://writingminds.github.io/ffmpeg-android-java/

先在你的android 加上一行依赖

  •  Grab via gradle
    compile 'com.writingminds:FFmpegAndroid:0.3.2'
  • Or Maven
    <dependency>  <groupId>com.writingminds</groupId>  <artifactId>FFmpegAndroid</artifactId>  <version>0.3.2</version></dependency>


下面的代码就是基于ffmpeg的命令的转流器实现


0 0