"); //-->
我们在之前的介绍中详细介绍基于820A的GStreamer的相关基础概念的简介,在此基础上我们开始介绍Gst-lunch相关以及工具的使用,本节我们将对lunch-pads相关来做出讨论。
Gst-launch 使用之Pads
• 在连接两个element时与其让GStreamer来选择哪个Pad,我们宁可直接指定Pad。我们可以在命名element后使用.+pad名字的方法来做到这点(element必须先命名)。
• gst-launch-0.10 souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux name=d d.video_00 ! matroskamux ! filesink
location=sintel_video.mkv
• 这个命令使用souphttpsrc在internet上锁定了一个媒体文件,这个文件是webm格式
的。我们可以用matroskademux来打开这个文件,因为媒体包含音频和视频,所以我们创建了两个输出Pad,名字分别是video_00和audio_00。我们把video_00和matroskamux element连接起来,把视频流重新打包,最后连接到filesink,这样我们就把流存到了一个名叫sintel_video.mkv的文件。
• 总之,我们找了一个webm文件,去掉了声音,仅把视频拿出来存成了一个新文件。
最终我们能够找到这个.mkv格式的文件。
• 如果我们想要保持声音,那么就应该这样做:
• gst-launch-0.10 souphttpsrc
location=http://docs.gstreamer.com/media/sintel_trailer-
480p.webm ! matroskademux name=d d.audio_00 ! vorbisparse !
matroskamux ! filesink location=sintel_audio.mka

• 用playbin2播放一个媒体文件: gst-launch-
0.10 playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm
• 一个正常的播放pipeline: gst-launch-
0.10 souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-
480p.webm ! matroskademux name=d ! queue ! vp8dec ! ffmpegcolorspace ! autovideosink d. ! queue ! v
orbisdec ! audioconvert ! audioresample ! autoaudiosink
• 一个转码的pipeline,解析webm之后把所有的流解码,重新把音视频编码成其他格式,然后压成
Ogg文件: gst-launch-0.10 uridecodebin uri=http://docs.gstreamer.com/media/sintel_trailer-
480p.webm name=d ! queue ! theoraenc ! oggmux name=m ! filesink location=sintel.ogg d. ! queue ! audi
oconvert ! audioresample ! flacenc ! m.
• 一个调整视频比例的pipeline。 videoscale element可以调整输入尺寸然后再输出。例子里面用Caps过滤设置了视频大小为320x200: gst-launch-
0.10 uridecodebin uri=http://docs.gstreamer.com/media/sintel_trailer-
480p.webm ! queue ! videoscale ! video/x-rawyuv,width=320,height=200 ! ffmpegcolorspace ! autovideosink
Gst-inspect
• 这个工具有三种操作:
• 不带参数,它会列出所有可用的element,也就是你所有可以使用的元素
• 带一个文件名,它会把这个文件作为GStreamer的一个插件,试着打开,然后列出内部所有的element
• 带一个GStreamer的element,会列出该element的所有信息
• 像gst-inspect 这样的工具可以给出一个元件的概要:插件的作者、描述性的元件名称(或者简称)、元件的等级以及元件的类别。
• 类别可以用来得到一个元件的类型,这个类型是在使用工厂元件创建该元件时做创建的。例如类别可以是Codec/Decoder/Video(视频解码器)、Source/Video(视频发生器)、 Sink/Video(视频输出器)。音频也有类似的类别。同样还存在Codec/Demuxer和
Codec/Muxer,甚至更多的类别。

这里最重要的是 :
• 继承框架
• Pad Templates:这部分会列出所有的Pad的种类以及它们的Caps。通过这些你可以确
认是否可以和某一个element连接。这个例子中,只有一个sink的Pad Template,只能
接受video/x-vp8(用VP8格式来编码视频数据)格式;只有一个source的Pad Template,
生成video/x-raw-yuv。
• element的属性 :这里列出了element的所有的属性以及有效值。


gst-discoverer
• 这个工具是对GstDiscoverer对象的一个包装。它可以接受从命令行输入的一个URI,然后打印出所有的信息。这个在查看媒体是如何编码如何复用时是很有用的,这样我们可以确定把什么element放到pipeline里面。
• 例子:
gst-discoverer-0.10 http://docs.gstreamer.com/media/sintel_trailer-
480p.webm -v
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
LA4225 三洋公司生产的单路5W音频功率放大器
ISL6292 单节锂离子或锂聚合物电池充电器
实用的家庭电视台发射电路
[求助]求:算法程序
ISL6410_ISL6410A 同步电流型 PWM 电压调节器
美国深海空间站构想
关于先杀猪还是驴的问题
意法半导体3A单片降压芯片:高精简设计、高能效低物料成本
2.5M倍频电路
硬件革新:借助稀疏计算让AI算力提质降耗
美海军舰艇发展重大计划展望
谷歌DeepMind拟深化与三星、SK海力士、LG等合作
不用锁相环稳频的立体声发射电路
ISL60007 2.50V电压参考器件
请教PDH与SDH的差别
华为拟埃及建厂,海博思创/阳光电源等储能项目迎新进展
高通财报超预期股价大涨 数据中心业务时间表公布
OpenAI解除微软独家限制亚马逊AWS迅速接入其全系新品
STC32车规级 MCU中国芯赋能潍柴玉柴,铸就重型柴油机尾气后处理“中国方案”
L2652S/AD652S 电压频率转换器
请教target server的问题?
ba1404小型立体声调频发射机电路
具身智能落地“跑起来”,2035年市场规模有望破万亿元
股权脱钩 台积电清仓手中Arm全部股权
美国导弹防御系统六大进展
意法半导体宽幅运放:低失调低漂移,适配工控车载精密应用
简易调频发射电路(二管)
[求助] 求:算法程序
美海军计划削减新型核潜艇建造数量
美国先进两栖突击车关键技术