在Ubuntu下编译IjkPlayer,使其支持rtsp格式的播放流

1.安装Ubuntu系统

我是在虚拟机中安装的ubuntu系统的,所以我需要先安装一个虚拟机。

下载VMware虚拟机

VMware下载地址

下载ubuntu.ios

ubuntu下载地址

安装ubuntu

指导地址 https://jingyan.baidu.com/article/14bd256e0ca52ebb6d26129c.html

(安装的时候会设置用户账号密码,ubuntu中,密码是默认不显示的,输出正确密码直接Enter就行了)

内存不够用可以自己去设置

在Ubuntu下编译IjkPlayer,使其支持rtsp格式的播放流_第1张图片

安装git和yasm,终端执行(Ctril + Alt + T)以下命令:

sudo apt-get update

sudo apt-get install git

sudo apt-get install yasm



下载安装JDK:

原文链接:https://www.cnblogs.com/a2211009/p/4265225.html

下载安装Android NDK和SDK:

1.下载Android NDK:

执行命令行: wget -c http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin

定位到下载的ndk.bin的文件夹,右键在终端打开:

执行命令行:sudo ./android-ndk-r10e-linux-x86_64.bin

2.下载Android SDK:

执行命令行:wget http://dl.gmirror.org/android/android-sdk_r24.4.1-linux.tgz

右键提取,或者执行命令行:tar-zxvfandroid-sdk_r24.4.1-linux.tgz

3.配置环境:

为了方便,我将NDK和SDK放在了同一个文件夹下,文件名也稍作了修改


在Ubuntu下编译IjkPlayer,使其支持rtsp格式的播放流_第2张图片

定位文件位置

在Ubuntu下编译IjkPlayer,使其支持rtsp格式的播放流_第3张图片

配置环境变量:

先打开配置文件。输入命令行:

sudo gedit /etc/profile   //打开profile文件

添加配置信息:

export ANDROID_NDK=/home/yh/config/android-ndk-r10e

export ANDROID_SDK=/home/yh/config/android-sdk-linux

export PATH=$PATH:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools:$ANDROID_NDK:$PATH


在Ubuntu下编译IjkPlayer,使其支持rtsp格式的播放流_第4张图片

保存文件

检查JDK环境是否配置成功:

java -version

检查NDK环境是否配置成功:

ndk-build


在Ubuntu下编译IjkPlayer,使其支持rtsp格式的播放流_第5张图片


下载Ijkplayer,可以根据Bilibili文档上来执行:

https://github.com/Bilibili/ijkplayer


在Ubuntu下编译IjkPlayer,使其支持rtsp格式的播放流_第6张图片

在执行最后一句命令行 ./compile-ijk.sh all之前,需要修改一些东西

1.首先需要支持rtsp格式的播放流

打开下载下来的ijkplayer文件夹,打开module-lite.sh文件


在Ubuntu下编译IjkPlayer,使其支持rtsp格式的播放流_第7张图片

添加支持

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=rtp"

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=tcp"

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=rtsp"

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=sdp"

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=rtp"


在Ubuntu下编译IjkPlayer,使其支持rtsp格式的播放流_第8张图片


2.修改ff_ffplay.c文件


在Ubuntu下编译IjkPlayer,使其支持rtsp格式的播放流_第9张图片


在Ubuntu下编译IjkPlayer,使其支持rtsp格式的播放流_第10张图片


在Ubuntu下编译IjkPlayer,使其支持rtsp格式的播放流_第11张图片

修改ijklivehook.c


在Ubuntu下编译IjkPlayer,使其支持rtsp格式的播放流_第12张图片


在Ubuntu下编译IjkPlayer,使其支持rtsp格式的播放流_第13张图片

修改完成后开始编译代码:

在compile-ijk.sh的文件夹下打开终端,执行命令行./compile-ijk.sh all

等待编译成功。成功后直接使用文件夹中的ijkplayer就好了


在Ubuntu下编译IjkPlayer,使其支持rtsp格式的播放流_第14张图片

我是直接运行的ijkplayer里面的demo播放我的网络摄像头地址:运行效果如下:


在Ubuntu下编译IjkPlayer,使其支持rtsp格式的播放流_第15张图片

基本上是秒开,延迟2s左右

第一次弄这个,好多不会的,整个过程中遇到一些问题,感谢老武前辈,大斌哥的帮助。

你可能感兴趣的:(在Ubuntu下编译IjkPlayer,使其支持rtsp格式的播放流)