Java 发送 Live Video InputStream 到 Red5 Media Server
Posted
技术标签:
【中文标题】Java 发送 Live Video InputStream 到 Red5 Media Server【英文标题】:Java send Live Video InputStream to Red5 Media Server 【发布时间】:2013-01-12 13:54:17 【问题描述】:我有一个来自 Java Socket 的InputStream
。
InputStream
是 H.264 视频直播流。我想将此视频InputStream
发送到red5 媒体服务器,以便其他客户端可以观看。
我找到了这个例子
package com.ryong21.example.publisher;import java.io.File;
import java.io.IOException;
import java.util.Date;
import org.red5.server.messaging.IMessage;
import org.red5.server.stream.message.RTMPMessage;
import org.red5.server.stream.provider.FileProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Publisher
public static void main(String[] args) throws IOException, InterruptedException
Logger log = LoggerFactory.getLogger(Publisher.class);
String publishName = "test";
String localFile = "2.mp3";
String host = "rtmpxn.91kge.com";
int port = 1935;
String app = "live";
IMessage msg = null;
int timestamp = 0;
int lastTS = 0;
PublishClient client = new PublishClient();
client.setHost(host);
client.setPort(port);
client.setApp(app);
client.start(publishName, "live", null);
while(client.getState() != PublishClient.PUBLISHED)
Thread.sleep(500);
FileProvider fp = new FileProvider(new File(localFile));
Date begin = new Date();
log.debug(begin.toString());
while(true)
msg = fp.pullMessage(null);
if(msg == null)
log.debug("done!");
break;
timestamp = ((RTMPMessage)msg).getBody().getTimestamp();
Thread.sleep(timestamp - lastTS);
lastTS = timestamp;
client.pushMessage( msg);
Date end = new Date();
log.debug(end.toString());
client.stop();
`
我的问题是如何将它与 Sockets InputStream 一起使用,而不是 FileProvider 中使用的 File。 InputStream 已经采用 H.264 编码。
【问题讨论】:
【参考方案1】:好的,在深入挖掘视频流之后,我发现我首先必须将 InputStream 转换为容器格式文件。可能的容器格式是 .mp4 或 .flv
创建容器文件后,我现在可以将其发布到 red5 媒体服务器。
【讨论】:
以上是关于Java 发送 Live Video InputStream 到 Red5 Media Server的主要内容,如果未能解决你的问题,请参考以下文章
如何将 iPhone-captured-video 转换为 HTTP Live Streaming 文件?
Facebook Live Video API,我可以通过编程方式分享朋友视频流吗?
c_cpp iOS直播视频面部屏蔽演示。有关详细信息,请参阅http://chriscavanagh.wordpress.com/2013/11/12/live-video-face-masking-