Red 5 Generated FLV из прямой трансляции и Xuggle - PullRequest
0 голосов
/ 26 ноября 2010

Im Использование Red5 для записи живого потока от пользователя.Я могу сохранить поток на диск, и он генерирует файл FLV.

  1. Когда я пытаюсь прочитать файл FLV с помощью проигрывателя FLV - кажется, что мета-файл файладанные повреждены, что также делает индикатор выполнения странным.

  2. Также я попытался воспроизвести файл с помощью Xuggle.Это кажется невозможным, поскольку в сгенерированном FLV нет идентификатора кодека.

Любое понимание будет высоко оценено.

Вот мой соответствующий код Red5 (JAVA):

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");
   }

}

И полученное сообщение об ошибке Xuggle:

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]

1 Ответ

0 голосов
/ 30 января 2011

Недавно я исправил ошибку с УстановитьOutputCodecID, поэтому вы можете попробовать текущий наконечник дерева Xuggler.

...