实现在Android本地视频播放器开发
在Android本地视频播放器开发中的搜索本地视频章节中,我们能够搜索本地视频并且显示每个视频的图片、标题、时间长度,当然如果需要添加其他的例如视频的长度和宽度可以使用Video类中的方法,既然我们获取到视频后,那么接下来就是解码视频,解码视频我使用的是ffmpeg,所以这张就是使用NDK编译手机可以使用的FFmpeg库。
[plain] 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
在下一张中会使用ffmpeg解码视频文件中音频。
实现在Android本地视频播放器开发相关推荐
- Android本地视频播放器开发--视频解码
在上一章Android本地视频播放器开发--SDL编译编译中编译出sdl的支持库,当时我们使用的2.0,但是有些api被更改了,所以在以下的使用者中我们使用SDL1.3的库,这个库我会传上源码以及编译 ...
- android 编译 sdl,SDL编译 - Android本地视频播放器开发_Linux编程_Linux公社-Linux系统门户网站...
在上一章 Android本地视频播放器开发--ffmpeg解码视频文件中的音频(2)[http://www.linuxidc.com/Linux/2013-06/85955p5.htm]中使用Ope ...
- Android本地视频播放器开发--NDK编译FFmpeg
在Android本地视频播放器开发中的搜索本地视频章节中,我们能够搜索本地视频并且显示每个视频的图片.标题.时间长度,当然如果需要添加其他的例如视频的长度和宽度可以使用Video类中的方法,既然我们获 ...
- Android本地视频播放器开发--SDL编译
在上一章 Android本地视频播放器开发--ffmpeg解码视频文件中的音频(2)中使用OpenSL ES来播放视频的声音,遗留的问题是声音的不同步,由于视频实现部分也要同步,而且音视频也要同步,所 ...
- Android本地视频播放器开发 - 搜索本地视频(1)
这一章的主要内容是搜索手机本地视频,添加到ListView列表里,每一个表项含有这个视频的缩略图,视频的播放时间,视频的标题,在搜索本地视频(1)中我们先制作搜索功能. Video.java--视 ...
- Android本地视频播放器开发--搜索本地视频(1)
这一章的主要内容是搜索手机本地视频,添加到ListView列表里,每一个表项含有这个视频的缩略图,视频的播放时间,视频的标题,在搜索本地视频(1)中我们先制作搜索功能. Video.java--视频相 ...
- android音视频播放器开发百度云,Android 播放端 SDK
1 概述 PLDroidPlayer 是一个适用于 Android 平台的音视频播放器 SDK,可高度定制化和二次开发,为 Android 开发者提供了简单.快捷的接口,帮助开发者在 Android ...
- Android本地视频播放器mediaplay版
本文为自定义的视频播放器,可进行屏幕切换(由于换屏时大小变化,电脑截图就分开截图了),效果如下图: --------------播放视频概括: SurfaceView+MediaPlayer以及 Vi ...
- 基于NDK、C++、FFmpeg的android视频播放器开发实战-夏曹俊-专题视频课程
基于NDK.C++.FFmpeg的android视频播放器开发实战-1796人已学习 课程介绍 课程包含了对流媒体(拉流)的播放,演示了播放rtmp的香港卫视,支持rtsp摄像头和ht ...
最新文章
- hibernate笔记
- IOS - No provisioning profiles with a valid signing identity 一种解决方法
- 在MVVM实践中的Command与CommandParameter的使用
- Spring IOC 容器源码分析系列文章导读 1
- oh-my-zsh 国内网络快速安装方法 | How to install oh-my-zsh in China
- 海康、大华IPC的rtsp格式
- 《Linux编程》上机作业 ·004【文件I/O操作】
- Linux 命令(93)—— updatedb 命令
- block的理解 ios_深入理解iOS的block (下)
- JSON服务器(json-server)
- 计算机音乐新年好呀,新年好呀新年好 伴奏
- relocation R_X86_64_PC32 against symbol ff_pw_9 can not be used when making a shared object
- RHEL5_x64上安装oracle 11.2
- cool edit pro 2.1中文版未定义外部错误怎么解决
- Unity UGUI 屏幕适配
- iOS(swift): Core ML的使用
- python SMTP发送带图片的邮件时,报TypeError: Could not guess image MIME subtype错误的解决办法
- 隔离DCDC电源模块和非隔离DCDC电源模块不同之处
- BES2300x笔记(4) -- TWS组对与蓝牙配对(Peer or Pair傻傻分不清)
- 三种数据流分析的方程、用途
热门文章
- 【Vegas原创】网站计数器(asp)
- 异步fifo_异步FIFO设计
- python箱线图_Python 箱线图 plt.boxplot() 参数详解
- struts2 ajax html,Struts2+Jquery+Ajax+Json
- 加强版dd工具dc3dd
- 分享Kali Linux 2017年第23周镜像文件
- Java方法调用事件_Java中的事件处理和Java中actionPerformed方法的执行
- python控制苹果手机触摸屏失灵怎么办_iphone触摸屏失灵怎么办 iphone触摸屏失灵解决办法【详解】...
- 可穿戴的脑机接口设备将运动意念转化为行动
- Python-EEG工具库MNE-Python详细安装与使用