Как прочитать videoDuration файла .flv из * .Net без использования flash-activeX? - PullRequest
0 голосов
/ 06 мая 2009

У меня есть программа winform, которая позволяет пользователям загружать фильмы Shockwave Flash на сервер. Чтобы получить videoDuration, я создаю экземпляр «ShockwaveFlashObjects» -activeX, загружаю фильм и затем читаю videoDuration, пока он не изменится с «0.0» на что-либо еще. Я получаю это, читая GetVariable ("videoDuration").

Часто это работает, но иногда он блокируется или показывает информацию из предыдущего загруженного Flash-фильма.

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

Все загруженные фильмы являются видеороликами, поэтому они имеют определенную продолжительность воспроизведения.

Этот вопрос не помог с ответами.

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

1 Ответ

0 голосов
/ 18 июня 2009

Одной из возможностей является использование ffmpeg для чтения видео / аудио битрейтов. Получив эти данные, вы можете разделить общий размер файла на сумму видео / аудио битрейтов. Это дает вам приблизительное количество секунд (+/- несколько socnds).

...