Все говорят, "Вот, Flash Player воспроизводит кучу видео-кодеков". А давайте проверим?
Первым делом лезем в Гугл и по первой же ссылке попадаем на
Flash-Ripper.
Прочитав, первое желание пойти и посмотреть этот "Арал Балкан:
FAQ по Adobe Flash Player H.264 support". Вопросы нас интересующие:
- Будет ли воспроизводить FP9 не-FLV файлы или расширения?
Да. Стандартные контейнеры MPEG-4, содержащие видео и аудио данные закодированные H.264/AAC, MP4, M4V, M4A, MOV, Mp4v, 3gp, 3g2.
В ответах находим интересную ссылку: http://www.debit.nl/video/. Здесь на странице, SWF воспроизводит видео MOV. Ага, раз у нас играется, значит с плеером всё в порядке. К слову, это видео H.264.
Попробуем воспроизвести этот файл своими средствами. Создаем в Flash CS проект AS3 с FLVplayback. Вызываем:
Локальная политика безопасности - только интернет, запускаем опубликованый HTML, смотрим. Пошла загрузка. Молчание.
Скачиваем MOV, пытаемся воспроизвести локально. Компилируем, запускаем.
Выкидывает исключение:
VideoError: 1005: Invalid xml: URL: "Video/BookofSecrets.mov" No root node found; if url is for an flv it must have .flv extension and take no parametersАналогичные действия с AS2 - проектом вообще вызывали ошибки и зависания.
Значит FLVPlayback не может воспроизводить другие видео-файлы.
По совету коллеги, создаю Flex-проект и перетаскиваю компонент
VideoDisplay. В свойствах
source указываем URL и - вуаля, всё играется. Локальный файл не позволяет воспроизвести политика безопасности. Но с этим мы боремся легко (
гугл рулит) - добавляем параметр
-use-network=false
в Project -> Properties -> Flex Compiler -> Additional compiler arguments.
Возникает вопрос -
были утверждения: что Flash Player 9
MovieStar может легко воспроизвести видео любым способом, даже непосредственно самим проигрывателем, и старые проекты откомпилированные еще под 7-ю версию не будут иметь проблем. А почему же не получается? Почему только флекс-компонент
VideoDisplay способен воспроизвести такое видео? Что же не так?
* * *
Попробовал пример из Flash CS3 Help Actionscript 3.0 Components для класса Video. Воспроизводит! Для него вопрос снимается.
* * *
А вот компонент Media Display Actionscript 2.0 наш MOV не воспроизводит.