首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Red 5从直播流和Xuggle生成FLV

Red 5从直播流和Xuggle生成FLV
EN

Stack Overflow用户
提问于 2010-11-25 22:02:45
回答 1查看 1.1K关注 0票数 0

我使用Red5记录来自用户的实时流。我能够将流保存到磁盘中,并生成一个FLV文件。

  1. 当我试图用FLV播放器读取FLV文件时--似乎文件的元数据被破坏了--这也使进度条的行为变得奇怪。
  2. 也尝试使用Xuggle来玩这个文件。这似乎是不可能的,因为生成的FLV中没有编解码器id。

任何洞察力都会很感激的。

下面是我的相关Red5 (JAVA)代码:

代码语言:javascript
复制
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]

EN

回答 1

Stack Overflow用户

发布于 2011-01-30 17:02:19

我最近用establishOutputCodecID修复了一个bug,所以您可能想尝试一下当前的Xuggler树梢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4281139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档