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

嵌入式 专栏收录该内容
2 篇文章 0 订阅

研究了一天,终于把怎么用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,本着分享的精神写了本文,文中难免会出现错误之处,欢迎大家指正。


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


  • 0
    点赞
  • 0
    评论
  • 4
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页

打赏作者

seastars2010

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值