[Libav-user] Simple demux and copy codec
Atli Thorbjornsson
atlithorn at gmail.com
Fri Nov 23 19:21:32 CET 2012
I am trying to use ffmpeg in Android as a demuxer for FLV contained audio.
As a proof of concept I wrote a barebones demuxer->muxer in C that
essentially tries to mimic this ffmpeg command
ffmpeg -i input.flv -acodec copy output.aac
The output of ffmpeg obviously works perfectly. But my program's output
differs by a few bytes, I think it's the ADTS header or something.
My program can also do FLV contained MP3 and even though my program's
output still differs by a few bytes, my output is playable.
Only too happy to share the entire source if someone has the time to wade
through it but the basic functionality is like so:
init a whole lot of stuff
...
avformat_write_header(outputFormatCtx,NULL);
while(av_read_frame(inputFormatCtx, &inputPacket))
if(inputPacket.stream_index == audioStreamIndex)
av_interleaved_write_frame(outputFormatCtx, inputPacket)
av_write_trailer(outputFormatCtx);
I've been wading through ffmpeg.c to try and figure out what I'm missing
but no luck as of yet.
I'm guessing I should add some options to avformat_write_header instead of
NULL but I haven't been able to figure out what.
Many thanks,
Atli.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20121123/798ce367/attachment.html>
More information about the Libav-user
mailing list