[FFmpeg-devel] [PATCH]flvenc Allow ffmpeg -copy on rtmp outputs from udp inputs
tudor.suciu at gmail.com
Tue Jun 10 18:31:50 CEST 2014
I hope the sharing will work ok, you have 3 tests with input files,
patches, complete log files and output files.
I hope it's all clear now.
On Mon, Jun 9, 2014 at 4:12 AM, Michael Niedermayer <michaelni at gmx.at>
> On Mon, Jun 09, 2014 at 01:27:28AM +0200, Tudor SUCIU wrote:
> > you said similar code is in the mp4 muxer and i see similar code in
> > > matroskadec line 1820
> > >
> > > I think the code from matroskadec is not reusable, there are no
> strings to
> > parse that I know of (at flvenc level).
> > > I think factorizing all these instances from libavformat into a
> > > single case if possible should happen.
> > > I suggest this also because the code in matroskadec considers
> > > profile and SBR, which your code ignores
> > >
> > > I don't have access immediately to Flash Media Encoder 3, but if I
> > remember correctly it sends only 2 bytes of extradata for he-aacv2. As
> > 3.0 is the reference software for flv, i'll modify the patch if it sends
> > more than 2 bytes of extradata.
> > The problem at flvenc level is that in the case of ffmpeg -copy the audio
> > profile is "-99" so I couldn't extract it. This is why the code is for
> > time being working only with AAC-LC.
> > I totally agree that this code is present in a little too many places.
> > not sure that I would be able to make the required changes by myself.
> > ffmpeg i'm used to make the smallest changes that allow me to maintain
> > patches over long periods of time. I would gladly update this patch when
> > somebody fixes the implementation of one other muxer/decoder and adds the
> > relevant code in a common place.
> > > also muxers should not write to the extradata field of AVCodecContext
> > > a local variable seems more correct
> > >
> > There is no problem, i can do that.
> > > and then please see libavcodec/aac_adtstoasc_bsf.c and check if
> > > using it would fix the issue you are trying to fixe
> > >
> > This filter is required, if i don't specify it i get:
> > [flv @ 0x2ab0700] Malformed AAC bitstream detected: use audio bitstream
> > filter 'aac_adtstoasc' to fix it ('-bsf:a aac_adtstoasc' option with
> > av_interleaved_write_frame(): Invalid data found when processing input
> > I remember that a few years ago when i worked on an hds segmenter ffmpeg
> > didn't complain and the adts headers were being sent into the flv. It did
> > break part of the players, it's a good thing it's corrected now.
> > The bug is clearly the fact that the audio bitstream filter is called
> > the creation of flv header. I have absolutely no idea how to fix it.
> > > and please provide a sample and commandline (testcase)
> > >
> > I wanted to play with cc608 subtitles, so I got the hls files from
> > http://www.cpcweb.com/webcasts/webcast_samples.htm.
> > I concatenated .ts files from the .m3u8, then (any .ts file will do):
> > ./ffmpeg -i ~/Downloads/testhls/test.ts -acodec copy -vcodec copy -bsf:a
> > aac_adtstoasc -bsf:v remove_extra -f flv test.flv
> > The video bitstream filter fixes all the visible problems from the rtmp
> > stream, there are only some AUD h264 nals that remain, it would be nice
> > we could delete them too.
> please provide a direct link to the file or upload it
> and provide a command line that allows to reproduce the issue with
> this file.
> Iam happy to help fix this, iam not happy to search and reconstruct
> the input file
> also i tried 4 random ts files none allowed to reproduce this
> Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
> Democracy is the form of government in which you can choose your dictator
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
More information about the ffmpeg-devel