【miscellaneous】GStreamer下的音视频播放
Gst-launch命令:
gst-launch filesrc location=*.* ! demux name=demux demux.video_00 ! queue ! decoder ! ffmpegcolorspace ! videoscale ! ximagesink
(注:蓝色部分为根据具体编码格式从下表中选取替换,注意demux是根据容器格式选取的,下表中只是列出了此编码格式较常见的视频封装容器的demux,对于其它demux可参照注2中的表进行查询。输出sink还可以选取其它,如xvimagesink。若要同时播放音频,则在上句后面加上demux.audio_00 ! queue ! codec ! alsasink)
|
编码格式 |
Demux |
Decoder |
备注 |
|
|
视频 |
MPEG1 |
dvddemux/mpegdemux |
ffdec_mpegvideo |
|
|
MPEG2 |
dvddemux/mpegdemux |
ffdec_mpegvideo |
||
|
MPEG4 |
ffdemux_mov_mp4_m4a_3gp_3g2_mj2 |
ffdec_mpeg4/omx_mpeg4dec |
用omx_mpeg4dec播放时偶有丢帧现象 |
|
|
H.264/AVC |
ffdemux_mov_mp4_m4a_3gp_3g2_mj2 |
ffdec_h264/omx_h264dec |
用omx_h264dec播放时偶有丢帧现象 |
|
|
DivX |
avidemux/ffdemux_avi |
ffdec_mpeg4/omx_mpeg4dec |
||
|
XviD |
avidemux/ffdemux_avi |
ffdec_mpeg4/omx_mpeg4dec |
||
|
VC-1 |
asfdemux |
ffdec_wmv3 |
播放时视频很流畅,音频不是很流畅,会丢失,但同步。ffdemux_asf不可用,能出窗口,不能播放。omx_wmvdec不可用。 |
Gst-launch命令:
gst-launch filesrc location=*.* ! demux ! decoder ! alsasink
(注:蓝色部分为根据具体编码格式从下表中选取替换。输出sink还可以选取其它,如osssink。)
|
编码格式 |
Demux |
Decoder |
备注 |
|
|
音频 |
mp3 |
无 |
mad/omx_mp3dec |
用omx_mp3dec播放时必须使用omx_audiosink |
|
ogg |
oggdemux/无 |
vorbisdec/omx_vorbisdec |
||
|
wma |
asfdemux/ffdemux_asf |
ffdec_wmav2 |
||
|
aac |
无/aacparse |
faad/ffdec_aac |
||
|
wav |
wavparse |
无 |
注:
1. 若要查询相关组件属于哪个库,可以在终端使用“gst-inspect+所要查询的组件名”来查询。
2. 对于视频文件,虽然同为一种编码格式,但可能它的容器不一样,所以测试时得选取特定的demux。以下给出常用视频文件容器的demux。
|
Demux |
|
|
mpeg/mpg |
dvddemux |
|
mp4/3gp |
ffdemux_mov_mp4_m4a_3gp_3g2_mj2 |
|
mkv |
matroskademux |
|
mov |
qtdemux |
|
flv |
ffdemux_flv |
|
avi |
avidemux |
|
wmv |
asfdemux |
【miscellaneous】GStreamer下的音视频播放的更多相关文章
- Android音视频之MediaPlayer音视频播放
前言: 昨天总结了视频录制,今天来学习一下视频的播放,Android的视频播放主要采用MediaPlayer类. MediaPlayer介绍 MediaPlayer类可用于控制音频/视频文件或流的播放 ...
- Pyqt 音视频播放器
在寻找如何使用Pyqt做一个播放器时首先找到的是openCV2 openCV2 貌似太强大了,各种关于图像处理的事情它都能完成,如 读取摄像头.图像识别.人脸识别. 图像灰度处理 . 播放视频等,强 ...
- AVAudioFoundation(2):音视频播放
本文转自:AVAudioFoundation(2):音视频播放 | www.samirchen.com 本文主要内容来自 AVFoundation Programming Guide. 要播放 AVA ...
- 6、Qt Project之音视频播放
音视频播放 这里简单的制作了一个音乐播放器,播放器的界面设计如下所示: Step1:这里是界面对应的HTML文件: <?xml version="1.0" encoding ...
- 开源安卓Android流媒体音视频播放器实现声音自动停止、恢复、一键静音功能源码
本文转自EasyDarwin团队John的博客:http://blog.csdn.net/jyt0551/article/details/60802145 我们在开发安卓Android流媒体音视频播放 ...
- iOS 音视频播放
播放控制切换为: ijkplayer wiki: https://github.com/changsanjiang/SJVideoPlayer/wiki/Use-ijkplayer 播放控制切换为: ...
- iOS AVKit音视频播放全面详解
公司项目中经常要用到音视频处理,也需要去定制一些东西,然后整理这些音视频处理就显得尤为重要!方便自己和广大朋友学习收藏! 以下参考连接特别重要: 苹果官方:AVKit API 苹果官方:AVFound ...
- iOS - AVPlayer 音视频播放
前言 NS_CLASS_AVAILABLE(10_7, 4_0) @interface AVPlayer : NSObject @available(iOS 4.0, *) public class ...
- 分享几个不错的Android开源音视频播放器
整理了一下Github上几个开源的音视频播放器项目,有兴趣的同学可以clone代码去研究学习. UniversalMusicPlayer https://github.com/googlesamp ...
随机推荐
- sql server 时间处理函数 datediff() 和getdate()
一: DATEDIFF() 定义和用法 DATEDIFF() 函数返回两个日期之间的时间. 语法 DATEDIFF(datepart,startdate,enddate) startdate 和 en ...
- sql server 交集,差集的用法 (集合运算)
概述 为什么使用集合运算: 在集合运算中比联接查询和EXISTS/NOT EXISTS更方便. 并集运算(UNION) 并集:两个集合的并集是一个包含集合A和B中所有元素的集合. 在T-SQL中.UN ...
- Poj 2114 Boatherds(点分治)
Boatherds Time Limit: 2000MS Memory Limit: 65536K Description Boatherds Inc. is a sailing company op ...
- NetworkX系列教程(5)-查看graph的信息
小书匠Graph图论 有时候graph建好后,我们并不清除该graph内节点的,边的信息,这就需要调用函数去查看了. 目录: 6.查看Graph的信息 6.1查看graph内节点,边的 6.2查看gr ...
- Zabbix监控win10系统
Zabbix监控win10系统 1. 在win10下安装zabbix-agent zabbix-agent下载地址:https://www.zabbix.com/downloads/4.2.6/zab ...
- 在Ubuntu Server上使用vtk处理体数据,直接得到渲染结果图片避免显示窗口
概述 需要调用vtk对体数据进行渲染处理,处理结果直接存为图片而不通过窗口显示. 直接使用vtkRenderWindow加上vtkWindowToImageFilter类写入,在调用渲染的过程中会出现 ...
- P1613 跑路——倍增思想,floyd
https://www.luogu.org/problemnew/show/P1613 他有一个跑路机器,每次只能跑2k (单位)路程,每相邻两个点的路程为1,也就是说如果连边1——>2—— ...
- 【代码】python 绘图(以faster rcnn 的 loss 曲线为例)
# -*- coding=utf-8 -*-''' import matplotlib.pyplot as plt import re logs=open('loss').read() #print ...
- Wireshark 用户指南(3.1.0)
目 录 Preface 序 1. Foreword 前言 2. Who should read this document? 谁适合读该文档? 3. Acknowledgements 致谢 4. Ab ...
- 爬虫前提——正则表达式语法以及在Python中的使用
正则表达式是用来处理字符串的强大工具,他并不是某种编程云. 正则表达式拥有独立的承受力引擎,不管什么编程语言,正则表达式的语法都是一样的. 正则表达式的匹配过程 1.一次拿出表达式和文本中的字符比较. ...