我在Android上编译了FFmpeg(libffmpeg.so).现在我必须构建像RockPlayer这样的应用程序或使用现有的Android多媒体框架来调用FFmpeg.
你有关于在Android/StageFright上集成FFmpeg的步骤/程序/代码/示例吗?
您能否指导我如何使用此库进行多媒体播放?
我有一个要求,我已经有音频和视频传输流,我需要将其提供给FFmpeg并进行解码/渲染.我怎么能在Android上这样做,因为IOMX API是基于OMX的,不能在这里插入FFmpeg?
另外,我找不到需要用于播放的FFmpeg API的文档.
我正在尝试使用NDK r7b构建FFMPEG的一体化静态二进制文件,一切正常,直到我尝试使用RTMP支持构建它.
我是来自https://github.com/guardianproject/android-ffmpeg和librtmp2.4以及自定义配置这样的来源
.configure \
--target-os=linux \
--cross-prefix=arm-linux-androideabi- \
--arch=arm \
--sysroot=/home/andrey/android-ndk-r7b/platforms/android-3/arch-arm \
--enable-static \
--disable-shared \
--disable-symver \
--enable-small \
--disable-devices \
--disable-avdevice \
--enable-gpl \
--enable-librtmp \
--prefix=../build/ffmpeg/armeabi \
--extra-cflags=-I../rtmpdump/librtmp \
--extra-ldflags=-L../rtmpdump/librtmp \
Run Code Online (Sandbox Code Playgroud)
和rtmpdump目录位于与ffmpeg相同的级别.据我所知,我的配置中的最后两个字符串说明编译器可能找到librtmp的来源.但我得到的只是ERROR: librtmp not found
我并没有对NDK进行过任何考验,而且我错过了一些重要的部分,但我自己找不到它.
使用android ndk r5b编译ffmpeg.
ffmpeg 0.6.1
android ndk r5b
cygwin 1.7
建立参考网址:http://www.cnblogs.com/scottwong/archive/2010/12/17/1909455.html
但是,ffmpeg ./configure结果错误!(在config.err文件下面)
check_cc
BEGIN /tmp/ffconf.GlDiY1P8.c
1 int main(void){ return 0; }
END /tmp/ffconf.GlDiY1P8.c
/android-ndk-r5b/toolchains/arm-eabi-4.4.0/prebuilt/windows/bin/arm-eabi-gcc -fPIC -DANDROID -c -o /tmp/ffconf.1kQLpGaU.o /tmp/ffconf.GlDiY1P8.c
arm-eabi-gcc.exe: /tmp/ffconf.GlDiY1P8.c: No such file or directory
arm-eabi-gcc.exe: no input files
C compiler test failed.
Run Code Online (Sandbox Code Playgroud)
所以,我只是尝试测试代码.
// test.c code
int main(){
return 0;
}
Run Code Online (Sandbox Code Playgroud)
/android-ndk-r5b/toolchains/arm-eabi-4.4.0/prebuilt/windows/bin/arm-eabi-gcc -fPIC -DANDROID -c -o ./test.o ./test.c
好!!!!没问题.
但是,cp ./test.c/tmp(复制到/ tmp)
/android-ndk-r5b/toolchains/arm-eabi-4.4.0/prebuilt/windows/bin/arm-eabi-gcc -fPIC -DANDROID -c -o ./test.o /tmp/test.c
arm-eabi-gcc.exe: /tmp/test.c: No such …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用NDK为我的Android应用程序构建FFMPEG库.我已经从它的网站上下载了源代码,我想我是在构建它(这是我第一次尝试使用NDK和ffmpeg).我已经创建了一个build.sh文件,我用它来从Mac OS X上的命令行执行它.但是我有几个问题......
首先,我知道我需要Android.mk文件,所以我可以在我的应用程序中使用构建库,但我不知道如何做到这一点,原因我上面告诉你.在我运行带有几个文件夹和一些库的build.shI get android文件夹之后.所以我的第一个问题是,我如何构建我需要的Android.mk文件......也许如果有人能解释我为什么需要它.

我的第二个问题是我需要一些来自ffmpeg的库才能在我的应用程序中使用它们,但是在构建之后我无法在源代码树中看到它们.我知道我必须在我身上启用它们,我build.sh想我做到了,但我看不到它们.因此,有关我的构建文件的任何类型的信息将有助于我了解如何配置它.这是它的样子:
#!/bin/bash
######################################################
# Usage:
# put this script in top of FFmpeg source tree
# ./build_android
# It generates binary for following architectures:
# ARMv6
# ARMv6+VFP
# ARMv7+VFPv3-d16 (Tegra2)
# ARMv7+Neon (Cortex-A8)
# Customizing:
# 1. Feel free to change ./configure parameters for more features
# 2. To adapt other ARM variants
# set $CPU and $OPTIMIZE_CFLAGS
# call build_one
######################################################
NDK=~/Desktop/android-ndk-r5b
PLATFORM=$NDK/platforms/android-8/arch-arm/
PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/darwin-x86
function …Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序来捕获视频和下载音频。我可以单独保存这些文件,但找不到将这些文件组合起来制作新的音频视频的方法。
视频文件为 .mp4 格式,音频为 .mp3 格式。它们的长度完全相同。
有什么办法可以合并这些文件吗?我已经尝试过,但找不到合并两个文件的方法。
我也可以用 FFMPEG 来做到这一点,但没有得到任何最好的方法来实现这一点。请帮帮我,我是安卓新手。
我能够得到android framebuffer.But我不知道如何将这些原始字节转换为jpg图像文件.如果我尝试使用java bufferedImage.setpixel方法在我的笔记本电脑上绘制图像.我得到不正确的彩色图像
Process sh = Runtime.getRuntime().exec("su", null,null);
OutputStream os = sh.getOutputStream();
os.write("/system/bin/cat /dev/graphics/fb0 > /sdcard/img.raw".getBytes());
os.flush();
os.close();
sh.waitFor();`
Run Code Online (Sandbox Code Playgroud) android ×6
ffmpeg ×4
android-ndk ×3
configure ×1
framebuffer ×1
java ×1
rtmp ×1
stagefright ×1