java 播放rtsp_ijkplayer实现rtsp视频流的播放

【实例简介】

本代码用b站开源的ijkplayer库修改后,实现对rtsp视频流的播放。之前用VLC,踩了太多坑,VLC的文档介绍不是太清楚,需自己用NDK编译,到最后一直没解决长时间运行就卡死问题。后来尝试ijkplayer库,完美解决对rtsp视频流的播放,同时也支持http、mp4、rtmp视频流

【实例截图】

【核心代码】

4644949ijkplayer-rtsp

└── ijkplayer-rtsp

├── app

│   ├── app.iml

│   ├── build.gradle

│   ├── proguard-rules.pro

│   └── src

│   ├── androidTest

│   │   └── java

│   │   └── com

│   │   └── nq_ijkplayer

│   │   └── ExampleInstrumentedTest.java

│   ├── main

│   │   ├── AndroidManifest.xml

│   │   ├── java

│   │   │   └── com

│   │   │   └── nq_ijkplayer

│   │   │   ├── IjkMediaPlayerUtil.java

│   │   │   ├── MainActivity.java

│   │   │   ├── PlayerIJKUtils.java

│   │   │   ├── VideoPlayerIJK.java

│   │   │   └── VideoPlayerListener.java

│   │   └── res

│   │   ├── drawable

│   │   │   └── white_circle.xml

│   │   ├── layout

│   │   │   ├── activity_main2.xml

│   │   │   ├── activity_main.xml

│   │   │   └── seekbarplay_style.xml

│   │   ├── mipmap-hdpi

│   │   │   ├── ic_launcher.png

│   │   │   └── ic_launcher_round.png

│   │   ├── mipmap-mdpi

│   │   │   ├── ic_launcher.png

│   │   │   └── ic_launcher_round.png

│   │   ├── mipmap-xhdpi

│   │   │   ├── ic_launcher.png

│   │   │   └── ic_launcher_round.png

│   │   ├── mipmap-xxhdpi

│   │   │   ├── ic_launcher.png

│   │   │   └── ic_launcher_round.png

│   │   ├── mipmap-xxxhdpi

│   │   │   ├── ic_launcher.png

│   │   │   └── ic_launcher_round.png

│   │   └── values

│   │   ├── colors.xml

│   │   ├── strings.xml

│   │   └── styles.xml

│   └── test

│   └── java

│   └── com

│   └── nq_ijkplayer

│   └── ExampleUnitTest.java

├── build.gradle

├── gradle

│   └── wrapper

│   ├── gradle-wrapper.jar

│   └── gradle-wrapper.properties

├── gradle.properties

├── gradlew

├── gradlew.bat

├── local.properties

├── nq-ijkplayer

│   ├── build.gradle

│   ├── gradle

│   │   └── wrapper

│   │   ├── gradle-wrapper.jar

│   │   └── gradle-wrapper.properties

│   ├── gradlew

│   ├── gradlew.bat

│   ├── local.properties

│   ├── nq-ijkplayer.iml

│   ├── proguard-rules.pro

│   └── src

│   ├── androidTest

│   │   └── java

│   │   └── tv

│   │   └── danmaku

│   │   └── ijk

│   │   └── media

│   │   └── ExampleInstrumentedTest.java

│   ├── main

│   │   ├── AndroidManifest.xml

│   │   ├── java

│   │   │   └── tv

│   │   │   └── danmaku

│   │   │   └── ijk

│   │   │   └── media

│   │   │   ├── example

│   │   │   │   ├── aa.java

│   │   │   │   └── media

│   │   │   │   ├── AndroidMediaController.java

│   │   │   │   ├── FileMediaDataSource.java

│   │   │   │   ├── IjkVideoView.java

│   │   │   │   ├── IMediaController.java

│   │   │   │   ├── IRenderView.java

│   │   │   │   ├── MeasureHelper.java

│   │   │   │   ├── MediaPlayerCompat.java

│   │   │   │   ├── SurfaceRenderView.java

│   │   │   │   └── TextureRenderView.java

│   │   │   └── player

│   │   │   ├── AbstractMediaPlayer.java

│   │   │   ├── AndroidMediaPlayer.java

│   │   │   ├── annotations

│   │   │   │   ├── AccessedByNative.java

│   │   │   │   └── CalledByNative.java

│   │   │   ├── exceptions

│   │   │   │   └── IjkMediaException.java

│   │   │   ├── ffmpeg

│   │   │   │   └── FFmpegApi.java

│   │   │   ├── IjkLibLoader.java

│   │   │   ├── IjkMediaCodecInfo.java

│   │   │   ├── IjkMediaMeta.java

│   │   │   ├── IjkMediaPlayer.java

│   │   │   ├── IjkTimedText.java

│   │   │   ├── IMediaPlayer.java

│   │   │   ├── ISurfaceTextureHolder.java

│   │   │   ├── ISurfaceTextureHost.java

│   │   │   ├── MediaInfo.java

│   │   │   ├── MediaPlayerProxy.java

│   │   │   ├── misc

│   │   │   │   ├── AndroidMediaFormat.java

│   │   │   │   ├── AndroidTrackInfo.java

│   │   │   │   ├── IAndroidIO.java

│   │   │   │   ├── IjkMediaFormat.java

│   │   │   │   ├── IjkTrackInfo.java

│   │   │   │   ├── IMediaDataSource.java

│   │   │   │   ├── IMediaFormat.java

│   │   │   │   └── ITrackInfo.java

│   │   │   ├── pragma

│   │   │   │   ├── DebugLog.java

│   │   │   │   └── Pragma.java

│   │   │   └── TextureMediaPlayer.java

│   │   ├── jniLibs

│   │   │   └── armeabi-v7a

│   │   │   ├── libijkffmpeg.so

│   │   │   ├── libijkplayer.so

│   │   │   └── libijksdl.so

│   │   └── res

│   │   └── values

│   │   └── strings.xml

│   └── test

│   └── java

│   └── tv

│   └── danmaku

│   └── ijk

│   └── media

│   └── ExampleUnitTest.java

├── nq_ijkplayer-master-master.iml

├── README.md

└── settings.gradle

60 directories, 90 files


版权声明:本文为weixin_35216469原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。