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 |