Я загрузил файл размером 230 МБ, который, как я знаю, имеет длину (40 минут), но он воспроизводился только в течение 22 минут, а затем вышел.

Когда я проверил его с помощью flvmeta, он выдал ошибку об неизвестном теге.

Как я могу это исправить? Это журнал ошибок:

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)

Когда я использовал параметр -f , он дает мне выходной файл, который воспроизводится только в течение 22 минут.

1 ответ1

0

Файл действительно поврежден.

FLV-файл состоит из серии тегов, которые могут быть трех разных типов:

  • видеокадры
  • аудиоданные
  • метаданные

Каждый тег идентифицируется целочисленным значением, которое позволяет видеопроигрывателю правильно интерпретировать данные. Например, аудио-теги имеют идентификатор 8, видео-теги: 9 и теги метаданных: 18. Любое другое значение, встречающееся при чтении тега, является ошибкой.

FLV-файлы не имеют механизма восстановления после ошибок, поэтому, если файл в какой-то момент поврежден, возобновить воспроизведение обычно невозможно, поскольку очень трудно точно найти начало тега в более поздней точке файла.

Даже первое предупреждение, 0x00000162: warning W40024: audio and video streams are desynchronized by 680485 ms , а в начале файла это означает, что существует некоторая вероятность повреждения данных в значении метки времени тега.

Поэтому я боюсь, что вы ничего не можете сделать с этим файлом.

Если вам нужна более подробная информация, попробуйте сделать полный дамп вашего файла, используя flvmeta --full-dump --raw .

(Отказ от ответственности: я автор flvmeta)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .