这是我第三次也是最后一次尝试在StackOverflow上提问,我的提问方式非常具体。
我有一个Java应用程序,它将带桌面并使用libx264对其进行编码,然后使用RTMP将其流式传输到twitch.tv。我的问题是我想预览视频流,而发现做到这一点的最佳方法是将vlcj视频播放器添加到jpanel。到此为止。
但是我不能做的是:将流既发送到Twitch,又发送到屏幕。并让该屏幕拾取该流并显示它。
流媒体是avconv,在libav中使用。 (FFmpeg,但适用于ubuntu)
Bash代码加载它:
`#! /bin/bash
clear
INRES="$1"
OUTRES="$2"
FPS="$3"
QUAL="$4"
STREAM="$5"
avconv \
-f x11grab -s $INRES -r $FPS -i :0.0 -qcomp 1.0 \
-f alsa -ac 2 -i pulse \
-vcodec libx264 -s $OUTRES -preset $QUAL -g 2 \
-acodec libmp3lame -ar 44100 -threads 6 -q:a 3 -b:a 712000 -bufsize 512k \
-f flv $STREAM`
vlcj面板甚至可以观看youtube视频或抽搐视频,但我希望它具有低延迟。
任何帮助表示赞赏。谢谢。
最佳答案
vlcj测试中的此示例将流RTP并同时在JFrame中显示视频。
https://github.com/caprica/vlcj/blob/vlcj-2.0/src/test/java/uk/co/caprica/vlcj/test/streaming/StreamRtpDuplicate.java
您应该能够使该示例适应您自己的特定需求,例如如果您使用其他协议进行流式传输。
关键是在播放媒体时设置正确的vlc“ sout”流输出选项,尤其是将输出“复制”到“显示”中:
:sout=#duplicate{dst=display,dst=rtp{dst=230.0.0.1,port=5555,mux=ts}}
关于linux - VLCJ JPanel播放视频流预览,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19147625/