linux - VLCJ JPanel播放视频流预览

标签 linux libav vlcj

这是我第三次也是最后一次尝试在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/

相关文章:

mysql - 高 5 分钟平均负载的奇怪案例

mysql - Apache 2.2.2 错误 403,truecrypt 加密设备安装在/var/www 上

video - 如何使用 libav 修复视频中的卡住像素?

c++ - Libav (ffmpeg) 将解码的视频时间戳复制到编码器

python - 哪种 GUI 工具包最适合 Windows 和 Linux 中的 Python native LAF?

c++ - 介子创建不会编译的构建文件

c - libav - 对 'av_frame_alloc' 等的 undefined reference

java - 如何在代码中实现 eclipse VM 参数

java - VLCJ 在运行时设置自定义库位置