jni - convert yuv to mp4 by ffmpeg on android -
i have convert yuv mp4 ffmpeg on android. when convert wav mp4 works well. when convert yuv or yuv + wav mp4, got errer message said
error decoding aac frame header
anybody knows happened?
following full debug log
transferyuv2mp4() enter __transfer_yuv_to_mp4() enter __transfer_yuv_to_mp4() argv[00/17] = ffmpeg __transfer_yuv_to_mp4() argv[01/17] = -loglevel __transfer_yuv_to_mp4() argv[02/17] = debug __transfer_yuv_to_mp4() argv[03/17] = -y __transfer_yuv_to_mp4() argv[04/17] = -i __transfer_yuv_to_mp4() argv[05/17] = /sdcard/111.yuv __transfer_yuv_to_mp4() argv[06/17] = -i __transfer_yuv_to_mp4() argv[07/17] = /sdcard/3.wav __transfer_yuv_to_mp4() argv[08/17] = -c:a __transfer_yuv_to_mp4() argv[09/17] = aac __transfer_yuv_to_mp4() argv[10/17] = -strict __transfer_yuv_to_mp4() argv[11/17] = experimental __transfer_yuv_to_mp4() argv[12/17] = -b:a __transfer_yuv_to_mp4() argv[13/17] = 56k __transfer_yuv_to_mp4() argv[14/17] = -preset __transfer_yuv_to_mp4() argv[15/17] = ultrafast __transfer_yuv_to_mp4() argv[16/17] = /sdcard/111.mp4 __run_ffmpeg_main() enter __run_ffmpeg_main() handle=0xb000f7f8 __run_ffmpeg_main() dlfunc=0x4b5a2728 ffmpeg version 1.2.2 copyright (c) 2000-2013 ffmpeg developers built on aug 10 2013 16:34:45 gcc 4.6 (gcc) 20120106 (prerelease) configuration: --target-os=linux --prefix=./android/armv7-a --sysroot=/users/pht/android/ndks/android-ndk-r9/platforms/android-8/arch-arm/ --enable-gpl --enable-version3 --disable-shared --enable-static --disable-ffprobe --disable-ffplay --disable-ffserver --disable-network --enable-avformat --enable-avcodec --enable-cross-compile --arch=arm --cc=/users/pht/android-standalone-toolchain/bin/arm-linux-androideabi-gcc --nm=/users/pht/android-standalone-toolchain/bin/arm-linux-androideabi-nm --cross-prefix=/users/pht/android-standalone-toolchain/bin/arm-linux-androideabi- --extra-cflags=' -i../fdk-aac/include -i../x264 -o3 -fpic -dandroid -dhave_sys_uio_h=1 -dipv6mr_interface=ipv6mr_ifindex -fasm -wno-psabi -fno-short-enums -fno-strict-aliasing -finline-limit=300 -mfloat-abi=softfp -mfpu=vfpv3-d16 -marm -march=armv7-a ' --extra-ldflags=' -l../fdk-aac/lib -l../x264 -wl,-rpath-link=/users/pht/android/ndks/android-ndk-r9/platforms/android-8/arch-arm//usr/lib -l/users/pht/android/ndks/android-ndk-r9/platforms/andr libavutil 52. 18.100 / 52. 18.100 libavcodec 54. 92.100 / 54. 92.100 libavformat 54. 63.104 / 54. 63.104 libavdevice 54. 3.103 / 54. 3.103 libavfilter 3. 42.103 / 3. 42.103 libswscale 2. 2.100 / 2. 2.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 2.100 / 52. 2.100 splitting commandline. reading option '-loglevel' ... matched option 'loglevel' (set libav* logging level) argument 'debug'. reading option '-y' ... matched option 'y' (overwrite output files) argument '1'. reading option '-i' ... matched input file argument '/sdcard/111.yuv'. reading option '-i' ... matched input file argument '/sdcard/3.wav'. reading option '-c:a' ... matched option 'c' (codec name) argument 'aac'. reading option '-strict' ... matched avoption 'strict' argument 'experimental'. reading option '-b:a' ... matched option 'b' (video bitrate (please use -b:v)) argument '56k'. reading option '-preset' ... matched avoption 'preset' argument 'ultrafast'. reading option '/sdcard/111.mp4' ... matched output file. finished splitting commandline. parsing group of options: global . applying option loglevel (set libav* logging level) argument debug. applying option y (overwrite output files) argument 1. parsed group of options. parsing group of options: input file /sdcard/111.yuv. parsed group of options. opening input file: /sdcard/111.yuv. format aac detected low score of 1, misdetection possible! file position before avformat_find_stream_info() 0 get_buffer() failed error decoding aac frame header. channel element 2.12 not allocated more 1 aac rdb per adts frame not implemented. update ffmpeg version newest 1 git. if problem still occurs, means file has feature has not been implemented. channel element 3.4 not allocated channel element 2.2 not allocated number of scalefactor bands in group (44) exceeds limit (40). channel element 2.10 not allocated channel element 1.15 not allocated channel element 3.6 not allocated channel element 2.0 not allocated channel element 3.3 not allocated sample rate index in program config element not match sample rate index configured container. channel element 2.8 not allocated sample rate index in program config element not match sample rate index configured container. channel element 3.2 not allocated reserved bit set. channel element 2.6 not allocated channel element 2.1 not allocated dependent coupling not supported ltp dependent coupling not supported ltp dependent coupling not supported ltp dependent coupling not supported ltp dependent coupling not supported ltp
and "dependent coupling..." line loops thousands of times
i didn't open rawvideo , yuv4 encoder/decoder , muxer/demuxer when compile ffmpeg. after add them, has been solved.
Comments
Post a Comment