Avidemux 2.5.6 CODEC_ID_H264 video decoder failed!

Started by videofan, January 14, 2013, 07:40:51 PM

Previous topic - Next topic

videofan

Anyone know how I can resolve 'Decoder init: CODEC_ID_H264 video decoder failed!'. I had libav-9.1 (latest) already installed on the box before compiling. I can join these same files just fine with Avidemux 2.5.6 on Windows. The video joins fine with 2.6.1 on linux and no H264 decoder error, but I need to get 2.5.6 working since it preserves constant frame rates. In the attached log you will notice it was able to initialize the decoder 'Decoder init: CODEC_ID_H264 video decoder initialized!'.

Last few lines:

[MP4 audio] : 10604451 bytes (36594 chunks)
Byterate     :16000
Frequency :48000
Encoding   :255
Channels   :2
Extra data :5
3gp Go to time succeeded chunk :0 time ask:0 time get:0
3gp/mov file successfully read..
The video codec has some extradata (42 bytes)

0000 : .d..ÿá..gd..Ã,¬Ãâ,,¢Ã¢â€šÂ¬Ã,´  01 64 00 1f ff e1 00 19 67 64 00 1f ac d9 80 b4
0010 : 3îH@....@...Ã,£Ã†.f  33 ee 48 40 00 00 03 00 40 00 00 0c a3 c6 0c 66
0020 : €...héx\Ã,²,  80 01 00 06 68 e9 78 5c b2 2c
[Editor] Duration in seconds: 780, in samples: 37470720

Decoder FCC: H264 (34363248)
Searching decoder (716 x 394, extradataSize:42)...
[lavc] Build: 3484160
[lavc] Enabling MT decoder with 8 threads
[lavc] Initializing H264 decoder with 42 extradata
[lavc] Decoder init: CODEC_ID_H264 video decoder failed!
********************************************************************************
* Error *
* Codec *
* Internal error opening CODEC_ID_H264 *
********************************************************************************

*********** BACKTRACK **************
/usr/lib/libADM_core.so(ADM_backTrack+0x4b) [0xb759bc3b]:0:<ADM_backTrack>:-2
avidemux2_cli(_ZN13decoderFFH264C1EjjjPhj+0x17c) [0x81139ac]:1:<decoderFFH264::decoderFFH264(unsigned int, unsigned int, unsigned int, unsigned char*, unsigned int)>:0
avidemux2_cli(_Z10getDecoderjjjjPhj+0x64c) [0x811034c]:2:<getDecoder(unsigned int, unsigned int, unsigned int, unsigned int, unsigned char*, unsigned int)>:0
avidemux2_cli(_ZN12ADM_Composer7addFileEPKch8fileType+0xad6) [0x8095f76]:3:<ADM_Composer::addFile(char const*, unsigned char, fileType)>:0
avidemux2_cli(_Z11A_appendAviPKcb+0x56) [0x80867c6]:4:<A_appendAvi(char const*, bool)>:0
avidemux2_cli(_Z10automationv+0x1c0) [0x810f570]:5:<automation()>:0
avidemux2_cli(_Z9UI_RunAppv+0x14) [0x8147ba4]:6:<UI_RunApp()>:0
avidemux2_cli(main+0x304) [0x808a414]:7:<main>:-2
/lib/libc.so.6(__libc_start_main+0xdc) [0xb7033e9c]:8:<__libc_start_main>:-2
avidemux2_cli(_ZNSt8ios_base4InitD1Ev+0x41) [0x8081051]:9:<std::ios_base::Init::~Init()>:0
*********** BACKTRACK **************
22:29:43 Call terminate!!!
Cleaning up
[lavc] Killing decoding threads
[lavc] Destroyed
[lavc] Killing decoding threads
[lavc] Destroyed
Deleting post proc
Waiting for Spidermonkey to finish...
Cleaning up Spidermonkey.
End of cleanup

videofan

It seems to have failed on the 3rd segment, all segments are from the same source material and encoded with the same settings.
Joining just two of the segments fails at **saving:**

Output joining 2 segments [ avidemux2_cli --nogui --load test1.mp4 --append test2.mp4 --output-format MP4 --save output.mp4 ]:

Editor :Audio streamer initialized[ADM_ad_plugin]Format 0xff : probing libADM_ad_Mad.so score 0
[ADM_ad_plugin]Format 0xff : probing libADM_ad_a52.so score 0
[ADM_ad_plugin]Format 0xff : probing libADM_ad_faad.so score 54
[FAAD] using 5 bytes of extradata
[FAAD]Found :48000 rate 2 channels
[FAAD]Faad decoder created
output-format-->1
AVI
OGM
ES
PS
TS
AVI_DUAL
AVI_UNP
MP4
save-->1
**saving:**
Output format:7
AVI family
Encoding Container        : MP4
Encoding Audio codec  : None
Encoding Video codec  : Copy
Encoding Phase        : Encoding
We have extradata for video in copy mode (42)
[Raw shift] : Start:0 ms, shift  0
3gp Go to time succeeded chunk :0 time ask:0 time get:0
[Raw shift] : Start:0 ms, offset in sample  0
Encoding Audio codec  : Copy
Encoding Container        : MP4
Encoding Video codec  : Copy
PacketQueue MP4 audioQ created

*********** BACKTRACK **************
/usr/lib/libADM_core.so(ADM_backTrack+0x4b) [0xb7615c3b]:0:<ADM_backTrack>:-2
avidemux2_cli(_Z9oplug_mp4PKc14ADM_OUT_FORMAT+0x663) [0x80bcd43]:1:<oplug_mp4(char const*, ADM_OUT_FORMAT)>:0
avidemux2_cli(_Z6A_SavePKc+0x491) [0x8089d41]:2:<A_Save(char const*)>:0
avidemux2_cli(_Z10automationv+0x1c0) [0x810f570]:3:<automation()>:0
avidemux2_cli(_Z9UI_RunAppv+0x14) [0x8147ba4]:4:<UI_RunApp()>:0
avidemux2_cli(main+0x304) [0x808a414]:5:<main>:-2
/lib/libc.so.6(__libc_start_main+0xdc) [0xb70ade9c]:6:<__libc_start_main>:-2
avidemux2_cli(_ZNSt8ios_base4InitD1Ev+0x41) [0x8081051]:7:<std::ios_base::Init::~Init()>:0
*********** BACKTRACK **************
23:14:17 Call terminate!!!
Cleaning up
[lavc] Killing decoding threads
[lavc] Destroyed
[lavc] Killing decoding threads
[lavc] Destroyed
Deleting post proc
Waiting for Spidermonkey to finish...
Cleaning up Spidermonk

Jan Gruuthuse

H264 use 2.6.1, time based editing <> 2.5.6 is framed based editing. Newer video codecs don't have all full frames present. Some frames only contain some partial information. These rely on previous/upcoming frames to rebuild a current frame.

videofan

Any way to use H264 with 2.5.6 on linux? On Windows I can use H264 video just fine with 2.5.6 and it does what I want it to.