[vlc-devel] Two (minor) issues with Multi-Video Multi-Audio WMV files

David Glaude david.glaude at gmail.com
Sun Dec 20 02:24:00 CET 2009


[
I don't know if this is the right way or place to report bug/enhancement
request.
I was not able to upload to "incoming" on ftp.videolan.org so I manadged to
upload my file to streams.videolan.org /upload/uploads.
I could write this down into trac.videolan.org (1) is a variation on ticket
#2407 and (2) seems rather new.
Please let me know the right way to introduce such stuff... because I may
have other in the pipeline. ;-)
]

Hello VLD developers,

The WMV file produced by the European Parliament are a bit special because
they contain 3 video track, mutualy exclusive, with the same content encoded
at different bitrate and 23 audio track, mutualy exclusive with 22
interpretation of the original speach.

I have uploaded one such WMV file to illustrate what I explain:
/upload/uploads/3V+23A=VODUnit_20091217_09010800_09021200.wmv

The VLC player does read and decode those file or stream without too much
problem, but is lacking a few feature to be perfect.

1) VLC open the 3 video simultaniously rather than to pick one of the video
and display only that one.
The algorithm I suggest for selecting the "best video track" is to read the
"Stream Bitrate Properties Object"[1] and pick the highest bitrate.
One may object that displaying the 3 video is a VLC feature and not a bug...
but it is a bug because our files explicitly indicate that those video track
should not be played simultaniously with the folowing "Advanced Mutual
Exclusion Object"[2].
It however a nice feature to be able to see all the video track but the way
it currently work is rather odd...

When you load the file, it display the 3 track.
If you disable video output, all the video window disapear.
If you select a first video track, that one is visible.
If you select a second video track, both are visible, and so on.

That behavious is not symetrical to the one for audio track where you pick
one audio track or nothing.

I would love to keep a way to display all the video track, but the normal
behaviour should be one track at a time.

2) There is another thing that could be better in VLC to support that kind
of file.
When displaying the audio selection, only the track number are displayed,
not the language information that is available in "Language List Object"[3].
You will notice that those file display one audio track with the language zu
for Zulu... this is not really Zulu but a place older for "original
language" this mean without interpretation.

It seems that VLC code already decode the language information but the GUI
is not using it (debug found in message
http://forum.videolan.org/viewtopic.php?f=12&t=12183) :
asf debug: found object guid: 0x7c4346a9-0xefe0-0x4bfc-0xb229393ede415c85
size:39
asf debug: Read "language list object" 1 entries
asf debug: - 'en-us'

In the file
/upload/uploads/3V+23A=VODUnit_20091217_09010800_09021200.wmv.png you can
see the effect.

It would be nice to display the language the way you do for Mpeg4 format
such as the file:
/upload/uploads/1V+23A=VODUnit_20091217_09010800_09021200.mp4

And it would be nice to test on that file for regression before you release
a new version of VLC.

Thanks in advance.

David GLAUDE

For more information about ASF I found a few link that google may already
have given to you:

Advanced Systems Format on Wikipedia:
* http://en.wikipedia.org/wiki/Advanced_Systems_Format

Some bad old news about ASF format... I don't know how VLC feal about this:
* http://www.advogato.org/article/101.html

* Language list on msdn:
http://msdn.microsoft.com/en-us/library/dd757512%28VS.85%29.aspx
"The multiple language support features of the Windows Media Format SDK use
language strings compliant with RFC 1766."

* Maybe some other doc:
http://avifile.sourceforge.net/docs.htm

===============================================================

[1] Extract for ASF View on 3V+23A=VODUnit_20091217_09010800_09021200.wmv
Stream Bitrate Properties Object  (182 bytes)
Property Value
File Position 19233  ( 0x4B21 )
Object ID 7BF875CE-468D-11D1-8D82-006097C9A2B2
Object Size 182  ( 0xB6 )
Stream Bitrates
Stream Number Bitrate
1 39594
2 39594
3 39594
4 39594
5 39594
6 39594
7 39594
8 39594
9 39594
10 39594
11 39594
12 39594
13 39594
14 39594
15 39594
16 39594
17 39594
18 39594
19 39594
20 39594
21 39594
22 39594
23 39594
24 541520
25 285520
26 157520

Raw data dump
Size 182  ( 0xB6 )
Data < show > 0000: CE 75 F8 7B 8D 46 D1 11-8D 82 00 60 97 C9 A2 B2    u {
F     `
0010: B6 00 00 00 00 00 00 00-1A 00 01 00 AA 9A 00 00
0020: 02 00 AA 9A 00 00 03 00-AA 9A 00 00 04 00 AA 9A
0030: 00 00 05 00 AA 9A 00 00-06 00 AA 9A 00 00 07 00
0040: AA 9A 00 00 08 00 AA 9A-00 00 09 00 AA 9A 00 00
0050: 0A 00 AA 9A 00 00 0B 00-AA 9A 00 00 0C 00 AA 9A
0060: 00 00 0D 00 AA 9A 00 00-0E 00 AA 9A 00 00 0F 00
0070: AA 9A 00 00 10 00 AA 9A-00 00 11 00 AA 9A 00 00
0080: 12 00 AA 9A 00 00 13 00-AA 9A 00 00 14 00 AA 9A
0090: 00 00 15 00 AA 9A 00 00-16 00 AA 9A 00 00 17 00
00A0: AA 9A 00 00 18 00 50 43-08 00 19 00 50 5B 04 00         PC    P[
00B0: 1A 00 50 67 02 00                                   Pg

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

[2] Extract for ASF View on 3V+23A=VODUnit_20091217_09010800_09021200.wmv
Advanced Mutual Exclusion Object  (48 bytes)
Property Value
File Position 13281  ( 0x33E1 )
Object ID A08649CF-4775-4670-8A16-6E35357566CD
Object Size 48  ( 0x30 )

Exclusion Type SameContentDifferentBitrates
Stream Numbers 24, 25, 26
Raw data dump
Size 48  ( 0x30 )
Data 0000: CF 49 86 A0 75 47 70 46-8A 16 6E 35 35 75 66 CD    I  uGpF  n55uf

0010: 30 00 00 00 00 00 00 00-01 2A E2 D6 DA 35 D1 11   0        *   5
0020: 90 34 00 A0 C9 03 49 BE-03 00 18 00 19 00 1A 00    4    I

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

[3] Extract for ASF View on 3V+23A=VODUnit_20091217_09010800_09021200.wmv
Language List Object  (193 bytes)
Property Value
File Position 304  ( 0x130 )
Object ID 7C4346A9-EFE0-4BFC-B229-393EDE415C85
Object Size 193  ( 0xC1 )

Languages 23
Languages
Index Language
0 en-gb
1 zu
2 fr
3 de
4 it
5 es
6 el
7 pt
8 nl
9 da
10 fi
11 sv
12 cs
13 et
14 lv
15 lt
16 hu
17 mt
18 pl
19 sk
20 sl
21 bg
22 ro

Raw data dump
Size 193  ( 0xC1 )
Data < show > 0000: A9 46 43 7C E0 EF FC 4B-B2 29 39 3E DE 41 5C 85    FC|
K )9> A\
0010: C1 00 00 00 00 00 00 00-17 00 0C 65 00 6E 00 2D              e n -
0020: 00 67 00 62 00 00 00 06-7A 00 75 00 00 00 06 66    g b    z u    f
0030: 00 72 00 00 00 06 64 00-65 00 00 00 06 69 00 74    r    d e    i t
0040: 00 00 00 06 65 00 73 00-00 00 06 65 00 6C 00 00       e s    e l
0050: 00 06 70 00 74 00 00 00-06 6E 00 6C 00 00 00 06     p t    n l
0060: 64 00 61 00 00 00 06 66-00 69 00 00 00 06 73 00   d a    f i    s
0070: 76 00 00 00 06 63 00 73-00 00 00 06 65 00 74 00   v    c s    e t
0080: 00 00 06 6C 00 76 00 00-00 06 6C 00 74 00 00 00      l v    l t
0090: 06 68 00 75 00 00 00 06-6D 00 74 00 00 00 06 70    h u    m t    p
00A0: 00 6C 00 00 00 06 73 00-6B 00 00 00 06 73 00 6C    l    s k    s l
00B0: 00 00 00 06 62 00 67 00-00 00 06 72 00 6F 00 00       b g    r o
00C0: 00
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20091220/51fe87d7/attachment.html>


More information about the vlc-devel mailing list