2010-08-26 3 views
0

Я скомпилировал видео MTS в формате MP4, используя FFMPEG. Видеоролик длится 2 минуты.Воспроизведение MPEG-фильма, начало и конец в определенных местах?

Я хочу, чтобы иметь возможность воспроизводить видео, но начинать с 0:15 секунд и заканчиваться в 0:45 секунд. Эффективно я хочу, чтобы программное обеспечение воспроизведения показывало только 30 секунд воспроизведения. Программное обеспечение должно быть основано на Flash-приложении для интеграции в HTML.

Кто-нибудь знает какое-либо программное обеспечение, которое сделает это? Заранее спасибо.

+1

Я знаю, что это не отвечает на ваш вопрос, но не лучше ли обрезать видео только в нужном разделе? – Zugwalt

+0

Вы имеете в виду записать 30 секунд и сохранить его как отдельный клип? – Reado

+1

yeap, используют, например, MS Movie Maker, чтобы обрезать его. – Eugene

ответ

0

Я нашел на стороне сервера программное обеспечение, которое будет делать трюк:

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

Доступен в разных вариантах в зависимости от того, какой веб-сервер вы используете. Позволяет транслировать видео. Также позволяет вам определять, где начинать и заканчивать.

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> 

или увидеть здесь http://blog.flexexamples.com/2007/08/05/building-a-basic-controller-for-the-videodisplay-control/comment-page-1/#comment-329

+0

Спасибо, подумал, как бы вы остановили загрузку и буферизацию всего видео, если все, что вы хотите сделать, это просмотреть 30 секунд? YouTube, похоже, делает это - если вы на полпути через видео и переключитесь на другой режим SD/HD, он продолжит на полпути вместо того, чтобы вернуться к началу. Или это потому, что они используют потоковый видеосервер? – Reado

+0

oh, потому что они передаются по протоколу RTMP с сервера как FMS или Red5, и там вы можете управлять буферизацией ** live ** видеоканала. – Eugene