gst-launch samples

本文详细介绍了GStreamer在多媒体处理、播放、录制、显示等领域的应用技术,包括视频和音频的叠加、过渡、时间覆盖、寻求等功能,以及如何使用Fakesink和CapsFilter进行特定需求的处理。
Player


AVI (xvid, mp3)
gst-launchfilesrc location=/home/magpie/sample-multimedia/wowintro2.avi !avidemux name=demux  demux.audio_00 ! mad ! audioconvert !audioresample ! autoaudiosink demux.video_00 ! queue ! xviddec !ffmpegcolorspace ! videoscale ! autovideosink


Time Overlay
gst-launchfilesrc location=/home/magpie/sample-multimedia/wowintro2.avi !avidemux name=demux  demux.audio_00 ! mad ! alsasink demux.video_00 !queue ! xviddec ! ffmpegcolorspace  ! timeoverlay ! xvimagesink


With Seeking
gst-launchfilesrc location=/home/magpie/sample-multimedia/wowintro2.avi !avidemux name=demux  demux.audio_00 ! mad ! alsasink demux.video_00 !queue ! xviddec ! ffmpegcolorspace  ! progressreport ! navseekseek-offset=10 ! timeoverlay ! xvimagesink


Video Transition
gst-launch-v videotestsrc pattern=1 ! smpte name=s border=20000 type=234duration=2000000000 ! ffmpegcolorspace ! ximagesink videotestsrc ! s.


gst-launchfilesrc location=/home/magpie/sample-multimedia/wowintro2.avi !avidemux ! xviddec ! ffmpegcolorspace ! smpte name=s border=20000type=234 duration=2000000000 ! ffmpegcolorspace ! xvimagesink filesrclocation=/MediaSamples/movies/AeonFlux/aeon2.avi ! avidemux ! xviddec !s.


Overlay
gst-launch filesrclocation=/home/magpie/sample-multimedia/wowintro2.avi ! avidemuxname=demux  demux.audio_00 ! mad ! alsasink demux.video_00 ! queue !xviddec ! ffmpegcolorspace  ! timeoverlay ! xvimagesink


Multi Video
gst-launch filesrc location=/home/magpie/sample-multimedia/wowintro2.avi !avidemux ! xviddec ! ffmpegcolorspace !  videoscale ! video/x-raw-yuv,width=320  ! videobox border-alpha=0 alpha=1 top=-10 bottom=0 left=-150! videomixer name=mix ! ffmpegcolorspace ! xvimagesink filesrclocation=/home/magpie/sample-multimedia/texas.avi ! avidemux ! xviddec! ffmpegcolorspace !  videoscale ! video/x-raw-yuv, width=640 ! alphaalpha=1 ! mix.


gst-launch  filesrclocation=/home/magpie/sample-multimedia/wowintro2.avi ! avidemux !xviddec ! ffmpegcolorspace !  videoscale ! video/x-raw-yuv, width=320 ! videobox border-alpha=0 alpha=0.5 top=-10 bottom=0 left=-150 !videomixer name=mix ! ffmpegcolorspace ! ffenc_mpeg4 ! avimux !filesink location=test01.avi filesrclocation=/MediaSamples/movies/wowintro2.avi ! avidemux ! xviddec !ffmpegcolorspace !  videoscale ! video/x-raw-yuv, width=640 ! alphaalpha=1 ! mix.


Slide Show
multifilesrclocation=image-%05d.jpg num-buffers=25 ! image/jpeg,framerate=25/1 !  jpegdec ! videoflip method=vertical-flip ! jpegenc !  multifilesinklocation=image-out-%05d.jpg


Fakesink and capsfilter
gst-luanchfilesrc location=/home/magpie/sample-multimedia/wowintro2.avi !avidemux ! xviddec ! videoscale ! "video/x-raw-rgb, width=176,height=144" ! ffmpegcolorspace ! videorate ! "video/x-raw-rgb, bpp=32,depth=32, framerate=3/1" ! fakesink




COMF Player gstreamer link


If NOT use fakesink
gst-launch filesrc location=/home/magpie/sample-multimedia/wowintro2.avi !avidemux ! xviddec ! videoscale ! video/x-raw-yuv ! ffmpegcolorspace !videobalance ! videorate ! video/x-raw-yuv, width=320, framerate=25/1 ! xvimagesink


gst-launch  filesrclocation=/home/magpie/sample-multimedia/wowintro2.avi ! avidemux !xviddec ! videoscale ! video/x-raw-yuv ! ffmpegcolorspace ! xvimagesink


For target MARU 0.2
gst-launch filesrc location=./wow_qcif.avi ! avidemux ! ffdec_mpeg4 ! videoscale !video/x-raw-yuv, width=320, height=240 ! ffmpegcolorspace ! ximagesink
gst-launch filesrc location=./wow_qcif.avi ! avidemux ! ffdec_mpeg4 ! videoscale !video/x-raw-yuv, width=640, height=480 ! ffmpegcolorspace ! videorate !ximagesink


gst-launch  filesrc location=./wow_qcif.avi !avidemux name=demux  demux.audio_00 ! mad ! audioconvert !audioresample ! autoaudiosink demux.video_00 ! queue ! ffdec_mpeg4 !videoscale ! video/x-raw-rgb, width=640, height=480 ! ffmpegcolorspace! ximagesink


gst-launch filesrc location=./wow_qcif.avi !avidemux name=demux  demux.audio_00 ! mad ! audioconvert !audioresample ! autoaudiosink demux.video_00 ! queue ! ffdec_mpeg4 !videoscale ! video/x-raw-yuv, width=640 ! ffmpegcolorspace ! ximagesink


gst-launch playbin uri=file:///opt/cosmos/sample-multimedia/zippel.mp4
gst-launch playbin uri=file:///opt/cosmos/sample-multimedia/wowintro2.avi -v
gst-launch playbin uri=file:///opt/cosmos/sample-multimedia/wow_qcif.avi -v




? Above italic text means that Player use Playbin pipeline


If DO use fakesink
gst-launch filesrc location=/home/magpie/sample-multimedia/wowintro2.avi !avidemux ! xviddec ! videoscale ! video/x-raw-rgb ! ffmpegcolorspace !videorate ! video/x-raw-rgb, width=320, height=240, framerate=25/1, bpp=32, depth=32, red_mask=0x0000ff00, blue_mask=0xff000000,alpha_mask=0x000000ff  ! fakesink -v






Recorder


Example link element for recording
gst-launch v4lsrc ! video/x-raw-yuv, width=320, height=240, framerate=25/1 ! xvimagesink
gst-launchv4lsrc ! video/x-raw-yuv, width=320, height=240, framerate=25/1 !ffmpegcolorspace ! tee ! queue ! video/x-raw-rgb ! ximagesink
gst-launchv4lsrc ! video/x-raw-yuv, width=320, height=240, framerate=25/1,bpp=16, depth=16 ! ffmpegcolorspace ! tee ! queue ! video/x-raw-rgb !ximagesink


Fakesink
gst-launch v4lsrc ! video/x-raw-yuv,width=320, height=240, framerate=25/1, bpp=16, depth=16 !ffmpegcolorspace ! tee ! queue ! video/x-raw-rgb, bpp=32, depth=32,red_mask=0x0000ff00, blue_mask=0xff000000, alpha_mask=0x000000ff,framerate=25/1 ! fakesink -v






Link element in COMF Recorder


COMF_RECORDING_TYPE_MP3_DIVX_AVI  ::  COMF_RECORDING_TYPE_MP3_XVID_AVI


To display
v4lsrc ! capsfilter (input-filter) ! ffmpegcolorspace ! tee ! queue ! capsfilter (fake-filter) ! fakesink
v4lsrc ! capsfilter (input-filter) ! ffmpegcolorspace ! tee ! queue ! ximagesink


gst-launchv4lsrc ! video/x-raw-yuv, width=320, height=240, framerate=25/1,bpp=16, depth=16 ! ffmpegcolorspace !  tee ! queue ! capsfilter(fake-filter) ! fakesink
gst-launch v4lsrc ! video/x-raw-yuv,width=320, height=240, framerate=25/1, bpp=16, depth=16 !ffmpegcolorspace !  tee ! queue ! ximagesink


To record (filesink)
DI
<think>好的,用户现在问的是关于gst-inspect和gst-launch的问题。之前他们问了如何用GStreamer转储视频文件,我回答了使用filesink的例子,并提到了相关问题,比如安装插件和不同的编码器。现在他们可能想进一步了解这两个工具的具体用法。 首先,我需要解释gst-inspect的作用,主要是用来查看插件和元素的信息。用户可能想知道如何查找已安装的插件,或者某个元素的属性和能力。这时候需要给出具体的命令示例,比如gst-inspect-1.0列出所有插件,或者查看特定元素的详细信息。 然后是gst-launch,这是一个用来构建和运行管道的工具。用户之前已经用过gst-launch的例子,所以可能需要更详细的说明,比如如何组合不同的元素,设置属性,处理错误。可能需要举几个例子,比如播放视频文件或者捕获摄像头画面。 还要注意用户可能遇到的问题,比如插件缺失,这时候需要说明如何通过gst-inspect检查插件是否存在,以及如何安装缺失的插件。另外,用户可能对如何调试管道有兴趣,比如使用--verbose选项或者日志级别。 接下来,要确保回答的结构符合之前的格式,给出命令示例后,再提供相关问题。相关问题需要涵盖这两个工具的常见疑问,比如元素属性、管道调试、插件安装、性能优化等。 需要检查是否有遗漏的关键点,比如gst-inspect的不同版本(比如gst-inspect-1.0),或者gst-launch的语法格式。还要确保示例命令正确,比如使用正确的元素名称和参数。 最后,确保相关问题部分有3-5个问题,并且覆盖用户可能的后续疑问,比如如何查看元素的详细信息,如何调试管道错误,如何安装插件等。避免重复之前的问题,而是针对这两个工具深入探讨。</think>`gst-inspect` 和 `gst-launch` 是 GStreamer 的核心调试与测试工具,分别用于 **查看元素信息** 和 **构建管道**。以下是具体用法: --- ### **1. `gst-inspect`:查看元素/插件信息** 用于查询已安装的 GStreamer 插件、元素及其属性、能力等。 #### **常用命令** - **列出所有可用插件**: ```bash gst-inspect-1.0 --plugin ``` - **查看某个插件包含的元素**(例如 `x264`): ```bash gst-inspect-1.0 x264 ``` - **查看某个元素的详细信息**(如 `videotestsrc`): ```bash gst-inspect-1.0 videotestsrc ``` 输出内容包括: - 元素功能描述 - 支持的属性(如 `pattern`、` framerate`) - 输入/输出 pad 的能力(caps) - 可调整的参数(如 `bitrate`、`key-int-max`) --- ### **2. `gst-launch`:构建并运行管道** 用于通过命令行快速测试 GStreamer 管道。 #### **基本语法** ```bash gst-launch-1.0 <元素1> [属性] ! <元素2> [属性] ! ... ``` #### **示例** - **播放本地视频文件**: ```bash gst-launch-1.0 filesrc location=input.mp4 ! qtdemux ! avdec_h264 ! autovideosink ``` - **捕获摄像头画面并显示**: ```bash gst-launch-1.0 v4l2src device=/dev/video0 ! autovideosink ``` - **推流到RTMP服务器**: ```bash gst-launch-1.0 videotestsrc ! x264enc ! flvmux ! rtmpsink location=rtmp://server/live/stream ``` #### **调试技巧** - **启用详细日志**: ```bash gst-launch-1.0 --verbose videotestsrc ! autovideosink ``` - **设置日志级别**(1=错误,2=警告,3=信息,4=调试): ```bash GST_DEBUG=3 gst-launch-1.0 videotestsrc ! autovideosink ``` --- ### **常见问题解决** 1. **元素未找到?** - 运行 `gst-inspect-1.0` 检查插件是否安装。 - 安装缺失插件(如 `gstreamer1.0-plugins-good`)。 2. **管道报错 "could not link"?** - 检查元素之间的 caps(能力)是否匹配。 - 使用 `videoconvert` 或 `audioconvert` 转换格式。 3. **如何动态调整属性?** - 在管道中使用 `--set` 参数(需元素支持): ```bash gst-launch-1.0 videotestsrc pattern=0 ! autovideosink --set "pattern=18" ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值