Как получить размеры видеофайла в формате mp4? - PullRequest
4 голосов
/ 23 февраля 2011

У меня есть форма, которая будет принимать и сохранять видеофайл MP4. Я должен быть в состоянии получить размеры видео, а также. Он будет работать на сервере, на котором работает ASP.NET 2.0, поэтому любые внешние библиотеки должны иметь возможность помещаться в папку Bin, поскольку их нельзя установить на сервере.

Есть идеи, как получить информацию? Если бы эта же библиотека позволила мне перекодировать видео на flv, это было бы огромным бонусом.

Обновление: Сервер XP с пакетом обновления 2 (SP2) и .NET Framework (2,050727,0)

1 Ответ

2 голосов
/ 23 февраля 2011

Есть несколько способов сделать это, но нет библиотеки как таковой, которая будет работать с C # для любых / всех видеофайлов .mp4. Это ничто на 100% надежное.

Оба являются параметрами командной строки (в некотором смысле). По сути, вы будете выполнять процесс из приложения ASP.NET с помощью System.Diagnostics.Process.

Один из них должен использовать ffmpeg . С ffmpeg, если вы просто передаете ему файл (в качестве аргумента командной строки, если он вернет различные метаданные о файле. Эта информация может быть проанализирована для извлечения измерений.

Другой должен использовать MediaInfo . Это отличный инструмент для этого. Но опять же, вам придется использовать версию командной строки (версия CLI) и в значительной степени дать ей имя файла в качестве аргумента командной строки. У него есть возможность создавать и XML-ответ, так что вы можете легко проанализировать эту и другую информацию, если сможете.

ffmpeg также может перекодировать ваше видео. Хотя я не вижу смысла транскодирования из mp4. FLV

...