我正在尝试流式传输实时网络流。
我测试了一些服务器,Icecast是我的照片。
使用ffmpeg从IP摄像头捕获并在icecast服务器上发布我能够在html5中看到视频
使用此命令:
ffmpeg.exe -rtsp_transport tcp -i“rtsp://192.168.230.121/profile?token = media_profile1& SessionTimeout = 60”-f webm -r 20 -c:v libvpx -b:v 3M -s 300x200 - acodec none -content_type video / webm -crf 63 -g 0 icecast:// source:hackme@192.168.0.146:8001 / test
我正在使用java并尝试使用xuggler进行此操作,但是在打开流时出现错误
final String urlOut = "icecast://source:hackme@192.168.0.146:8001/agora.webm";
final IContainer outContainer = IContainer.make();
final IContainerFormat outContainerFormat = IContainerFormat.make();
outContainerFormat.setOutputFormat("webm", urlOut, "video/webm");
int rc = outContainer.open(urlOut, IContainer.Type.WRITE, outContainerFormat);
if(rc>=0) {
}else {
Logger.getLogger(WebmPublisher.class.getName()).log(Level.INFO, "Fail to open Container " + IError.make(rc));
}
有任何帮助吗? 我收到错误-2: 错误:无法打开文件(../../../../../../../ csrc / com / xuggle / xuggler / Container.cpp:544)
将内容类型设置为video / webm也非常重要,因为默认情况下,icecast将mime类型设置为audio / mpeg