Просмотр полной версии : ошибка в flv контейнере
Контейнер флв получен таким образом- несколько маленьких файлов avi объедены в один avi и преобразованы в flv.
Локально играется без проблем, флеш плеер играет только первый кусочек(в режиме создания данных), дальше умирает. Так как умирает он точно на границе склейки-то проблема, похоже, ясна- там что-то типа управляющей последовательности, которая воспринимается как признак окончания потока данных, EOF или что-то такое.
Парсер флв на руках имеется. Звук-видео AAC AVC
Что искать?
А что имеется в виду под "локально играется без проблем". Ну и чем склеивали? Я так понимаю, что склеивали сначала avi а потом конвертировали, а не наоборот?
ну на локальном компе с помощью kmplayer играет без вопросов
склеивали mencoder, avi вообще можно склеить чем угодно.
конвертировали ffmpeg
С другими энкодерами то же самое получается?
Угу. Ремкуснул в мп4 контейнер-играет без проблем. Ну это и логично, он не потоковый, как флв, там есть кол-во кадров, он наверняка все эти управляющие последовательности игнорирует.
Но вот флв никак не желает.
Я имел ввиду не другие форматы, а другие энкодеры - конвертеры для получения FLV.
Попробуйте, например, SUPER (http://www.erightsoft.com/S6Kg1.html). Несмотря на претенциозное название, он действительно мощный и кроме того, free.
Стоило бы еще попробовать Adobe Media Encoder (из CS5) или Adobe Flash Video Encoder (из CS3), если есть.
Пробовал mencoder ом делать-same shit
Добавлено через 1 минуту
Попробуйте, например, SUPER (http://www.erightsoft.com/S6Kg1.html). Несмотря на претенциозное название, он действительно мощный и кроме того, free.
Super это просто обвертка для ffmpeg и прочего.
Хотя да, вы правы насчет SUPER. Тогда мыслей насчет энкодеров более нет, кроме как попробовать адобовскими.
И клеить AVI как-то иначе.
ну даже если я склею адобовским и новая версия проиграется-все равно проблема не уйдет. Мне же нужно решение именно для этого файла-это корректная структура flvtag, нормальный аас avc потоки, играть плеер его обязан, то есть пофиксить его на лету перед appendBytes я обязан.
avi - это формат контейнер, а что у него непосредственно внутри? Может в этом проблема? Может это какой-нибудь виндовский wmv - с ними mencoder / ffmpeg плохо работают.
Кстати, у vlc перекодировщик свой (он может использовать ffmpeg, но по умолчанию использует что-то свое) его так же можно из коммандной строки вызвать и т.п.
Но я бы смотрел в сторону исходного avi, и того, что там именно внутри.
либо
плеер которым вы проигрываете flv что-то не так делает, может там метаданные какие-то неправильные получаются? flv - тоже, вобщем-то формат-контейнер. Эксперимента ради можно попробовать поменять начинку на sorenson spark например (это не лучший вариант, просто чтобы убедиться, что проблема не в начинке).
avi-это контейнер. Что там внутри было, не суть важно-все равно же перекодировалось.
Я использую флеш плеер, с компонентами video и netstream в режиме создания данных.
И на метаданные ему вообще наплевать, они вообще нужны только для того, что бы сразу нарисовать красивый прогресс бар(общая длина) и сделать псевдостриминг(keyframes), все нужная информация закодирована в flvtag, вообще-то
А проблема-то в начинке, конечно, только какая. video и netstream-черные ящики, я же не вижу, что им не нравится в данных. Вижу только временную timestamp, на которой воспроизведение обрывается. Знаю номер кадра, который в теории проблемный(+- пара кадров). Крамолы в упор не вижу на них.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.