android开发播放直播视频rtsp方案总结

首先技术调研,自学android,有不对的地方请指教。

android 多媒体视频播放: https://www.cnblogs.com/yishujun/p/5378114.html

想先找android原生播放视频的方式:

菜鸟教程:https://www.runoob.com/w3cnote/android-tutorial-mediaplayer.html

一、MediaPlayer播放音频

MediaPlayer + SurfaceView播放视频

VideoView来直接 播放视频

跟着下载项目,解决编译报错。运行,可以播放本地的MP4

http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4

https://flv2.bn.netease.com/videolib1/1811/26/OqJAZ893T/HD/OqJAZ893T-mobile.mp4 

AndroidManifest.xml 加入权限
<uses-permission android:name="android.permission.INTERNET"/>

但只有VideoView 可以播放rtsp。但播放不流畅,这种方式只能播放rtsp流文件,不能播放实时流。

 

二、ijkPlayer

https://blog.csdn.net/a910626/article/details/93657087

基于FFmpeg的轻量级Android/iOS视频播放器

https://github.com/Bilibili/ijkplayer

ijkplayer是b站基于FFmpeg开源的播放器,ijkplayer提供了个IjkMediaPlayer,功能和用法跟MediaPlayer类似,但是强大很多

https://blog.csdn.net/y331271939/article/details/83217507

https://blog.csdn.net/qwe511455842/article/details/80373217

https://www.jianshu.com/p/0ae5924cc7d6

https://www.jianshu.com/p/a57bbdd78798

https://github.com/AriaLyy/BlogDemo

https://github.com/AriaLyy/BlogDemo/tree/master/FlowVideoTest

我下载的例子播放不了rtsp, 但是可以播放rtmp

 

三、GiraffePlayer

下载demo跑起来。可以播放本地MP4、http、 m3u8、rtsp不行。

 

四、vlc

https://www.cnblogs.com/tangchun/p/9686570.html

https://www.cnblogs.com/brooks-dotnet/p/5406110.html

https://github.com/mymbrooks/VLCAndroidDemo

https://blog.csdn.net/banketree/article/details/39575973

Vlc for android是一款开源安卓播放器,具备播放多媒体文件、光盘、设备以及网络流媒体协议等功能,支持ARMv7 CPU或一个x86 CPU的设备,所有播放控制特性都已经开发完整。

https://code.videolan.org/videolan/libvlc-android-samples/tree/master/

https://blog.csdn.net/lp8800/article/details/62221092

vlc 可以播放rtsp

 

流传输协议。我们最常见的有三种:
rtsp, hls, rtmp. Android系统的多媒体框架本身已经对除了rtmp以外的流媒体协议和视频格式都已经有所支持,但是问题在于支持的程度根据硬件平台不同行为可能有些许不同

https://www.jianshu.com/p/e744e5a8028c

对比ijkplayer和vlc,两个都是在ffmpeg基础上进行开发的媒体框架,各自有各自的长处。ijkplayer的性能表现和软硬解码的切换的灵活性十分好,并且支持SurfaceView, TextureView可更换渲染视频,并且可以选择使用OpenGLES渲染视频。ijkplayer解析和使用已有很多文章说明,其本质是SDL配合FFMPEG渲染解码。

https://blog.csdn.net/MX_Dream/article/details/86629642

 

五、使用VLC把MP4转成rtsp协议视频成功播放详细步骤

https://blog.csdn.net/qq_40015157/article/details/111238330

获得rtsp 视频源用于测试

 

六、编译问题

编译碰到的问题:
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.lis.huapro-2/base.apk"],nativeLibraryDirectories=[/data/app/com.lis.huapro-2/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libijkffmpeg.so"

找不到对应的so文件。
原文链接:https://blog.csdn.net/cjm2484836553/article/details/78725483

ndk{
    abiFilters("armeabi-v7a", "x86")
}

编译时包support.v4报错:

gradle.properties

import android.support.v4.app.Fragment;

//import androidx.fragment.app.Fragment;

写法变了,下载support-v4包

 

七、安卓模拟器

http://www.genymotion.net/

https://www.genymotion.com/download/

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值