forked from GStreamer/gstreamer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
141 lines (81 loc) · 4.65 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
gst-launch
================
This is a tool that will construct pipelines based on a command-line
syntax. The syntax is rather complex to enable all the features I want it
to have, but should be easy to use for most people. Multi-pathed and
feedback pipelines are the most complex.
A simple commandline looks like:
gst-launch filesrc location=music.mp3 ! mad ! osssink
This plays an mp3 music file music.mp3 using libmad, and:
gst-launch filesrc location=music.mp3 ! mp3parse ! mpg123 ! osssink
Plays and mp3 music file using mpg123
You can also stream files over http:
gst-launch httpsrc location=http://domain.com/music.mp3 ! mad ! osssink
And using gnome-vfs you can do the same with:
gst-launch gnomevfssrc location=music.mp3 ! mad ! osssink
gst-launch gnomevfssrc location=http://domain.com/music.mp3 ! mad ! osssink
And too play the same song with gnome-vfs via smb:
gst-launch gnomevfssrc location=smb://computer/music.mp3 ! mad ! osssink
Here we convert a Mp3 file into an Ogg Vorbis file:
gst-launch filesrc location=music.mp3 ! mad ! vorbisenc ! filesink location=music.ogg
And then we can play that file with:
gst-launch filesrc location=music.ogg ! oggdemux ! vorbisdec ! audioconvert ! osssink
Some other useful pipelines are..
Plays wav files (currently there are no wav encoders):
gst-launch filesrc location=music.wav ! wavparse ! osssink
Converts wav files into mp3 and ogg files:
gst-launch filesrc location=music.wav ! wavparse ! vorbisenc ! filesink location=music.ogg
gst-launch filesrc location=music.wav ! wavparse ! mpegaudio ! filesink location=music.mp3
You can also use lame for mp3 encoding if you have it installed, it does a
much better job than mpegaudio.
Rips all songs from cd and saves them into a mp3 file:
gst-launch cdparanoia ! mpegaudio ! filesink location=cd.mp3
You can toy around with gst-inspect to discover the settings for
cdparanoia to rip individual tracks
Record sound from your sound input and encode it into an ogg file:
gst-launch osssrc ! vorbisenc ! filesink location=input.ogg
gst-launch not only handles audio but video as well:
For mpeg1 files (video and audio streams respectively):
gst-launch filesrc location=video.mpg ! mpegdemux video_00! { queue ! mpeg2dec ! sdlvideosink }
gst-launch filesrc location=video.mpg ! mpegdemux audio_00! { queue ! mad ! osssink }
for mpeg1 with both audio and video (for glib2):
gst-launch filesrc location=video.mpg ! mpegdemux name=demux video_00! { queue ! mpeg2dec ! sdlvideosink } demux.audio_00! { queue ! mad ! osssink }
for mpeg1 with both audio and video (for gtk1.2, the shim doesn't handle the 'name' property yet):
gst-launch filesrc location=video.mpg ! mpegdemux video_00! { queue ! mpeg2dec ! sdlvideosink } mpegdemux0.audio_00! { queue ! mad ! osssink }
For mpeg2 files (video and audio streams respectively):
gst-launch filesrc location=video.mpeg ! mpegdemux video_00! { queue ! mpeg2dec ! sdlvideosink }
gst-launch filesrc location=video.mpeg ! mpegdemux private_stream_1.0! { queue ! a52dec ! osssink }
for mpeg2 with both audio and video (glib2):
gst-launch filesrc location=video.mpg ! mpegdemux name=demux video_00! { queue ! mpeg2dec ! sdlvideosink } demux.private_stream_1.0! { queue ! a52dec ! osssink }
Note: The types of audio streams in the mpeg files can vary!
For an avi file (DivX, mjpeg,...)
gst-launch filesrc location=video.avi ! avidecoder video_00! { queue ! sdlvideosink } avidecoder0.audio_00! { queue ! osssink }
gst-complete
==================
This is a simple utility which provides custom bash completion when
typing gst-launch commands.
Simply run "gst-compprep" as root to build the registry of completions,
and then put, in your .bashrc,
"complete -C gst-complete gst-launch"
(ensuring that gst-complete is on your path).
You can then enjoy context sensitive tab-completion of gst-launch
commands.
gst-register
==================
This tool will perform an introspection on all available plugins and will
create a registry file in /etc/gstreamer/reg.xml. Startup time will be
much faster since the gstreamer core doesn't have to bring all the plugins
files into memory at startup. As with gst-compprep you need to run this
as root for it too work correctly.
gst-inspect
=================
Allows you to check the properties of plugins and elements.
./gst-inspect
will show all the plugins available and the elements they contain.
./gst-inspect <pluginname/elementname>
shows more info about the plugin/element.
gst-xmlinspect
=================
Dump properties of plugins and elements in an xml format. You can
transform the xml to something else with an appropriate stylesheet.
./gst-xmlinspect <elementname> | xsltproc xml2text.xsl -