7

Android 2.3 以降でh264ファイルをYUVにデコードする必要があります。私が理解しているように、 OpenMAX IL実装へのアクセスを閉じた後、Stagefrightと通信する必要があります。これが唯一の方法です。私はこの問題のためにFFmpeg 0.10を使用し(そして0.9/0.9.1を試しました..)、NDK7でコンパイルしました(そして同じ結果でNDK6bも試しました):

  ffmpeg version 0.10 Copyright (c) 2000-2012 the FFmpeg developers
  built on Jan 28 2012 14:42:37 with gcc 4.4.3
  configuration: --target-os=linux --cross-prefix=arm-linux-androideabi- --arch=arm --cpu=armv7-a --sysroot=/home/grid/Android/Android_NDK/platforms/android-9/arch-arm --disable-avdevice --disable-decoder=h264 --disable-decoder=h264_vdpau --enable-libstagefright-h264 --prefix=build/stagefright/armeabi-v7a --extra-cflags='-Iandroid-source/frameworks/base/include -Iandroid-source/system/core/include -Iandroid-source/frameworks/base/media/libstagefright -Iandroid-source/frameworks/base/include/media/stagefright/openmax -I/home/grid/Android/Android_NDK/sources/cxx-stl/system/include -march=armv7-a -mfloat-abi=softfp -mfpu=neon' --extra-ldflags='-Wl,--fix-cortex-a8 -Landroid-libs -Wl,-rpath-link,android-libs' --extra-cxxflags='-Wno-multichar -fno-exceptions -fno-rtti'
  libavutil      51. 34.101 / 51. 34.101
  libavcodec     53. 60.100 / 53. 60.100
  libavformat    53. 31.100 / 53. 31.100
  libavfilter     2. 60.100 /  2. 60.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0.  6.100 /  0.  6.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

ハードウェア: Beagleboard-Xm + TI Android 2.3 (公式)

したがって、次のコマンドを入力すると、480p でエラーが発生します: ffmpeg -i /sdcard/Video/480p.mp4

停止 (シグナル) ffmpeg -i /sdcard/Video/480p.mp4

ADB Logcat からの完全な Android「回答」: http://pastebin.com/76JLgtXX

Android 開発者の皆さん、このエラーの意味と対処方法を知っている人はいますか? DSP ウィンドウを大きくしようとしましたが、うまくいきませんでした。「stagefright /sdcard/Video/480p.mp4」などのコマンドは正常に機能します。

PSさらに、いくつかの大きなファイル(720p)でAndroidの回答が次にあることがわかりました:

[libstagefright_h264 @ 0xd479b0] デコードに失敗しました: 80000000

4

1 に答える 1

2

ffmpeg 構成フラグで libstagefright-h264 を有効にしましたが、デコーダーとしては有効にしませんでした。

--enable-decoder=libstagefright_h264
于 2012-06-29T04:20:07.343 に答える