gstreamer 学习笔记 -- 音视频播放

研究了一天,终于把怎么用gstreamer播放ts流弄清楚了。


首先上个图:


此图描述了如何将数据从源流向音视频设备。

首先数据从source流出,经过demuxer将音视频流解出来,然后音视频分别经过解码元件解出原始数据,最后在音视频设备上输出。

我所用的环境是在raspberry pi上,具有omx硬件解码接口。播放的视频文件为ts格式,视频编码为H.264, 音频编码为AAC。

这个是播放的命令:

gst-launch-1.0 filesrc location=/app/BIOHAZARD2.ts !tsdemux name=demux demux.video_0012 !queue !h264parse !omxh264dec !glimagesink demux.audio_0011 !queue !faad !alsasink


命令解释:

filesrc:此为源文件 location属性指定其文件位置

tsdemux: 此为ts解码元件,可以将ts流中的音视频解复用出来。name指定名称,用于之后的音视频引用。demux.video_0012 为视频流的标记,其中0012为视频PID的16进制表达。demux.audio_0011 为音频流,同理0011为音频PID的16进制表达。

omxh264dec : 为264的解码元件,这里支持芯片的硬解码。

glimagesink:为opengl的video输出设备。

faad: 为AAC解码元件。

alsasink:为alsa的音频输出设备。


由于本人也是刚学gstreamer,本着分享的精神写了本文,文中难免会出现错误之处,欢迎大家指正。


注:其中插图是在网上收集所得,非原创。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值