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。
Container |
Demux |
mpeg/mpg |
dvddemux |
mp4/3gp |
ffdemux_mov_mp4_m4a_3gp_3g2_mj2 |
mkv |
matroskademux |
mov |
qtdemux |
flv |
ffdemux_flv |
avi |
avidemux |
wmv |
asfdemux |