2010-11-25 7 views
0

Im Utilisation de Red5 pour enregistrer le flux en direct de l'utilisateur. Je suis capable de sauvegarder le flux sur le disque et il génère un fichier FLV.Red 5 Génération de fichiers FLV à partir de la diffusion en direct et de Xuggle

  1. Quand je suis en train de lire le fichier FLV avec un certain lecteur FLV - il semble que les méta-données sont corrompues du fichier - ce qui rend également la barre de progression d'agir bizarrement.

  2. En outre, j'ai essayé de jouer avec le fichier en utilisant Xuggle. Cela semble impossible puisque les fichiers FLV générés ne contiennent pas le codec-id.

Tout aperçu sera très apprécié.

Voici mon code Red5 (JAVA) pertinente:

public void record(IConnection conn, String streamName) 
{ 
    ClientBroadcastStream stream = (ClientBroadcastStream) getBroadcastStream(
    conn.getScope(), streamName); 
    try { 
     stream.saveAs(streamName, false); 
    } catch (Exception e) { 
     System.out.print(e.getMessage()); 
    } 
} 

public void encodeWithXuggler(IConnection conn, String streamName) 
{ 
    String nm = "C:\\Program Files\\Red5\\webapps\\Red5Recorder\\streams\\"+ 
       streamName+".flv"; 
    File f = new File(nm); 

    if (f.exists()) { 

    IMediaReader reader = ToolFactory.makeReader(nm); 

    reader.addListener(ToolFactory.makeWriter("output.mov", reader)); 

    while (reader.readPacket() == null); 

    } else { 
     System.out.print("NOT EXiST"); 
    } 

} 

Et le message d'erreur Xuggle je reçois:

Caused by: java.lang.IllegalArgumentException: null inputCodecId at com.xuggle.xuggler.IContainerFormat.establishOutputCodecId(IContainerFormat.java:295) [xuggle-xuggler.jar:3.4.1012] at com.xuggle.mediatool.MediaWriter.addStreamFromContainer(MediaWriter.java:1141) [xuggle-xuggler.jar:3.4.1012] at com.xuggle.mediatool.MediaWriter.getStream(MediaWriter.java:1046) [xuggle-xuggler.jar:3.4.1012] at com.xuggle.mediatool.MediaWriter.encodeAudio(MediaWriter.java:837) [xuggle-xuggler.jar:3.4.1012] at com.xuggle.mediatool.MediaWriter.onAudioSamples(MediaWriter.java:1448) [xuggle-xuggler.jar:3.4.1012] at com.xuggle.mediatool.AMediaToolMixin.onAudioSamples(AMediaToolMixin.java:89) [xuggle-xuggler.jar:3.4.1012] at com.xuggle.mediatool.MediaReader.dispatchAudioSamples(MediaReader.java:628) [xuggle-xuggler.jar:3.4.1012] at com.xuggle.mediatool.MediaReader.decodeAudio(MediaReader.java:555) [xuggle-xuggler.jar:3.4.1012] at com.xuggle.mediatool.MediaReader.readPacket(MediaReader.java:469) [xuggle-xuggler.jar:3.4.1012]

+0

BTW - J'ai vu cet article http://stackoverflow.com/questions/2760570/xuggle-codec-identification-fail mais je ne suis pas sûr que ce soit le même numéro –

+0

Pour le moment: Le problème n'est pas Xuggler - mais le flv généré/encodé par Red5. –

Répondre

0

J'ai récemment corrigé un bug avec establishOutputCodecID, vous voudrez peut-être pour essayer l'extrémité Xuggler actuelle de l'arbre.

Questions connexes