Fix unkown FLV meta tag

0

I downloaded a 230 MB file that I know the length of (40 min), but it only played for 22 min, then it exited.

When I checked it with flvmeta it gave me an error about an unkown tag.

How can I fix it? This is the error log:

0x00000162: warning W40024: audio and video streams are desynchronized by 680485 ms
0x077843b0: error E30013: unknown tag type 71
0x077843b1: warning W20017: tag body length (4671233 bytes) is abnormally large
0x077843b4: error E40023: timestamps are decreasing from 1764965 to 327680
0x077843b8: error E20025: tag stream id must be zero, 589824 found instead
0x07bf8ac0: error E12051: previous tag size should be 4671244, 1129237305 found instead
0x07bf8ac0: error E30013: unknown tag type 202
0x07bf8ac1: warning W20017: tag body length (8695108 bytes) is abnormally large
0x07bf8ac8: error E20025: tag stream id must be zero, 9709771 found instead
0x08443813: error E12051: previous tag size should be 8695119, -1383778344 found instead
0x08443813: error E30013: unknown tag type 133
0x08443814: warning W20017: tag body length (15978605 bytes) is abnormally large
0x0844381b: error E20025: tag stream id must be zero, 9220307 found instead
0x0938088f: error E12051: previous tag size should be 15978616, -595537486 found instead
0x0938088f: error E30013: unknown tag type 194
0x09380890: warning W20017: tag body length (5219374 bytes) is abnormally large
0x09380893: error E40022: extended bits not used after timestamp overflow
0x09380897: error E20025: tag stream id must be zero, 15095204 found instead
0x0987accc: error E12051: previous tag size should be 5219385, -2100208093 found instead
0x0987accc: error E30013: unknown tag type 11
0x0987accd: warning W20017: tag body length (4433970 bytes) is abnormally large
0x0987acd0: error E40022: extended bits not used after timestamp overflow
0x0987acd4: error E20025: tag stream id must be zero, 284657 found instead
0x09cb550d: error E12051: previous tag size should be 4433981, -2104837940 found instead
0x09cb550d: error E30013: unknown tag type 11
0x09cb550e: warning W20017: tag body length (10773092 bytes) is abnormally large
0x09cb5515: error E20025: tag stream id must be zero, 16284892 found instead
0x0a6fb780: error E12051: previous tag size should be 10773103, -1838580647 found instead
0x0a6fb780: error E30013: unknown tag type 120
0x0a6fb781: warning W20017: tag body length (6248126 bytes) is abnormally large
0x0a6fb784: error E40022: extended bits not used after timestamp overflow
0x0a6fb788: error E20025: tag stream id must be zero, 9153334 found instead
0x0acf0e4d: error E12051: previous tag size should be 6248137, 672971163 found instead
0x0acf0e4d: error E30013: unknown tag type 222
0x0acf0e4e: warning W20017: tag body length (13001193 bytes) is abnormally large
0x0acf0e51: error E40022: extended bits not used after timestamp overflow
0x0acf0e55: error E20025: tag stream id must be zero, 3773853 found instead
0x0b957045: error E12051: previous tag size should be 13001204, 12907117 found instead
0x0b957045: error E30013: unknown tag type 194
0x0b957046: warning W20017: tag body length (13413675 bytes) is abnormally large
0x0b95704d: error E20025: tag stream id must be zero, 4551479 found instead
0x0c621d7f: error E12051: previous tag size should be 13413686, 83139954 found instead
0x0c621d7f: error E30013: unknown tag type 98
0x0c621d80: warning W20017: tag body length (14939375 bytes) is abnormally large
0x0c621d83: error E40022: extended bits not used after timestamp overflow
0x0c621d87: error E20025: tag stream id must be zero, 4264230 found instead
0x0d46127d: error E12051: previous tag size should be 14939386, -1762436629 found instead
0x0d46127d: error E30013: unknown tag type 250
0x0d46127e: warning W20017: tag body length (5610968 bytes) is abnormally large
0x0d461285: error E20025: tag stream id must be zero, 3593555 found instead
0x0d9bb064: error E12051: previous tag size should be 5610979, -1142993742 found instead
0x0d9bb064: error E30013: unknown tag type 64
0x0d9bb065: warning W20017: tag body length (7353222 bytes) is abnormally large
0x0d9bb068: error E40022: extended bits not used after timestamp overflow
0x0d9bb06c: error E20025: tag stream id must be zero, 2540704 found instead
0x0e0be3f9: error E12051: previous tag size should be 7353233, 1316928413 found instead
0x0e0be3f9: error E30013: unknown tag type 191
0x0e0be3fa: warning W20017: tag body length (11135021 bytes) is abnormally large
0x0e0be3fd: error E40022: extended bits not used after timestamp overflow
0x0e0be401: error E20025: tag stream id must be zero, 8181697 found instead
0x0eb5cc35: error E12051: previous tag size should be 11135032, -683403085 found instead
0x0eb5cc35: error E30013: unknown tag type 106
0x0eb5cc36: warning W20017: tag body length (16040971 bytes) is abnormally large
0x0eb5cc3d: error E20025: tag stream id must be zero, 73075 found instead
0x0faa904f: error E12051: previous tag size should be 16040982, 1810734957 found instead
0x0faa904f: error E30013: unknown tag type 39
0x0faa9050: warning W20017: tag body length (14670380 bytes) is abnormally large
0x0faa9057: error E20025: tag stream id must be zero, 8801052 found instead
0x108a6a8a: error E12051: previous tag size should be 14670391, 437522158 found instead
0x108a6a8a: error E30013: unknown tag type 93
0x108a6a8b: fatal F20016: tag body length (13030036 bytes) exceeds file size
55 error(s), 16 warning(s)

When I used the -f option, it gives me an output file that plays only for 22 mins.

tags
flv
asked on Super User Oct 7, 2012 by user1515425 • edited Oct 7, 2012 by slhck

1 Answer

0

The file is indeed corrupted.

An FLV file is made of a series of tags that can be of three different types:

  • video frames
  • audio data
  • metadata

Each tag is identified by an integer value that allows the video player to correctly interpret the data. For instance, audio tags have an id of 8, video tags: 9, and metadata tags: 18. Any other value encountered when reading a tag is an error.

FLV files have no error recovery mecanism, so if the file becomes corrupted at some point, it's usually impossible to resume playback, because it's very hard to accurately find the beginning of a tag at a later point in the file.

Even the first warning, 0x00000162: warning W40024: audio and video streams are desynchronized by 680485 ms, while early in the file, means there is some probable data corruption in the timestamp value of a tag.

So I'm afraid there is nothing you can do about this file.

If you want more detailed information, try to do a full dump of your file by using flvmeta --full-dump --raw.

(Disclaimer: I'm the author of flvmeta)

answered on Super User Nov 7, 2012 by SirDarius

User contributions licensed under CC BY-SA 3.0