<?xml version="1.0" encoding="UTF-8"?>
<chapter id="gui"><title id="tgui">
Easy streaming</title>

<sect1><title>Intro</title>

<para>The easier way to start streaming with VLC is by using one of
the graphical user interfaces: wxwindows for Windows and GNU/Linux,
the skinnable Windows and GNU/Linux interface or the MacOS X native
interface.</para>

</sect1>

<sect1><title>Streaming using the Wizard</title>

<para>The <emphasis>Streaming/Transcoding Wizard</emphasis> leads you
step by step through the process of streaming your media on a network or
saving it to your hard drive. This <emphasis>Wizard</emphasis> offers
easy to use menus but provides a restricted set of options.</para>

<note><para>The wizard is only available on the wxWindows
interface.</para></note>

<sect2><title>Launching the wizard</title>

<para>To launch the <emphasis>Streaming/Transcoding Wizard</emphasis>,
open the "File" menu, and select the Wizard menu item.</para>

<mediaobject>
  <imageobject>
    <imagedata fileref="images/streaming-howto/intf-wx-wizard.jpg" format="JPG" />
  </imageobject>
  <textobject><para>Launching the Wizard</para></textobject>
  <caption><para>Launching the wizard</para></caption>
</mediaobject>

</sect2>

<sect2><title>Wizard dialog</title>

<para>First select the type of task:</para>

<itemizedlist>

<listitem><para><emphasis>Stream to network</emphasis>: Choose this
option if you want to stream media on network.</para></listitem>

<listitem><para><emphasis>Transcode/Save to file</emphasis>: Choose
this option if you want to change a file's audio codec and/or video codec, its bitrate, and/or encapsulation method.</para></listitem>

</itemizedlist>

<mediaobject>
  <imageobject>
    <imagedata fileref="images/streaming-howto/intf-wx-wizard-first.jpg" format="JPG" />
  </imageobject>
  <textobject><para>The Wizard Dialog</para></textobject>
  <caption><para>The Wizard Dialog</para></caption>
</mediaobject>

</sect2>

<sect2><title>Input selection</title>

<para>Select a stream (such as a file, a network stream, a disk, a
capture device ...) by selecting the <emphasis>Choose...</emphasis>
dialog or an existing item in your playlist, using the <emphasis>Existing playlist item</emphasis> option.</para>

<para><emphasis>Partial Extract</emphasis>: To read only part of the
stream, check the "Enable" checkbox and choose a start and end date (in
seconds). This option should only be used with streams you can control
such as files or discs but not network streams or capture devices.</para>

<mediaobject>
  <imageobject>
    <imagedata fileref="images/streaming-howto/intf-wx-wizard-input.jpg" format="JPG" />
  </imageobject>
  <textobject><para>Wizard input selection</para></textobject>
  <caption><para>Wizard input selection</para></caption>
</mediaobject>

<mediaobject>
  <imageobject>
    <imagedata fileref="images/streaming-howto/intf-wx-wizard-input-playlist.jpg" format="JPG" />
  </imageobject>
  <textobject><para>Wizard input selection from playlist</para></textobject>
  <caption><para>Wizard input selection from playlist</para></caption>
</mediaobject>

</sect2>

<sect2><title>Streaming methods</title>

<para>If you chose <emphasis>Stream to network</emphasis> option, you can
now specify the streaming method. Available methods are:</para>

<itemizedlist>

<listitem><para><emphasis>UDP Unicast</emphasis>: Stream to a
single computer. Enter the client's IP address (in the 0.0.0.0 -
223.255.255.255 range).</para></listitem>

<listitem><para><emphasis>UDP Multicast</emphasis>: Stream to multiple
computers using multicast. Enter the IP address of the multicast group
(in the 224.0.0.0 to 239.255.255.255 range).</para></listitem>

<listitem><para><emphasis>HTTP</emphasis>: Stream by using the HTTP
protocol. If you leave the <emphasis>Destination</emphasis> text box
empty, VLC will listen on all the network interfaces of the server on
port 8080. Specify an address, port and path on which to listen using
the following syntax [ip][:port][/path].</para>

<para>For instance, <emphasis>192.168.0.1:80/stream</emphasis>
will make VLC listen on the interface carrying the 192.168.0.1
IP address, on the 80 TCP port, in the /stream <emphasis>virtual
file</emphasis>.</para></listitem>

</itemizedlist>

<mediaobject>
  <imageobject>
    <imagedata fileref="images/streaming-howto/intf-wx-wizard-stream.jpg" format="JPG" />
  </imageobject>
  <textobject><para>Wizard streaming method</para></textobject>
  <caption><para>Wizard streaming method</para></caption>
</mediaobject>

</sect2>

<sect2><title>Transcoding options</title>

<para>If you chose the <emphasis>Transcode/Save to file</emphasis>
option, you can now specify the new audio and video codecs and bitrates
you want you input converted to.</para>

<para>(See <xref linkend="smc" endterm="tsmc" />)</para>

<mediaobject>
  <imageobject>
    <imagedata fileref="images/streaming-howto/intf-wx-wizard-transcode.jpg" format="JPG" />
  </imageobject>
  <textobject><para>Wizard transcode</para></textobject>
  <caption><para>Wizard transcode</para></caption>
</mediaobject>

</sect2>

<sect2><title>Encapsulation method</title>

<para>Choose the method format. The UDP streaming methods require MPEG
TS encapsulation. The HTTP streaming method can be used with the MPEG
PS, MPEG TS, MPEG 1, OGG, RAW or ASF encapsulation. Saving to a file can
be done using any encapsulation format compatible with the chosen codecs.</para>

<para> (See <xref linkend="smc" endterm="tsmc" />)</para>

<mediaobject>
  <imageobject>
    <imagedata fileref="images/streaming-howto/intf-wx-wizard-mux.jpg" format="JPG" />
  </imageobject>
  <textobject><para>Wizard encapsulation method</para></textobject>
  <caption><para>Wizard encapsulation method</para></caption>
</mediaobject>

</sect2>

<sect2><title>Streaming options</title>

<para>If you chose to <emphasis>Stream to network</emphasis> you can
now specify several options.</para>

<itemizedlist>

<listitem><para><emphasis>Time To Live (TTL)</emphasis> This sets the
numbers of routers your stream can go through, for UDP unicast and
unicast access methods. If you do not know what this means, you should
leave the default value.</para>

<note><para>With UDP multicast, the default TTL is set to 1, meaning
that your stream won't get accross any router. You may want to increase
it if you want to route your multicast stream.</para></note></listitem>

<listitem><para><emphasis>SAP Announce</emphasis> To advertise your
stream over the network when using the UDP streaming method, using
the SAP protocol, enter the name of the stream in the text input and
check the checkbox. This is NOT available for the HTTP streaming
method.</para></listitem>

</itemizedlist>

<mediaobject>
  <imageobject>
    <imagedata fileref="images/streaming-howto/intf-wx-wizard-streaming-options.jpg" format="JPG" />
  </imageobject>
  <textobject><para>Wizard streaming options</para></textobject>
  <caption><para>Wizard streaming options</para></caption>
</mediaobject>

</sect2>

<sect2><title>Save to file destination</title>

<para>If you chose <emphasis>Transcode/Save to file</emphasis> you can
now specify the file you want to save the stream to.</para>

<mediaobject>
  <imageobject>
    <imagedata fileref="images/streaming-howto/intf-wx-wizard-save.jpg" format="JPG" />
  </imageobject>
  <textobject><para>Wizard save file - wxWindows interface</para></textobject>
  <caption><para>Wizard save file - wxWindows interface</para></caption>
</mediaobject>

<para>You can now select the <emphasis>Finish</emphasis> button to start streaming/converting the source.</para>

</sect2></sect1>

<sect1><title>Streaming using the GUI</title>

<sect2><title>Introduction</title>

<para>A second way to set up a streaming instance using VLC
is using <emphasis>Stream Output</emphasis> panel in the
<emphasis>Open...</emphasis> dialog of the wxWindows (Windows / GNU
Linux), skinnable (Windows / GNU Linux) and MacOS X interfaces.
Streaming methods and options used 99% of time should be available in
this panel.</para>

<para>To stream the opened media, check the "Stream output" checkbox in
the "Open File/Disc/Network Stream/Capture Device" dialog and click on
the "Settings" button.</para>

<mediaobject>
  <imageobject>
    <imagedata fileref="images/streaming-howto/intf-wx-open-file.jpg" format="JPG" />
  </imageobject>
  <textobject><para>Open file dialog - wxWindows interface</para></textobject>
  <caption><para>Open file dialog - wxWindows interface</para></caption>
</mediaobject>

<mediaobject>
  <imageobject>
    <imagedata fileref="images/streaming-howto/intf-osx-open-file.jpg" format="JPG" />
  </imageobject>
  <textobject><para>Open file dialog - Mac OS X interface</para></textobject>
  <caption><para>Open file dialog - Mac OS X interface</para></caption>
</mediaobject>

</sect2>

<sect2><title>The Stream Output dialog</title>

<mediaobject>
  <imageobject>
    <imagedata fileref="images/streaming-howto/intf-wx-stream-output.jpg" format="JPG" />
  </imageobject>
  <textobject><para>Stream output dialog - wxWindows interface</para></textobject>
  <caption><para>Stream output dialog - wxWindows interface</para></caption>
</mediaobject>

<mediaobject>
  <imageobject>
    <imagedata fileref="images/streaming-howto/intf-osx-stream-output.jpg" format="JPG" />
  </imageobject>
  <textobject><para>Stream output dialog - wxWindows interface</para></textobject>
  <caption><para>Stream output dialog - wxWindows interface</para></caption>
</mediaobject>

<sect3><title>Stream Output MRL</title>

<para>On the wxWindows interface, a text box displays the
<emphasis>Stream Output MRL</emphasis> (Media Ressource Locator). This
is updated as you change options in the Stream output dialog. For more
information on how to edit the <emphasis>Stream Output MRL</emphasis>
read <xref linkend="cmdline" endterm="tcmdline" />.</para>

</sect3>

<sect3><title>Output methods</title>

<itemizedlist>

<listitem><para>
<emphasis>Play localy</emphasis>: display the stream on your screen. This allows to display the stream you are actually streaming. Effects of transcoding, rescaling, etc... can be monitored locally using this function.
</para></listitem>

<listitem><para><emphasis>File</emphasis>: Save the stream to a
file. The <emphasis>Dump raw input</emphasis> option allows to
save the input stream as it read by VLC, without any processing.
</para></listitem>

<listitem><para>
<emphasis>HTTP</emphasis>: Use the HTTP streaming method. Specify the IP address and TCP port number on which to listen.
</para></listitem>

<listitem><para>
<emphasis>MMSH</emphasis>: This access method allows to stream to Microsoft Windows Media Player. Specify the IP address and TCP port number on which to listen.
</para>

<note><para>This will only work with the <emphasis>ASF</emphasis>
enacpsulation method.</para></note>

</listitem>

<listitem><para>
<emphasis>UDP</emphasis>: Stream in unicast by providing an address in the 0.0.0.0 - 223.255.255.255 range or in multicast by providing an address in the 224.0.0.0 - 239.255.255.255 range. It is also possible to stream to IPv6 addresses.
</para>

<note><para>This will only work with the <emphasis>TS</emphasis>
encapsulation method.</para></note>

</listitem>

<listitem><para>
<emphasis>RTP</emphasis>: Use the Real-Time Transfer Protocol. Like UDP, it can use both unicast and multicast addresses.
</para></listitem>

</itemizedlist>

<note><para>UDP, HTTP, MMSH and RTP methods require to select the <emphasis>Stream</emphasis> option on the MacOS X interface</para></note>

<para>(See <xref linkend="smc" endterm="tsmc" />)</para>

</sect3>

<sect3><title>Encapsulation method</title>

<para>Select an encapsulation method that fits the codecs and access
method of your stream, among MPEG TS, MPEG PS, MPEG 1, OGG, Raw, ASF,
AVI, MP4 and MOV. (See <xref linkend="smc" endterm="tsmc" />)</para>

</sect3>

<sect3><title>Transcoding options</title>

<para>Enable video transcoding by checking the "Video Codec" checkbox. Choose a codec from the list. You can also specify an average bitrate and scale the input. (See <xref linkend="smc" endterm="tsmc" />)</para>

<para>Enable audio transcoding by checking the "Audio Codec" checkbox. Choose a codec from the list. You can also specify an average bitrate and the number of audio channels to encode. (See <xref linkend="smc" endterm="tsmc" />)</para>

</sect3>

<sect3><title>Miscellaneous options</title>

<para>Select methods to announce your stream. You can use SAP (Service
Announce Protocol) or SLP (Service Location Protocol). You must also
specify a channel name. The Mac OS X interface also allows you to export
the description (SDP) file of a RTP session using the internal HTTP or
RTSP server of VLC, or as a file. This can be done using the according
checkboxes. The <emphasis>SDP URL</emphasis> text box allows to give the
url or destination where the SDP file will be available.</para>

</sect3></sect2></sect1>

</chapter>

