基于ijkplayer的播放器开发-支持Dash流
一、版本
ffmpeg: v4.0
ijk: v0.8.8
二 、编译
首先编译ffmpeg
cd ijkplayer
./ios-ios.sh
cd ios
./compile-ffmpeg clean
./compile-ffmpeg all或者 ./compile-ffmpeg arm64 等
编译ijkplayer
Xcode打开IJKMediaDemo工程,选中IJKMediaFramework(已改为TCLIJKPlayerSDK),build编译.
三、说明
支持dash及opus
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=dash"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=opus"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-libxml2"
代码中加了dash、opus支持,可以直接播放.mpd,mdp文件是一个xml文件,所以需要加libxml2支持,在intel芯片的mac电脑上,可以直接编译,会自动链接到系统的libxml2库,但是在m1芯片上,会报错libxml-2.0 not fount using pkg-config
解决办法:
首先查看pkg-config是否安装,如果未安装,就去安装pkg-config(去网上找资料,比较简单)
安装后再编译ffmpeg,如果还报这个错误,那就是libxml2未链接上,再m1电脑上,手动安装 的libxml2库虽然也是arm64的,但是链接上还是会报错,这里可以链接上xcode里面的libxml2库,刚刚安装的pkg-config在/usr/local/lib下
pig-config安装: https://blog.csdn.net/qqqq245425070/article/details/84312783
libxml2 : https://blog.csdn.net/u014783685/article/details/114401607
open /usr/local/lib/pkgconfig/libxml-2.0.pc
prefix改为
prefix=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr