相关疑难解决方法(0)

在Android上使用FFmpeg

我在Android上编译了FFmpeg(libffmpeg.so).现在我必须构建像RockPlayer这样的应用程序或使用现有的Android多媒体框架来调用FFmpeg.

  1. 你有关于在Android/StageFright上集成FFmpeg的步骤/程序/代码/示例吗?

  2. 您能否指导我如何使用此库进行多媒体播放?

  3. 我有一个要求,我已经有音频和视频传输流,我需要将其提供给FFmpeg并进行解码/渲染.我怎么能在Android上这样做,因为IOMX API是基于OMX的,不能在这里插入FFmpeg?

  4. 另外,我找不到需要用于播放的FFmpeg API的文档.

android ffmpeg stagefright android-ffmpeg

202
推荐指数
6
解决办法
15万
查看次数

使用librtmp为android构建FFMPEG

我正在尝试使用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进行过任何考验,而且我错过了一些重要的部分,但我自己找不到它.

configuration android ffmpeg rtmp android-ndk

11
推荐指数
1
解决办法
7249
查看次数

使用android ndk r5b编译ffmpeg

使用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)

android ffmpeg configure android-ndk

7
推荐指数
2
解决办法
8405
查看次数

Android NDK和FFMPEG构建

我正在尝试使用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)

android ffmpeg android-ndk

7
推荐指数
3
解决办法
2万
查看次数

将音频与视频结合起来 - Android

我正在开发一个应用程序来捕获视频和下载音频。我可以单独保存这些文件,但找不到将这些文件组合起来制作新的音频视频的方法。

视频文件为 .mp4 格式,音频为 .mp3 格式。它们的长度完全相同。

有什么办法可以合并这些文件吗?我已经尝试过,但找不到合并两个文件的方法。

我也可以用 FFMPEG 来做到这一点,但没有得到任何最好的方法来实现这一点。请帮帮我,我是安卓新手。

android

5
推荐指数
1
解决办法
8412
查看次数

从原始帧缓冲数据获取jpg图像

我能够得到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)

java android framebuffer

3
推荐指数
1
解决办法
3550
查看次数