Opened 9 years ago

Closed 5 years ago

#4519 closed enhancement (fixed)

Support for KUX container

Reported by: Underground78 Owned by:
Priority: wish Component: avformat
Version: git-master Keywords: flv
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no


The Chinese video streaming Youku Tudou seems to use its own container, named KUX. It would be great if FFmpeg could support it.

I don't think there is any publicly available specifications but the format seems derived from FLV and pretty straight forward to convert to a standard FLV file. I have attached a slightly simplified version of a conversion script I found on Gist. A sample file can be found here: sample.kux.

Attachments (1) (1.8 KB ) - added by Underground78 9 years ago.
Conversion script (KUX to FLV)

Download all attachments as: .zip

Change History (8)

by Underground78, 9 years ago

Attachment: added

Conversion script (KUX to FLV)

comment:1 by al3x, 9 years ago

Please upload more samples, one is never enough.

Based on the 'converter' and single file it seems like the header magic is KDK and the actual FLV content is at offset 0xe40000.

For me the following command produces a fully playable file:

dd if=sample.kux of=sample.kux.flv bs=14942208 skip=1

comment:2 by Carl Eugen Hoyos, 9 years ago

Keywords: flv added; kux youku removed

comment:4 by Carl Eugen Hoyos, 9 years ago

I am certainly not against supporting this format but if all content can be found on youtube anyways...

comment:5 by Underground78, 9 years ago

To be honest I don't really care myself but I guess most Chinese users cannot access Youtube (easily at least).

comment:6 by al3x, 9 years ago

All four seem to work with simply skipping that data chunk. Supporting it isn't a big deal, but involves a lot of changes to adjust all offsets. Question is it worth it?

comment:7 by Carl Eugen Hoyos, 5 years ago

Reproduced by developer: set
Resolution: fixed
Status: newclosed

Implemented by Swaraj Hota in 208ae228fa129041dc6671dcc45c025a11bf2cc6

There is useful metadata starting at 0xe00004, encrypted with password meta but zlib does not support decryption, so reading kux metadata is not supported.

Note: See TracTickets for help on using tickets.