Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1503 connectés 

  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  Error #2123 bitmap.draw à partir d'un flux HDS dans une application Fl

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Error #2123 bitmap.draw à partir d'un flux HDS dans une application Fl

n°2231077
toupoutou2
Posté le 17-06-2014 à 14:39:13  profilanswer
 

Bonjour à tous,
 
Je suis en train de développer un player vidéo en Flex qui doit prendre en charge le HDS.
 
J'essaie en vain depuis hier de créer une une image Bitmap à partir d'un flux HDS que je récupère d'Akamai.
 
 
 
J'ai essayer avec un Flux RTMP, aucun problème, j'arrive bien à créer une image bitmap à partir du flux vidéo. Mais dès  que j'essaie avec un flux HDS, j'ai une erreur # 2123 qui correspond à une violation de sécurité.
 
 
 
le message complet :
 
Error #2123: Violation de la sécurité Sandbox : BitmapData.draw : http://192.168.0.194/test-hds/testHDS.swf ne peut pas accéder à null. Accès refusé à tous les fichiers de régulation.
 
 
 
 
 
J'ai créer un serveur avec Wowza en version trial pour avoir un exemple de flux HDS. Même problème qu'avec le flux d'Akamai
 
 
 
Mon Code :
 
Fichier testHDS.mxml
 

Code :
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
  3.                 xmlns:mx="library://ns.adobe.com/flex/mx"
  4.                 xmlns:s="library://ns.adobe.com/flex/spark"
  5.                 minWidth="955" minHeight="800" creationComplete="init()" layout="absolute">
  6.         <!-- Placer ici les éléments non visuels (services et objets de valeur, par exemple). -->
  7.     <fx:Declarations>
  8.     </fx:Declarations>
  9.     <fx:Script>
  10.         <![CDATA[
  11.             import mx.controls.Alert;
  12.             import mx.core.FlexGlobals;
  13.             import mx.core.UIComponent;
  14.          
  15.          
  16.             private var osmfPlayer:OSMFPlayer;
  17.          
  18.             public function init():void{         
  19.              
  20.            
  21.                 Security.allowDomain("*" )
  22.                 Security.loadPolicyFile("http://192.168.0.194/crossdomain.xml" );             
  23.              
  24.                 osmfPlayer = new OSMFPlayer();
  25.              
  26.                 this.addChild(osmfPlayer);
  27.             }
  28.             protected function myBtn_clickHandler(event:MouseEvent):void
  29.             {
  30.              
  31.                 try {
  32.                     var dpo:DisplayObject = osmfPlayer.player.displayObject;     
  33.                  
  34.                     var imgBD:BitmapData;
  35.                     var imgBitmap:Bitmap;
  36.                  
  37.                     imgBD = new BitmapData(100,100);
  38.                     imgBD.draw(osmfPlayer.player.displayObject as DisplayObject);
  39.                  
  40.                     imgBitmap=new Bitmap(imgBD);             
  41.                     var comp :UIComponent = new UIComponent();
  42.                     comp.addChild(imgBitmap);
  43.                     comp.x =0  ;
  44.                     comp.y = 720;
  45.                     addChild(comp);
  46.                     Alert.show("ok" );             
  47.                 }
  48.                 catch(e:Error){
  49.                     Alert.show(e.message);
  50.                 }
  51.             }
  52.         ]]>
  53.     </fx:Script>
  54.     <s:Button id="myBtn" x="0" y="720" label="MyButton" click="myBtn_clickHandler(event)">     
  55.     </s:Button>
  56. </mx:Application>


 
 
Fichier OSMFPlayer.as
 
 
 

Code :
  1. package
  2. {
  3.     import mx.core.UIComponent;
  4.  
  5.     import org.osmf.containers.MediaContainer;
  6.     import org.osmf.media.DefaultMediaFactory;
  7.     import org.osmf.media.MediaElement;
  8.     import org.osmf.media.MediaPlayer;
  9.     import org.osmf.media.URLResource;
  10.     public class OSMFPlayer extends UIComponent
  11.     {
  12.         //URI of the media
  13.         public static const PROGRESSIVE_PATH:String =
  14.             "http://192.168.0.194:1935/vod/mp4:sample.mp4/manifest.f4m";     
  15.      
  16.         public var player:MediaPlayer;
  17.         public var container:MediaContainer;
  18.         public var mediaFactory:DefaultMediaFactory; 
  19.      
  20.         public function OSMFPlayer()
  21.         {
  22.             initPlayer();
  23.         }
  24.      
  25.         protected function initPlayer():void
  26.         {
  27.             //the pointer to the media
  28.             var resource:URLResource = new URLResource( PROGRESSIVE_PATH );
  29.          
  30.             // Create a mediafactory instance
  31.             mediaFactory = new DefaultMediaFactory();     
  32.          
  33.             //creates and sets the MediaElement (generic) with a resource and path
  34.             var element:MediaElement = mediaFactory.createMediaElement( resource );
  35.          
  36.             //the simplified api controller for media
  37.             player = new MediaPlayer( element );
  38.          
  39.          
  40.          
  41.             //the container (sprite) for managing display and layout
  42.             container = new MediaContainer();
  43.             container.addMediaElement( element );
  44.          
  45.          
  46.             //Fit the player size
  47.             container.width =  1280;
  48.             container.height = 720 ;//- FlexGlobals.topLevelApplication.actionBar.height;
  49.          
  50.          
  51.          
  52.             //Adds the container to the stage
  53.             this.addChild( container );
  54.         }
  55.     }


 
 
crossdomain.xml
 
Emplacement :  à la racine du serveur
 
 
 

Code :
  1. <?xml version="1.0"?>
  2. <cross-domain-policy>
  3. <site-control permitted-cross-domain-policies="master-only" />
  4. <allow-access-from domain="*" />
  5. <allow-access-from domain="*.adobe.com" />
  6. <allow-access-from domain="*.macromedia.com" />
  7. </cross-domain-policy>


 
 
 
 
 
 
//fin de code
 
 
 
J'ai d'abord pensé que c'était lié au crossdomain.xml, j'en ai testé un certains nombre, ca ne change rien.
 
Je ne sais plus trop quoi faire
 
 
 
Si quelqu'un avait une idée ou une piste, je suis à cours !
 
 
 
Merci d'avance


---------------
Mon topic VDS/ACH
mood
Publicité
Posté le 17-06-2014 à 14:39:13  profilanswer
 

n°2231098
toupoutou2
Posté le 17-06-2014 à 17:22:06  profilanswer
 

Personne n'a d'idées ?


---------------
Mon topic VDS/ACH
n°2231652
toupoutou2
Posté le 24-06-2014 à 10:11:50  profilanswer
 

up


---------------
Mon topic VDS/ACH

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  Error #2123 bitmap.draw à partir d'un flux HDS dans une application Fl

 

Sujets relatifs
URGENT ! Fin de développement d'application C++ avec MFCPrendre une photo à partir de la webcam en JAVA
Application pour les développeurs (présenté comme ça)Comment sélectionner des onglets à partir d'une variable
Interface graphique application JAVAerror expected intializer berfore ' ' avec un typedef
problème pour inserer des données dans une table à partir d'un JframeVBA simple : comment faire une série d'identifiant à partir d'un chiff
manipuler le web a partir des graphes ( en c++ )[JAXB] Générer un Schema XSD à partir d'un fichier XML
Plus de sujets relatifs à : Error #2123 bitmap.draw à partir d'un flux HDS dans une application Fl


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR