導航:首頁 > 操作系統 > androidijkplayer直播

androidijkplayer直播

發布時間:2022-09-29 03:20:28

1. android中ijkplayer如何設置音頻解碼器怎樣設置支持wav音頻解碼

使用Android自帶的Mediaplayer類進行播放器的開發的話是自動解碼的,但是只支持.3gp,.mp4,.mp3格式文件的解碼,其他類型的文件的解碼是不支持的,需要自己編寫解碼的程序。

2. 基於ijkplayer的android播放器開發,求指導,哪有資料

在Android本地視頻播放器開發中的搜索本地視頻章節中,我們能夠搜索本地視頻並且顯示每個視頻的圖片、標題、時間長度,當然如果需要添加其他的例如視頻的長度和寬度可以使用Video類中的方法,既然我們獲取到視頻後,那麼接下來就是解碼視頻,解碼視頻我使用的是ffmpeg,所以這張就是使用NDK編譯手機可以使用的FFmpeg庫。 NDK=/opt/android-ndk-r8d PLATFORM=$NDK/platforms/android-8/arch-arm/ PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86 LOCAL_ARM_NEON=true CPU=armv7-a OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=neon -marm -mcpu=cortex-a8" PREFIX=./android/$CPU ./configure --target-os=linux --prefix=$PREFIX --enable-cross-compile --arch=arm --enable-nonfree --enable-asm --cpu=cortex-a8 --enable-neon --cc=$PREBUILT/bin/arm-linux-androideabi-gcc --cross-prefix=$PREBUILT/bin/arm-linux-androideabi- --nm=$PREBUILT/bin/arm-linux-androideabi-nm --sysroot=$PLATFORM --extra-cflags=" -O3 -fpic -DANDROID -DHAVE_SYS_UIO_H=1 $OPTIMIZE_CFLAGS " --disable-shared --enable-static --extra-ldflags="-Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib -lc -lm -ldl -llog" --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-swscale --disable-swresample --enable-avformat --enable-avcodec --disable-optimizations --disable-debug --disable-doc --disable-stripping --enable-pthreads --disable-yasm --enable-zlib --enable-pic --enable-small make clean make -j4 install $PREBUILT/bin/arm-linux-androideabi-ar d libavcodec/libavcodec.a inverse.o $PREBUILT/bin/arm-linux-androideabi-ld -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -soname libffmpeg-neon.so -shared -nostdlib -z noexecstack -Bsymbolic --whole-archive --no-undefined -o $PREFIX/libffmpeg-neon.so libavcodec/libavcodec.a libavformat/libavformat.a libavutil/libavutil.a -lc -lm -lz -ldl -llog --warn-once --dynamic-linker=/system/bin/linker $PREBUILT/lib/gcc/arm-linux-androideabi/4.4.3/libgcc.a NDK=/opt/android-ndk-r8d PLATFORM=$NDK/platforms/android-8/arch-arm/ PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86 LOCAL_ARM_NEON=true CPU=armv7-a OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=neon -marm -mcpu=cortex-a8" PREFIX=./android/$CPU ./configure --target-os=linux --prefix=$PREFIX --enable-cross-compile --arch=arm --enable-nonfree --enable-asm --cpu=cortex-a8 --enable-neon --cc=$PREBUILT/bin/arm-linux-androideabi-gcc --cross-prefix=$PREBUILT/bin/arm-linux-androideabi- --nm=$PREBUILT/bin/arm-linux-androideabi-nm --sysroot=$PLATFORM --extra-cflags=" -O3 -fpic -DANDROID -DHAVE_SYS_UIO_H=1 $OPTIMIZE_CFLAGS " --disable-shared --enable-static --extra-ldflags="-Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib -lc -lm -ldl -llog" --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-swscale --disable-swresample --enable-avformat --enable-avcodec --disable-optimizations --disable-debug --disable-doc --disable-stripping --enable-pthreads --disable-yasm --enable-zlib --enable-pic --enable-small make clean make -j4 install $PREBUILT/bin/arm-linux-androideabi-ar d libavcodec/libavcodec.a inverse.o $PREBUILT/bin/arm-linux-androideabi-ld -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -soname libffmpeg-neon.so -shared -nostdlib -z noexecstack -Bsymbolic --whole-archive --no-undefined -o $PREFIX/libffmpeg-neon.so libavcodec/libavcodec.a libavformat/libavformat.a libavutil/libavutil.a -lc -lm -lz -ldl -llog --warn-once --dynamic-linker=/system/bin/linker $PREBUILT/lib/gcc/arm-linux-androideabi/4.4.3/libgcc.a注意上面的NDK要換成你本地的路徑。這個腳本我是啟用neon的,所以只能運行在有neon的手機上,如果想要運行到非neon的手機上,則需要去掉neon特性。 然後執行這個腳本,就會生成libffmpeg-neon.so

3. Android ijkplayer詳細使用步驟

ijkplayer是Bilibili基於ffmpeg開發並開源的輕量級視頻播放器,支持播放本地網路視頻,也支持流媒體播放。支持Android&iOS。

ijkplayer的編譯這里不多闡述,我也是直接獲取別人編譯完成的so庫文件,直接使用的。如果你對ijkplayer的編譯感興趣,可以網路一下,有很多文章。
使用ijkplayer
導包

ijkplayer源碼官方下載地址:https://github.com/Bilibili/ijkplayer
上面是官方提供的ijkplayer的源碼地址,但是它是沒有編譯過的。下面我給大家分享一份編譯好的ijkplayer源碼,由於比較大,分了三個包才上傳完成,需要三個包都下載後才能一起解壓
編譯好的ijkplayer.part1
編譯好的ijkplayer.part2
編譯好的ijkplayer.part3

我們下載完成,進入android/ijkplayer目錄:

ijkplayer-java:ijkplayer的一些操作封裝及定義。這裡面是通用的API介面,裡面最主要的是IMediaPlayer,它是用來渲染顯示多媒體的。
ijkplayer-exo:google開源的一個新的播放器ExoPlayer,在Demo中和ijkplayer對比用的。通過安裝ijkplayer可以發現setting裡面可以選擇不同player來渲染多媒體顯示,該模塊下面就是一個MediaPlayer。
ijkplayer-example:測試程序
ijkplayer-{arch}:編譯出來的各個版本的.so文件。

官方提供的Demo的代碼還是挺多的,甚至還用了otto,需要對官方的demo進行精簡,去除一些用不到的代碼。
首先需要的是ijkplayer-{arch}、ijkplayer-Java兩個庫。exo是Google提供的新的播放器,這里不需要,直接砍掉。其次是ijkplayer-example里的,我們需要的只有tv.danmaku.ijk.media.example.widget.media包下的部分類。
註:
鏈接庫ijkplayer-arm64,ijkplayer-armv5,ijkplayer-armv7a,ijkplayer-x86,ijkplayer-x86_64是不同體系架構的動態鏈接庫,在當前工程結構裡面作為一個模塊,如果不想做兼容多平台問題,可以刪除其他目錄結構,單獨保留自己需要的平台目錄。

新建一個工程:
(1)把ijkplayer-armv7a/src/main/libs下的文件拷貝到新工程app目錄的libs下。
(2)把ijkplayer-java/build/outputs/aar/ijkplayer-java-release.aar復制到新工程app目錄的libs下。
(3)修改APP下的build.gradle, 主要設置.so及.aar的位置:
apply plugin: 'com.android.application'

android {
compileSdkVersion 24
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "com.hx.ijkplayer_demo"
minSdkVersion 14
targetSdkVersion 24
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
jniLibs.srcDirs = ['libs'] /**在libs文件夾下找so文件*/
}
}
}

repositories {
mavenCentral()
flatDir {
dirs 'libs' /**在libs文件夾下找aar文件*/
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', mole: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.2.1'
testCompile 'junit:junit:4.12'
compile(name: 'ijkplayer-java-release', ext: 'aar') /**編譯ijkplayer-java-release.aar文件*/
}

(4)復制ijkplayer-example下面的tv.danmaku.ijk.media.example.widget.media到新的工程,刪掉一些不需要類。

(5)IjkVideoView裡面還是有很多如exo等沒用的東西,刪!具體可以參見我後面的Demo。

(6)Manifest
...
<activity android:name=".MainActivity"
android:screenOrientation="sensorLandscape"
android:configChanges="orientation|keyboardHidden">
...
</activity>
...
<uses-permission android:name="android.permission.INTERNET"/>

4. android直播功能哪個開源的sdk好用

bilibili 開源的 ijkplayer
望採納

5. ijkPLayer 0.8.8播放rtsp(android),編譯出來的庫需要在真機上調試嗎

編譯環境是:

virtualbox下的ubuntu
jdk-8u112-linux-x64 .tar.gz
android-ndk-r13-linux-x86_64.zip
android-sdk_r24.4.1-linux.tgz

配置好這些後安裝: install homebrew, git, yasm

搭建好環境後就可以編譯了,開始我編譯出了0.8.4版本,發現播放不了rtsp,播放就是黑屏,後來發現有人說新版本有這個問題,退回到舊版本就沒有問題了,於是我使用了K0.7.6

閱讀全文

與androidijkplayer直播相關的資料

熱點內容
cad2010命令狀態欄 瀏覽:352
李采譚所有電影名 瀏覽:797
永不收費的影視網站 瀏覽:137
python中字元串的截取 瀏覽:432
黑人電影 瀏覽:612
php批量刪除注釋 瀏覽:945
電腦插上廣聯達加密鎖不亮 瀏覽:127
phpca證書 瀏覽:230
主角叫陳凡的都市炒股小說 瀏覽:517
python3菱形繼承 瀏覽:622
午夜激情在線播放 瀏覽:227
最佳分配演算法求缺頁中斷次數 瀏覽:290
linux搭建nfs 瀏覽:846
聯想軟體商店桌面壁紙在哪個文件夾 瀏覽:81
msp430單片機教材 瀏覽:422
命令與征服3版本 瀏覽:150
伺服器租賃為什麼計費 瀏覽:262
單擺運動的python編程 瀏覽:951
一品俠手機網排行榜 瀏覽:503
程序員頭條兼職粉絲是真的嗎 瀏覽:462