步骤 1:更新系统软件包
在命令终端上,从 system update 命令开始安装新的可用程序包更新。此外,重建 APT 包缓存对于获取新版本包的信息是必要的,给定的命令也可以。
sudo apt update && sudo apt upgrade
第 2 步:在 Ubuntu 上安装 GStreamer
GStreamer 可以很容易地安装在 Ubuntu Linux 上,而无需使用 APT 包管理器添加任何第三个存储库。不仅是核心包,我们还可以安装必要的 GStreamer 组件,包括工具、基础插件、好插件、坏插件和丑陋插件。
这是要遵循的命令:
apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio
第 3 步:检查版本
安装完成后,我们可以检查GStreamer是否安装正确。为此,请使用给定的命令。
gst-inspect-1.0 --version
如果在输出中看到版本信息,则表示 GStreamer 已成功安装。
第 4 步:GStreamer 代码示例
让我们举一个例子,我们将使用 Gst 模块在 Python 中使用 GStreamer 管道。
创建一个带有 Python 扩展名的空白文件:
nano video.py
现在,添加以下代码:
import gi
gi.require_version('Gst', '1.0')
from gi.repository import Gst
def main():
# Initialize GStreamer
Gst.init(None)
# Create a pipeline
pipeline = Gst.parse_launch("videotestsrc ! autovideosink")
# Start the pipeline
pipeline.set_state(Gst.State.PLAYING)
# Wait for EOS (End-of-Stream) or error
bus = pipeline.get_bus()
msg = bus.timed_pop_filtered(Gst.CLOCK_TIME_NONE, Gst.MessageType.ERROR | Gst.MessageType.EOS)
# Stop the pipeline
pipeline.set_state(Gst.State.NULL)
if __name__ == '__main__':
main()
按 Ctlr+X 保存文件,然后键入 Y,然后按 Enter 键。
之后,运行以下文件:
python3 video.py
如果一切正确,您将看到一个带有视频测试模式的窗口,如给定的屏幕截图所示:
在上面给出的示例中,一个简单的 GStreamer 管道生成一个测试视频模式 (videotestsrc) 并将其显示在窗口 (autovideosink) 中。
以下是我们用于执行此示例的代码的说明:
- 首先从包中导入必要的模块并初始化 Gst 模块。
gi.repository
- 该函数被定义为包含我们的 GStreamer 代码。
main()
- 里面 ,用于使用 初始化 GStreamer。
main()
Gst.init(None)
- 我们使用 创建一个管道。此管道由视频源元素 () 和视频接收器元素 () 组成。
Gst.parse_launch("videotestsrc ! autovideosink")
videotestsrc
autovideosink
- 管道将首先将其状态设置为 Gst.State.PLAYING。之后,我们等待管道到达流 (EOS) 的末端或使用消息总线遇到错误。然而,该方法将允许我们阻止,直到收到特定的消息类型。
timed_pop_filtered()
- 管道完成或遇到错误后,我们将其状态设置为停止它。
Gst.State.NULL
© 版权声明
文章版权归作者所有,未经允许请勿转载。