2014-01-30 5 views
6

Мое веб-приложение ASP.NET/C# позволяет пользователям загружать файлы MP4 в базу данных для последующего отображения с использованием тега HTML5 <video>.Поиск размера (высота x ширина) загружаемого файла MP4

Что я ищу - это способ (код, компонент), чтобы определить размер экрана, который должен иметь данный файл MP4 для правильной игры. Я пока ничего не смог найти.

Учитывая файл MP4 (в качестве загрузки файла) - как я могу определить экранные размеры видео, содержащегося в нем, используя код C#? Есть ли что-то вроде метаданных MP4, которые можно прочитать из файла?

+1

http://stackoverflow.com/questions/5085897/how-do-i-get-the-dimensions-of-a-mp4-video-file Это может помочь вам решить вашу проблему –

+1

@JakeRote : оба подхода кажутся скорее «клочковыми» и беспорядочными - я действительно предпочел бы иметь чистую, чистую библиотеку ** ** ** для этого. 'MP4Metadata.GetDimensions (" c: \ tmp \ myfile.mp4 ");' или что-то в этом роде - **, что ** было бы хорошим решением! –

ответ

3

Вместо решения этой проблемы на сервере вы можете решить ее на клиенте во время просмотра с помощью элемента HTML5 video.

$("#video").bind("loadedmetadata", function() { 
     var width = this.videoWidth; 
     var height = this.videoHeight; 
     // ... 
}); 

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

Если необходимо сохранить размеры в базе данных, подумайте над тем, чтобы найти способ использовать элемент video во время процесса загрузки. Один из подходов заключался бы в том, чтобы сразу после загрузки был показан предварительный просмотр видеоролика, который бы извлек габариты с приведенным выше кодом JavaScript и разместил их как скрытые элементы формы на вашем сервере.

+1

- это гораздо лучшее решение – dmportella