Vì vậy, nếu tôi chạy:Làm thế nào tôi có thể đọc một webstream trực tiếp trong java bằng cách sử dụng xuggle? (Tôi có thể làm điều đó trong ffmpeg, chỉ cần không 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
Nó mang lại cho tôi một snapsnot 5 giây của video từ đó webstream đó được đưa vào test.flv. Bây giờ tôi muốn làm điều tương tự trong java sử dụng xuggle trừ mọi tôi cố gắng và mở các lỗi chứa nó ra cho tôi và bộ 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;
}
Có lẽ cách tốt nhất để làm điều đó là để dòng trong ffmpeg để một container xuggle sử dụng inputstream bằng cách nào đó? Hoặc có thể có một cách khác để truyền trực tuyến trong webstream sang java?
rtmp: //170.93.143.150/rtplive/e000990f025f0075004d823633235daa có lẽ nên hoạt động sau đó giả sử đây là streamName – jontro
Theo https://groups.google.com/forum/?fromgroups=#!searchin/xuggler-users/playpath/xuggler-users/kXoRdAocXfg/GeobXLlnFfkJ những thông số mà tôi có là chính xác. Nó chỉ cần chuyển urlString vào librtmp. – Grammin
Tôi cũng đã thử tạo trình đọc cách bạn đề xuất và không có may mắn, bất kỳ ý tưởng nào khác? – Grammin