Hi Folks.
I am trying to write .mp4 files with H.264 and AAC from generated images and 
audio. My app is linked to libAVFormat, libAVCodec etc plus some necessary OSX 
frameworks
If I let libAVFormat select the codecs for a file named xxxxx.mp4 using 
av_guess_format() it selects the MPEG4 and AAC encoders and everything is 
working **fine**
However, I really need to use the H.264 codec instead of the MPEG4 video codec, 
so I have tried overriding the guessed codec by simply adding this after the 
av_guess_format stage.
fmt->video_codec = AV_CODEC_ID_H264;
However, having done that, libAVCodec appears to be failing when it calls 
through to the OSX VideoToolbox.framework.  
[h264_videotoolbox @ 0x106806800] Error: cannot create compression session: 
-12908[h264_videotoolbox @ 0x106806800] Try -allow_sw 1. The hardware encoder 
may be busy, or not supported.
In constrast, if I simply try using the ffmpeg binary app (built from the same 
libraries) to encode a source file into a .mp4 without specifying any 
parameters, it selects x264 and AAC and encodes without hitting any errors.  
In the ffmpeg trace, I see lots of [libx264 ....
rather than the 
[h264_videotoolbox ...I see in my own code.
I have not been able to get past this issue and I wondered if anyone can shed 
any light.  Is the [libx264 .... encoding used by ffmpeg different to the 
[h264_videotoolbox ... attempt and fail in my app.
If this is true then I guess I need to find a way to specify use of x264 
instead of h264_videotoolbox.If thats the same thing then I need to understand 
why its failing in my direct calls, but working ok when ffmpeg calls it.
I ran the app on a completely different mac to eliminate any hardware 
dependancy in the VideoToolbox.framework and it doesn't throw the error but it 
only turns out one really nasty video frame and the rest of the output is blank.
I am quite happy with software based x264 and don't need hardware acceleration 
through VideoToolbox.framework. How can I disable this ?  Compiling the 
libraries with -disable-videotoolbox in configure didn't make any diffference.
There doesn't appear to be much in the way of updated documentation or example 
code for this sort of thing.Can anyone advise ?
Many thanks.


_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to