[FFmpeg-user] AC3 encoding problem - wrong audio tag?

Stefan Gofferje ffmpeg-user at home.gofferje.net
Sat Jul 14 14:46:00 CEST 2012

On 07/14/2012 02:05 PM, Carl Eugen Hoyos wrote:
> Did you test if my interpretation of your problem is correct at all?

No, because - as I wrote - I'm not really deep in the codec topic. The
only "test" I know is file and in vlc tools -> Codec information.

> (Iirc you did not post complete, uncut FFmpeg console output 
> or did you?)

No, because the console output didn't produce anything that looked
suspicious to me, such as warnings or errors. I will retrace my steps
and log the process.

> Note that it is extremely simple to force FFmpeg to produce 
> invalid files, just look at line 452 of libavformat/riff.c
> (make it channels > 20 or something similar)

I have only very limited programming skills in bash, C and Java. I'm
mainly a network/security guy. I don't compile ffmpeg myself. I use the
Packman repo for Opensuse.

> I googled for waveformatextensible yesterday and any other 
> (less strict) interpretation of the standard seems truly absurd to me.
> After testing that this is indeed the problem, could you add more 
> information about your setup? It seems extremely unlikely to me that 
> a Dolby decoder cares at all about a riff / wav header...

My setup in this case is:

- Linux Server with Swisscenter (media server software for Syabas based
network media players) and Mediatomb (DLNA server software)
- Client 1: LG SmartTV (DLNA client)
- Client 2: Pinnacle Showcenter 200 connected to an Haman Kardon AVR35
Dolby Digital / DTS receiver via optical cable

Both clients don't play any sound with the ffmpeg-generated file. If I
press "file info" on the Showcenter, it claims, Video: XVID, Audio: OGG.
The AVR35 displays "Dolby 2/0" and produces no sound.

In the file info in the Swisscenter menu, the file shows as 5.1 but
without the Dolby Digital logo.

As I wrote before, the Linux command "file" outputs

RIFF (little-endian) data, AVI, 624 x 352, 23.98 fps, video: XviD,
audio: (6 channels, 48000 Hz)

Note the missing codec info for the audio stream!

The file I created with mencoder plays on both clients in 5.1 mode. The
"file" command shows

RIFF (little-endian) data, AVI, 624 x 352, 23.98 fps, video: XviD,
audio: Dolby AC3 (6 channels, 48000 Hz)

Note the codec info "Dolby AC3" for the audio stream!

Also, in Swisscenter, the file has the Dolby Digital logo in addition to
the 5.1 logo.

So, without knowing anything about codecs and headers specifically, I
would wildly guess, that there is something like a "Dolby Digital" flag
or tag which is not set by ffmpeg.

If it helps, I could create 2 short videos, 1 with ffmpeg, 1 with
mencoder and put them for download to my website. That would allow a
direct comparison. That might take a moment though. I already deleted
the source files from this project.

If it is important - I use the ffmpeg lavc for encoding ac3 in mencoder.


 (o_   Stefan Gofferje            | SCLT, MCP, CCSA
 //\   Reg'd Linux User #247167   | VCP #2263
 V_/_  Heckler & Koch - the original point and click interface

This mail was scanned for malware by ClamAV (http://www.clamav.net/)

More information about the ffmpeg-user mailing list