PDA

View Full Version : Audio in video files is misidentified as Dolby Digital



pizzaguy541
12-09-2010, 03:58 AM
I have one video file that the description on the screen is correct that it is DD 5.1, but everything else is described as DD when it's 2-ch stereo.

The ffmpeg output from the correct file is:
Stream #0.0(und): Video: h264, yuv420p, 1280x528 [PAR 1:1 DAR 80:33], 1590 kb/s, 23.98 fps, 23.98 tbr, 66893 tbn, 47.95 tbc
Stream #0.1(und): Audio: aac, 48000 Hz, 5.1, s16, 257 kb/sand a file that is incorrectly identified shows this:
Stream #0.0: Video: h264, yuv420p, 640x360 [PAR 1:1 DAR 16:9], 817 kb/s, 29.92 tbr, 1k tbn, 59.94 tbc
Stream #0.1: Audio: aac, 44100 Hz, stereo, s16, 105 kb/sIs there any way to have Mezzmo downmix the audio to 2-ch stereo on non DD files?

I've even tried re-encoding the files using a different audio codec and a lower bitrate, but it didn't change the way they were identified and played.

Edit: My BluRay player is a Sony BDP-S370 and I'm using an updated profile (SonyBDP-NTSC-NoDivX.prf) that you have sent me for a previous problem.

Paul
12-09-2010, 10:03 AM
What is the container of that file? It's possible that it's being transcoded and thus presented to the device as something else - I'll need full FFmpeg output to see that.

pizzaguy541
12-09-2010, 08:42 PM
Here is the ffmpeg output of that particular file:
FFmpeg version SVN-r25446, Copyright (c) 2000-2010 the FFmpeg developers
built on Oct 12 2010 10:38:21 with gcc 4.4.2
configuration: --enable-memalign-hack --arch=x86 --target-os=mingw32 --cross-prefix=i686-mingw32- --enable-static --disable-shared --enable-zlib --disable-ffprobe --disable-ffplay --prefix=/media/windows-share/ffmpeg --extra-cflags=-U__STRICT_ANSI__ --enable-libmp3lame --enable-libx264 --enable-gpl --extra-libs='-lx264 -lpthread' --enable-runtime-cpudetect
libavutil 50.32. 3 / 50.32. 3
libavcore 0. 9. 1 / 0. 9. 1
libavcodec 52.92. 0 / 52.92. 0
libavformat 52.81. 0 / 52.81. 0
libavdevice 52. 2. 2 / 52. 2. 2
libavfilter 1.50. 1 / 1.50. 1
libswscale 0.12. 0 / 0.12. 0
[flv @ 0122ccc0] Estimating duration from bitrate, this may be inaccurate

Seems stream 0 codec frame rate differs from container frame rate: 59.94 (2997/50) -> 29.92 (359/12)
Input #0, flv, from 'C:\Users\******\Videos\Charline_s No Worries.flv':
Metadata:
duration : 30
starttime : 0
totalduration : 30
width : 640
height : 360
videodatarate : 798
audiodatarate : 103
totaldatarate : 896
framerate : 30
bytelength : 3431876
canseekontime : true
sourcedata : B4A7D6A82HH1271158765422361
purl :
pmsg :
Duration: 00:00:30.09, start: 0.000000, bitrate: 922 kb/s
Stream #0.0: Video: h264, yuv420p, 640x360 [PAR 1:1 DAR 16:9], 817 kb/s, 29.92 tbr, 1k tbn, 59.94 tbc
Stream #0.1: Audio: aac, 44100 Hz, stereo, s16, 105 kb/s
At least one output file must be specified


---> DB Level Info: 30I know that the output shows a frame rate discrepancy, but all of my files audio are playing in the same way.

Paul
12-10-2010, 09:54 AM
Ok, so the FLV will be transcoded to an AVCHD (MPEG-TS with h264/AC3 sound) and should show up as "Dolby" sound on the player - is that what's happening? If yes, then that's correct. The BDP does not support playing FLV files natively.

pizzaguy541
12-10-2010, 11:09 AM
Yes, that is what's happening.

I wonder why WMP and PlayOn both play the file in 2-ch stereo instead of Dolby?

I've tested Wild Media Server which also uses ffmpeg for transcoding and it too displays the audio track as Dolby.

It would be nice if there were an option to force ffmpeg to transcode the audio to standard 2-ch stereo.

Paul
12-10-2010, 11:26 AM
Well, it's possible of course - just need to modify the device profile. If you want, I can post the changes here or e-mail support to do it via e-mail.

pizzaguy541
12-11-2010, 10:50 PM
If you can post the necessary profile changes, that would be very helpful.

Paul
12-13-2010, 11:11 AM
Trying changing the following in the "mpegts_transcoding" container:



<audio>
<format id="ac3" encode="1" codec="ac3" preferredtranscoded="1">
<channels>2</channels>
<channels>6</channels>
<bitrate>448000</bitrate>
<maxbitrate>448000</maxbitrate>
<minbitrate>64000</minbitrate>
<samplingrate>48000</samplingrate>
</format>
</audio>
<audio>
<format id="aac" encode="0">
</format>
</audio>
<audio>
<format id="mp3" encode="0">
</format>
</audio>
<audio>
<format id="mp2" encode="0">
</format>
</audio>


to read:



<audio>
<format id="ac3" encode="0">
</format>
</audio>
<audio>
<format id="aac" encode="0">
</format>
</audio>
<audio>
<format id="mp3" encode="1" codec="libmp3lame" preferredtranscoded="1">
<channels>2</channels>
<bitrate>320000</bitrate>
<maxbitrate>320000</maxbitrate>
<maxsamplingrate>48000</maxsamplingrate>
<minsamplingrate>11025</minsamplingrate>
<samplingrate>48000</samplingrate>
<samplingrate>44100</samplingrate>
<samplingrate>32000</samplingrate>
</format>
</audio>
<audio>
<format id="mp2" encode="0">
</format>
</audio>


then save the file, restart the server and see if that helps.

pizzaguy541
12-14-2010, 12:19 AM
No, that actually made things worse. Now the Sony displays no audio data and produces no sound.

Paul
12-14-2010, 09:40 AM
Maybe the TV doesn't support MP3 audio in an MPEG-TS. If you change it back (to AC3) and then remove the <channels>6</channels> (which should cause the audio to always be transcoded to stereo) - does it work?

bigdog
12-14-2010, 10:58 AM
I have reported the following problem to support conceiva com who are looking at my problem currently

When I play the video Casablanca 1942 with GOM player or Media player, it plays the actual movie and the first audio stream spoken by the movie players

When Mezzmo plays the video on my Panasonic TV, it plays the third audio stream that is spoken by with Rudy Behlmer a person presenting the documentary history of the movie whilst the actual video is screened.

support conceiva com advised that the "first" audio stream should be played


Logs were provided to support conceiva com

--------------------------------------------------------------------------------------------------------------------

FFmpeg version SVN-r25446, Copyright (c) 2000-2010 the FFmpeg developers
built on Oct 12 2010 10:38:21 with gcc 4.4.2
configuration: --enable-memalign-hack --arch=x86 --target-os=mingw32 --cross-prefix=i686-mingw32- --enable-static --disable-shared --enable-zlib --disable-ffprobe --disable-ffplay --prefix=/media/windows-share/ffmpeg --extra-cflags=-U__STRICT_ANSI__ --enable-libmp3lame --enable-libx264 --enable-gpl --extra-libs='-lx264 -lpthread' --enable-runtime-cpudetect
libavutil 50.32. 3 / 50.32. 3
libavcore 0. 9. 1 / 0. 9. 1
libavcodec 52.92. 0 / 52.92. 0
libavformat 52.81. 0 / 52.81. 0
libavdevice 52. 2. 2 / 52. 2. 2
libavfilter 1.50. 1 / 1.50. 1
libswscale 0.12. 0 / 0.12. 0
[matroska,webm @ 013ad0e0] max_analyze_duration reached
[matroska,webm @ 013ad0e0] Estimating duration from bitrate, this may be inaccurate
Input #0, matroska,webm, from 'F:\\Casablanca (1942) 720p.mkv':
Metadata:
title : Casablanca (1942)
Duration: 01:42:34.60, start: 0.000000, bitrate: 192 kb/s
Stream #0.0(eng): Video: h264, yuv420p, 976x720, PAR 1:1 DAR 61:45, 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc
Stream #0.1(eng): Audio: ac3, 48000 Hz, mono, s16, 192 kb/s
Metadata:
title : English
Stream #0.2(eng): Audio: vorbis, 48000 Hz, stereo, s16
Metadata:
title : Commentary with Roger Ebert
Stream #0.3(eng): Audio: vorbis, 48000 Hz, stereo, s16
Metadata:
title : Commentary with Rudy Behlmer
Stream #0.4(eng): Subtitle: [0][0][0][0] / 0x0000
Metadata:
title : English
Stream #0.5(eng): Subtitle: [0][0][0][0] / 0x0000
Metadata:
title : English (SDH)
Stream #0.6(spa): Subtitle: [0][0][0][0] / 0x0000
Metadata:
title : Spanish
Stream #0.7(fre): Subtitle: [0][0][0][0] / 0x0000
Metadata:
title : French
Stream #0.8(rum): Subtitle: [0][0][0][0] / 0x0000
Metadata:
title : Romanian
At least one output file must be specified


---> DB Level Info: 41

pizzaguy541
12-14-2010, 09:25 PM
Maybe the TV doesn't support MP3 audio in an MPEG-TS. If you change it back (to AC3) and then remove the <channels>6</channels> (which should cause the audio to always be transcoded to stereo) - does it work?No, that didn't work either. The audio is still being identified as Dolby and causes my AV equipment to play it that way.

I'm using the same Bluray player as you (Sony BDP-S370) and unless you're using another build of the software does your unit report that every file is in Dolby?

pizzaguy541
12-14-2010, 09:27 PM
Here is the current profile that I'm using:


<MezzmoDeviceProfile>
<version>112</version>
<device>
<guid>AEE56A9A-3F76-4300-94B9-60FD58EBAFF5</guid>
<name manufacturer="Sony" model="BDP (NTSC, No DivX)"/>
<useragent>UPnP/1.0</useragent>
<xavclient>Blu-ray</xavclient>
<mezzmoserver></mezzmoserver>
<transcoding enabled="1" minimumstreamingsize="2000000" waitmsbeforestreaming="2000" contentlength="5" autorotateimages="0"/>
<devicedescription>GenericDeviceDescription.xml</devicedescription>
<packetsize>524318</packetsize>
<packetsize>4096000</packetsize>
<videomax width="1920" height="1080" />
</device>
<descriptiondeliveryrules>
<!-- delivery description rules specify what the device will see for each file. A file is considered to be supported if
it matches a format, audio/video codecs within that format and any codec limits in this device profile. Best fit is
if one of the 2 stream from a format description matches the original file. Preferred transcoded format describes
the best quality format a device can play. Transcoded list is all combinations of formats that we can encode to,
possibly including preferred transcoded and baseline. When building a file description, Mezzmo follows the following
rules order: supported, bestfit, preferredtranscoded, transcodedlist, baseline, nonsupported -->
<!-- please note that if transcoding is disabled or baseline and preferredtranscoded are set to no,
then the nonsupported flag is automatically set to yes. If transcoding is disabled, then only supported and
nonsupported rules are checked and used. -->
<supported>yes</supported>
<!-- baseline, bestfit, transcodedlist, nonsupported and preferredtranscoded can be either one of: yes, no, auto
yes = always deliver, no = never deliver, auto = deliver if not delivered already by one of the rules above it -->
<bestfit>auto</bestfit>
<preferredtranscoded>auto</preferredtranscoded>
<transcodedlist>auto</transcodedlist>
<baseline>auto</baseline>
<nonsupported>auto</nonsupported>
</descriptiondeliveryrules>
<avcontainer id="mpeg" name="mpeg_ntsc" encode="1" mimetype="video/mpeg" baseline="1" dlnaprofile="MPEG_PS_NTSC" format="dvd" supportschunked="0">
<video>
<format id="mpeg2video" encode="1" codec="mpeg2video">
<dimensions width="1920" height="1080" />
<copyts>1</copyts>
<samequality>1</samequality>
<framerate>29.97</framerate>
<gop>18</gop>
<bitrate>25000000</bitrate>
</format>
</video>
<audio>
<format id="ac3" encode="1" codec="ac3">
<channels>2</channels>
<channels>6</channels>
<bitrate>448000</bitrate>
<maxbitrate>448000</maxbitrate>
<minbitrate>64000</minbitrate>
<samplingrate>48000</samplingrate>
</format>
</audio>
<audio>
<format id="mp3" encode="0">
</format>
</audio>
<audio>
<format id="mp2" encode="0">
</format>
</audio>
<audio>
<format id="pcm_s16be" encode="0">
</format>
</audio>
<ffmpegadditional>-threads 4 -copyinkf -sc_threshold 1000000000</ffmpegadditional>
</avcontainer>
<avcontainer id="mpegts" name="mpegts_transcoding" encode="1" format="mpegts" mimetype="video/vnd.dlna.mpeg-tts" dlnaprofile="MPEG_TS_SD_NA" supportschunked="0" preferredtranscoded="1">
<video>
<format id="mpeg1video" encode="0">
</format>
</video>
<video>
<format id="mpeg2video" encode="0">
</format>
</video>
<video>
<format id="h264" encode="1" codec="libx264" forcecodec="1" preferredtranscoded="1">
<copyts>0</copyts>
<samequality>1</samequality>
</format>
</video>
<audio>
<format id="ac3" encode="1" codec="ac3" preferredtranscoded="1">
<channels>2</channels>
<bitrate>448000</bitrate>
<maxbitrate>448000</maxbitrate>
<minbitrate>64000</minbitrate>
<samplingrate>48000</samplingrate>
</format>
</audio>
<audio>
<format id="aac" encode="0">
</format>
</audio>
<audio>
<format id="mp3" encode="0">
</format>
</audio>
<audio>
<format id="mp2" encode="0">
</format>
</audio>
<ffmpegadditional>-threads 4 -coder 1 -flags +loop -cmp +chroma -me_method hex -subq 6 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -b_strategy 1 -qcomp 0.6 -qmin 0 -qmax 51 -qdiff 4 -bf 3 -refs 2 -directpred 1 -trellis 1 -flags2 +bpyramid+mixed_refs+wpred+dct8x8+fastpskip -wpredp 2 -vbsf h264_mp4toannexb</ffmpegadditional>
</avcontainer>
<avcontainer id="s16be" name="lpcm" encode="1" mimetype="audio/L16;rate=44100;channels=2" baseline="1" dlnaprofile="LPCM" preferredtranscoded="1" supportschunked="0">
<audio>
<format id="s16be" encode="1" codec="pcm_s16be" preferredtranscoded="1">
<channels>2</channels>
<bitrate>1536000</bitrate>
<maxbitrate>1536000</maxbitrate>
<minbitrate>8000</minbitrate>
<samplingrate>44100</samplingrate>
</format>
</audio>
</avcontainer>
<avcontainer id="mp3" name="mp3" encode="0" mimetype="audio/mp3" baseline="1" preferredtranscoded="0" dlnaprofile="MP3" supportschunked="0">
<audio>
<format id="mp3" encode="0" codec="libmp3lame" preferredtranscoded="0">
<maxbitrate>320000</maxbitrate>
<bitrate>320000</bitrate>
<maxsamplingrate>48000</maxsamplingrate>
<minsamplingrate>11025</minsamplingrate>
<samplingrate>48000</samplingrate>
<samplingrate>44100</samplingrate>
<samplingrate>32000</samplingrate>
</format>
</audio>
</avcontainer>
<avcontainer id="jpeg" name="jpeg_lrg" encode="1" mimetype="image/jpeg" baseline="1" dlnaprofile="JPEG_LRG" supportschunked="0">
<image>
<format id="jpeg" encode="1" mimetype="image/jpeg" codec="98" quality="2">
<maxdimensions width="4096" height="4096" />
<maxbits>24</maxbits>
</format>
</image>
</avcontainer>
<avcontainer id="jpeg" name="jpeg_med" encode="1" mimetype="image/jpeg" baseline="1" dlnaprofile="JPEG_MED" supportschunked="0" preferredtranscoded="1">
<image>
<format id="jpeg" encode="1" mimetype="image/jpeg" codec="98" quality="2">
<maxdimensions width="1024" height="768" />
<maxbits>24</maxbits>
</format>
</image>
</avcontainer>
<avcontainer id="jpeg" name="jpeg_tn" encode="1" mimetype="image/jpeg" baseline="1" dlnaprofile="JPEG_TN" preferredthumbnail="1" supportschunked="0">
<image>
<format id="jpeg" encode="1" mimetype="image/jpeg" codec="98" quality="2">
<maxdimensions width="160" height="160" />
<maxbits>24</maxbits>
</format>
</image>
</avcontainer>
</MezzmoDeviceProfile>

Paul
12-15-2010, 09:53 AM
No, that didn't work either. The audio is still being identified as Dolby and causes my AV equipment to play it that way.

I'm using the same Bluray player as you (Sony BDP-S370) and unless you're using another build of the software does your unit report that every file is in Dolby?
Yes, it does, but I don't see a problem with it playing as Dolby - the sound is there both via the TV and via a home-theater setup.

pizzaguy541
12-15-2010, 11:49 PM
Thanks for your assistance. At least I now know that it's not my equipment that is causing the problem.

Will you be releasing an updated program build and/or FFmpeg build anytime soon?

Paul
12-16-2010, 10:05 AM
Yes, we've got an update being tested now - I don't know if it'll be released tomorrow (Friday), but early next week looks likely.

pizzaguy541
12-16-2010, 08:55 PM
Cool, thanks for the update.