2009-04-15 3 views

Antwort

1

Ich benutze ffmpeg auf meiner Ubuntu-Box mit tollen Ergebnissen.

svn checkout svn: //svn.ffmpeg.org/ffmpeg/trunk ffmpeg

0

Es gibt ein Projekt von Dan Fernandez auf Coding4Fun erstellt wurde, die FFMPEG verwendet FLV in MPEG zu konvertieren, ist auch das Gegenteil wahr.

Hier ist das Projekt, das er InnerTube

hier genannt erstellt ist der Link zu einer Website, die Befehlszeilenargumente mit FFMPEG Detaillierung.

0

würde ich mit Xuggler (http://www.xuggle.com) für dieses Unterfangen vorschlagen, hier ist ein Beispiel Methode Sie Ihre Red5 Anwendung hinzufügen könnte:


    public void convert(String sourceFilePath, String destinationFilePath) { 
     //assumes the following: sourceFilePath is input file and destinationFilePath is output file 
     IMediaReader reader = ToolFactory.makeReader(sourceFilePath); 
     IMediaWriter writer = ToolFactory.makeWriter(destinationFilePath, reader); 
     writer.open(); 
     writer.setForceInterleave(true); 
     IContainerFormat outFormat = IContainerFormat.make(); 
     outFormat.setOutputFormat("flv", destinationFilePath, null); 
     IContainer container = writer.getContainer(); 
     container.open(args[1], IContainer.Type.WRITE, outFormat); 
     writer.addVideoStream(0, 0, ICodec.findEncodingCodecByName("flv"), 320, 240); 
     writer.addAudioStream(1, 0, ICodec.findEncodingCodecByName("libmp3lame"), 2, 44100); 
     reader.addListener(writer); 
     while (reader.readPacket() == null); 
    } 

Sie erwähnen „mpeg“, aber dieser Code-Block wird alle Medien konvertieren Typ unterstützt von FFMpeg und Xuggler.

ffmpeg -i /pathto/inputfile.xxx /pathto/outputfile.flv
wo 'xxx' ist die Eingabedateierweiterung, wie .avi, .mp4 usw.


:

1

Um eine statische Datei, Verwendung ffmpeg (auch avconv auf Ubuntu) zu erstellen
um einen Live-Ausgabe-Stream mit RED5 von einem Eingangsstrom (zB von einem Aufnahmegerät) für Echtzeit-Rundfunk, verwendet ffmpeg in einem Rohr, wie diese zu erstellen:

 
inputstream > - | ffmpeg -f xxx -i - -f flv rtmp://your.red5.server:1935/live/mybroadcast 

Wo xxx Ihre beste Vermutung ist, wie zu die in Setze das Videoformat des Streams. Je nach Format, z. B. "RawVideo", benötigen Sie möglicherweise zusätzliche Konvertierungsoptionen und/oder den Audiostream separat (eine zweite Option -i).

Um Ihre RED5-Übertragung zu empfangen, verbinden Sie den Flash-Player Ihres Browsers mit demselben Pfad wie die Ausgabe von ffmpeg, was der Eingabe für den RED5-Stream entspricht, der wiederum der Ausgabe von RED5-Stream entspricht (ja rtmp ist sehr effizient auf diese Weise):

rtmp://your.red5.server:1935/live/mybroadcast

Verwandte Themen