![]() |
StrobeMediaPlayback получение снимка в видео
Добрый день. Сразу оговорюсь, с флешем я знаком пару дней и только в рамках задачи из сабж. Есть сборка StrobeMediaPlyback, которая была как-то кастомизирована автором одного из используемых нами продуктов.
Цитата:
Цитата:
Код AS3:
Заранее спасибо за ответы. |
Плагин — это загрузчик плеера? Откуда загружается плеер? Совпадает ли домен загрузки плеера с доменом плагина? Совпадают ли домены плеера и контента?
|
Нет плагин это плагин. osmf и smpb поддерживают загрузку плагинов для добавления элементов управления, вставки рекламы, ватермарков, добавления источников воспроизведения (проигрывание видео из youtube к примеру) и т.д. Контент тянется с одного домена, а сам плеер и плагин с другого. В policy логе FlashPlayer'а видно что для smpb происходит загрузка crossdomain.xml и воспроизведение идет нормально. Но вот для плагина xml'ка не грузится даже если форсировать ее загрузку вручную через Security.loadPolicyFile("..."). Так же смущает факт того, что в тексте исключения вместо имени/адреса ресурса указан null. Есть подозрение что FlashPlayer не дает доступ к DisplayObject другого swf файла (плагин все ж отдельная swf'ка, хоть и грузится плеером).
|
Цитата:
Цитата:
Добавлено через 2 минуты Цитата:
Добавлено через 5 минут Для более детального осмысления посетите, конечно, справку. |
Все же провел "следственный эксперимент", который долго отодвигал по причине того, что не верил в его успех: закинул тестовое видео (flv'шку) в ту же папку, где лежали swf'ки. Да, draw действительно отработал без проблем.
Содержимое crossdomain.xml Код:
<cross-domain-policy> |
Хочу вас предупредить. В доке, мягко говоря, ошибаются. Там нет ни слова про "копирование", там только про
Код:
URL policy files grant cross-domain permissions for reading data.Судя по policy, который вы предоставили, проблема не в этом. |
Попробовал принудительно выставлять checkPolicy для NetStream'а как перед самим снятием скриншота, так и при добавлении трейта потока в плеер (по событию TRAIT_ADD). Пробовал отрывать NetStream от VideoSurface перед снятием скриншота (attachNetStream(null)). Снова пробовал форсировать загрузки policy файла в разные моменты времени (при инициализации плагина, при добавлении тейта потока, перед получением скриншота). Результат неизменен, единственное отличие было в текстовке сообщения об ошибке после отрыва от потока - null заменился на Unknown URL. На каком-то ресурсе предлагали еще дергать Security.allow[Insecure]Domain перед загрузкой политики, не смотря на видимую абсурдность, на всякий случай этот вариант тоже проверил. Больше идей пока не возникало.
И меня по-прежнему смущает, что Security.loadPolicy отказывается грузить политику. Судя по логу, при создании 2х копий плеера на странице, политика грузится дважды для одного и того же домена для одной и той же swf'ки, для моей же swf'ки грузить ее он отказывается наотрез. |
Я с восхищением слежу за вашим расследованием. Будьте так любезны, если все получится, рассказать подробности.
|
А у меня похожая проблема.
Сделал плеер на основе OSMF для камер наблюдения, который принимает любые потоки. И вот проблема - rtpm и воспроизводит отлично, и нормально снимает методом .draw скриншот с .mediaPlayerSprite.mediaContainer . А вот потоки f4m не хотят скриншотиться... выдают на .draw тот самый Код:
SecurityError: Error #2123: Security sandbox violation: BitmapData.draw: file:///Z|/home/test1.ru/www/strimPlayer.swf cannot access null. No policy files granted access |
| Часовой пояс GMT +4, время: 20:54. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.