8
所以,如果我運行:如何使用xuggle在java中讀取實時webstream? (我能做到這一點的ffmpeg中,只是沒有xuggle)
ffmpeg -t 10 -re -i "rtmp://170.93.143.150/rtplive/ app=rtplive/ playpath=e000990f025f0075004d823633235daa swfUrl=http://www.chart.state.md.us/video/mediaplayer/player.swf pageUrl=http://www.chart.state.md.us/video/video.asp?feed=e000990f025f0075004d823633235daa stop=5000 flashver=`LNX 11,2,202,262` live=true" test.flv -report
它給我的視頻從被投入test.flv是webstream 5秒snapsnot。 現在我想用xuggle除了每次我嘗試做同樣的事情在Java和打開容器它的錯誤出在我身上,並設置x爲-1:
public IMediaReader grabStream(IMediaReader reader) throws IOException
{
String rtmp = "rtmp://170.93.143.150/rtplive/";
rtmp = rtmp + " app=rtplive/";
rtmp = rtmp + " playpath=e000990f025f0075004d823633235daa";
rtmp = rtmp + " swfUrl=http://www.chart.state.md.us/video/mediaplayer/player.swf";
rtmp = rtmp + " pageUrl=http://www.chart.state.md.us/video/video.asp?feed=e000990f025f0075004d823633235daa";
rtmp = rtmp + " flashver=`LNX 11,2,202,262`";
rtmp = rtmp + " live=true";
IContainer container = IContainer.make();
IMediaReader newReader = ToolFactory.makeReader(container);
int x = container.open(rtmp, IContainer.Type.READ, null, true, false);
if (x < 0)
{
IError ie = IError.make(x);
System.out.println("Open error: " + ie.getType().toString());
throw new RuntimeException("failed to open with error" + x);
}
return newReader;
}
也許這樣做是最好的方式以某種方式使用inputstream將ffmpeg中的數據流傳輸到一個xuggle容器?或者,也許有另一種方式流到一個webstream到Java?
RTMP://170.93.143.150/rtplive/e000990f025f0075004d823633235daa或許應該工作,那麼假設這是streamName中 – jontro 2013-02-25 17:45:04
據https://groups.google.com/forum/?fromgroups=#!searchin/xuggler-users/playpath/xuggler-users/kXoRdAocXfg/GeobXLlnFfkJ我擁有的這些參數都是正確的。它應該只是將urlString傳遞給librtmp。 – Grammin 2013-02-25 21:50:16
我也試過創建讀者如何建議,並沒有運氣,任何其他的想法? – Grammin 2013-02-25 22:02:31