当前位置: 首页 > 知识库问答 >
问题:

GStreamer并排播放3个视频

谭卜鹰
2023-03-14

以下是在视频框中播放2个mp4视频的代码

gst-launch-1.0 filesrc location=1。mp4!decodebin!队列视频转换!视频框边框alpha=0右=-100!videomixer name=混音!视频转换!autovideosink文件rc位置=2。mp4!decodebin!队列视频转换!视频框边框alpha=0左=-100!混合

我已尝试使用此代码播放3个视频

gst-启动-1.0文件rc位置=下载/1.mp4!解码器!队列!视频转换!视频框边框-alpha=0右=-100!Videomixer名称=混合!

视频转换!autovideosink filesrc location=下载/2。mp4!decodebin!队列视频转换!视频框边框alpha=0左=-100!混合

视频转换!autovideosink filesrc location=下载/3。mp4!decodebin!队列视频转换!视频框边框alpha=0左=-200!混合

我得到语法错误:(

共有2个答案

阎德辉
2023-03-14

使用名称实例化元素后(例如,videomixer name=mix),您可以稍后使用连接到该元素。(例如混合)。此后,您无需重复3次autovideosink。

gst-launch-1.0 filesrc location=Downloads/1.mp4 ! decodebin ! queue ! videoconvert ! videobox border-alpha=0 right=-100 ! videomixer name=mix ! videoconvert ! autovideosink 

               filesrc location=Downloads/2.mp4 ! decodebin ! queue ! videoconvert ! videobox border-alpha=0 left=-100 ! mix. 

               filesrc location=Downloads/3.mp4 ! decodebin ! queue ! videoconvert ! videobox border-alpha=0 left=-200 ! mix.

在这里,我们初始化了3个管道,并将其中的三个管道与mix元素合并。

秦鸿羽
2023-03-14

像这样的视频混合器

gst-launch-1.0 -e \
videomixer name=mix background=0 \
        sink_1::xpos=0   sink_1::ypos=0 \
        sink_2::xpos=200 sink_2::ypos=0 \
        sink_3::xpos=100 sink_3::ypos=100 \
    ! autovideosink \
uridecodebin uri='file:///data/big_buck_bunny_trailer-360p.mp4' \
    ! videoscale \
    ! video/x-raw,width=200,height=100  \
    ! mix.sink_1 \
uridecodebin uri='file:///data/sintel_trailer-480p.webm' \
    ! videoscale \
    ! video/x-raw,width=200,height=100  \
    ! mix.sink_2 \
uridecodebin uri='file:///data/the_daily_dweebs-720p.mp4' \
    ! videoscale \
    ! video/x-raw,width=200,height=100  \
    ! mix.sink_3
 类似资料:
  • 我想使用gstreamer进行网络传输。目的是启动视频内容(从发射机)并在接收机端播放。我编写了一个用于对网络内容进行流式传输的示例测试代码。 在发射机侧:GST\u DEBUG=“*:2”GST-launch-1.0 videotestsrc!视频/x-raw!jpegenc!rtpjpegpay!udpsink主机=127.0.0.1端口=5001 在接收器端:GST\u DEBUG=“*:2

  • 下面是我的代码以及报错信息,不知道是哪里错了,这个url地址我测试过也是可以的,在这里先谢谢各位大哥们的解答,小弟感激不尽!!

  • 我的应用程序有一个片段,播放一秒钟长的视频。播放完视频后,用户必须按下一个按钮,然后应该播放一个新的视频。在播放第二个视频之前,my main activity加载、创建一个新片段并创建新的Exoplayer实例。 我第一次播放视频时,一切都按预期进行。然而,如果我想播放第二个视频,它将显示第一个视频最后一帧的冻结图像,并播放第二个视频的声音。这个bug不出现在Android8(API Level

  • 用 AVPlayer 类写的简易视频播放器,可以播放来自互联网的视频,支持手势缩放视频。只能播放iPhone支持的视频格式。 目前有两点不足:一是无法调节音量;二是手势放大缩小之后滑动快进快退也不太正常。希望有其他开发者在此基础上继续改进。 [Code4App.com]

  • 硬件和软件:Raspberry PI4,IP camera,Raspbian Buster,Gstreamer 1.14.1(来自存储库)。覆盆子和摄像机都在本地网络上。 null 其他信息: > 我的相机在图像上方显示时间(时、分、秒)。回放总是在秒的某个值停止。相机重启时,这个数值随机变化--17、32、55……改变相机中的时间并不能解决问题。 Raspberry上的VLC播放器从该相机播放流

  • 我正在尝试在android中实现BrightCove Exoplayer。我能够成功地实现播放单个视频。现在我正在尝试使用Exoplayer播放播放列表。播放列表中的第一个视频,在第一个视频结束时,播放器不会播放播放列表中的下一个视频。它再次显示第一个视频的开头;如果我按下播放按钮,第一个视频将再次播放。我想实现连续播放播放列表中的所有视频。我错过什么了吗?我将我的代码张贴在下面: 主要活动: