2010-08-26 61 views
0

J'ai compilé une vidéo MTS au format MP4 en utilisant FFMPEG. La vidéo dure 2 minutes.Lecture d'un film MPEG, commençant et se terminant à des endroits spécifiques?

Je veux être en mesure de lire la vidéo mais commencer à 0:15 secondes et se terminer à 0:45 secondes. Effectivement, je veux que le logiciel de lecture affiche seulement 30 secondes de lecture disponibles. Le logiciel doit être une application Flash pour l'intégration en HTML.

Est-ce que quelqu'un connaît un logiciel qui va faire cela? Merci d'avance.

+1

Je sais que cela ne répond pas à votre question, mais ne serait-il pas préférable de recadrer la vidéo à la section dont vous avez besoin? – Zugwalt

+0

Voulez-vous dire enregistrer les 30 secondes et l'enregistrer en tant que clip séparé? – Reado

+1

Oui, utilisez par exemple. MS Movie Maker pour le recadrer. – Eugene

Répondre

0

Je trouve un logiciel côté serveur qui va faire l'affaire:

http://h264.code-shop.com/

Disponible en différentes versions selon le serveur Web que vous utilisez. Permet la diffusion de la vidéo Vous permet également de décider où commencer et se terminer.

0
<?xml version="1.0" encoding="utf-8"?> 

<mx:Style> 
    @font-face { 
     src:url("assets/arial.ttf"); 
     font-family: Arial; 
    } 

    .timeStyle { 
     color: #FFFFFF; 
     font-family: Arial; 
     font-size: 12; 
    } 

    .playPauseStyle { 
     /* play button skins */ 
     skin: Embed('assets/control_play.png'); 
     downSkin: Embed('assets/control_play_blue.png'); 

     /* pause button skins */ 
     selectedUpSkin: Embed('assets/control_pause.png'); 
     selectedOverSkin: Embed('assets/control_pause.png'); 
     selectedDownSkin: Embed('assets/control_pause_blue.png'); 
    } 

    .stopStyle { 
     skin: Embed('assets/control_stop.png'); 
     downSkin: Embed('assets/control_stop_blue.png'); 
    } 

    .controllerStyle { 
     bottom: 5; 
     left: 5; 
     right: 5; 
     paddingBottom: 5; 
     paddingLeft: 5; 
     paddingRight: 5; 
     paddingTop: 5; 
     alpha: 0; 
     background-color: #000000; 
     background-alpha: 0.5; 
    } 
</mx:Style> 

<mx:Script> 
    <![CDATA[ 
     import mx.events.VideoEvent; 

     private function showControls():void { 
      fadeIn.play([controls]); 
     } 

     private function hideControls():void { 
      fadeOut.play([controls]); 
     } 

     private function videoDisplay_playheadUpdate(evt:VideoEvent):void { 
      var pTime:Date = new Date(videoDisplay.playheadTime * 1000 || 100); 
      var tTime:Date = new Date(videoDisplay.totalTime * 1000); 
      time.text = dateFormatter.format(pTime) + "/" + dateFormatter.format(tTime); 
     } 

     private function playPauseButton_click(evt:MouseEvent):void { 
      if (videoDisplay.playing) { 
       videoDisplay.pause(); 
      } else { 
       videoDisplay.playheadTime=**YOUR TIME HERE** 
       videoDisplay.play(); 
      } 
     } 

     private function stopButton_click(evt:MouseEvent):void { 
      videoDisplay.stop(); 
     } 
    ]]> 
</mx:Script> 

<mx:Fade id="fadeIn" alphaFrom="0.0" alphaTo="1.0" /> 
<mx:Fade id="fadeOut" alphaFrom="1.0" alphaTo="0.0" /> 

<mx:DateFormatter id="dateFormatter" formatString="NN:SS" /> 

<mx:Label text="Mouse over the VideoDisplay control below to show control buttons." /> 
<mx:Canvas rollOver="showControls()" rollOut="hideControls()"> 
    <mx:VideoDisplay id="videoDisplay" source="http://www.helpexamples.com/flash/video/caption_video.flv" autoPlay="false" playheadUpdate="videoDisplay_playheadUpdate(event)" /> 
    <mx:HBox id="controls" styleName="controllerStyle" alpha="0.0"> 
     <mx:Button id="playPauseButton" styleName="playPauseStyle" toggle="true" selected="{videoDisplay.playing}" click="playPauseButton_click(event)" /> 
     <mx:Button id="stopButton" styleName="stopStyle" click="stopButton_click(event)" /> 
     <mx:Spacer width="100%" /> 
     <mx:Label id="time" styleName="timeStyle" /> 
    </mx:HBox> 
</mx:Canvas> 

ou voir plus ici http://blog.flexexamples.com/2007/08/05/building-a-basic-controller-for-the-videodisplay-control/comment-page-1/#comment-329

+0

Merci, juste pensé, comment arrêteriez-vous le téléchargement du lecteur et la mise en mémoire tampon de la vidéo entière si tout ce que vous voulez faire est d'afficher 30 secondes de celui-ci? YouTube semble le faire - si vous êtes à mi-chemin d'une vidéo et que vous passez à un autre mode SD/HD, il continue à mi-chemin au lieu de revenir au début. Ou est-ce parce qu'ils utilisent un serveur de streaming vidéo? – Reado

+0

oh, c'est parce qu'ils sont diffusés via le protocole RTMP du serveur comme FMS ou Red5, et là vous pouvez contrôler la mise en mémoire tampon du canal vidéo ** live **. – Eugene