I have a couple of flv files downloaded with youtube-dl. When they are played they fail after a few minutes with:

Unsupported video codec (X)

where X is e, 9, or b.

My guess is that one block is corrupt. As I cannot download them again (the files have since been removed) can I somehow fix or skip the corruption?

  • Does the same thing happen when you try different playback tools on different platforms? – Daniel Griscom Jul 4 '15 at 22:31
  • mplayer and vlc tried on LinuxMint. They die exactly the same place. I do not have access to other platforms. – Ole Tange Jul 5 '15 at 0:47

You'd need to find an FLV format decoder, and have it scan the files to make sure that at least the container format is complete and correct. FFmpeg parses and converts FLV format files, but you may not be able to use it with a file containing unknown video formats.

With a bit of programming, the FLV container format is pretty simple to decode. Once you've scanned the file and listed its contained formats, you can then choose which blocks to ignore and skip.

  • It seems the flv-container is broken at exactly the place VLC gives up. Can I somehow ask FFmpeg to skip some flv-packets and re-sync the flv-stream? – Ole Tange Jul 5 '15 at 3:03
  • If the container itself is broken, then you may be out of luck, as the format is chained; each block indicates its length, and thus where the next block's header is located. If you don't know where the headers are, you're going to have a tough time decoding them. – Daniel Griscom Jul 5 '15 at 10:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.