<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>gj |</title>
	<atom:link href="https://blog.gaiterjones.com/category/darwin-streaming-server/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.gaiterjones.com/category/darwin-streaming-server/</link>
	<description>gaiterjones</description>
	<lastBuildDate>Tue, 06 Mar 2018 11:44:22 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.3</generator>
	<item>
		<title>HTTP Live Streaming using Quicktime Broadcaster and FFMPEG</title>
		<link>https://blog.gaiterjones.com/http-live-streaming-using-quicktime-broadcaster-and-ffmpeg/</link>
					<comments>https://blog.gaiterjones.com/http-live-streaming-using-quicktime-broadcaster-and-ffmpeg/#comments</comments>
		
		<dc:creator><![CDATA[PAJ]]></dc:creator>
		<pubDate>Sat, 18 Jan 2014 15:43:52 +0000</pubDate>
				<category><![CDATA[Darwin Streaming Server]]></category>
		<category><![CDATA[FFMPEG]]></category>
		<category><![CDATA[HTTP Live Streaming]]></category>
		<guid isPermaLink="false">http://blog.gaiterjones.com/?p=1084</guid>

					<description><![CDATA[It&#8217;s 2014 and I am still using the Apple Darwin Media server, but after years of being neglected by Apple it is starting to show it&#8217;s age. One of the...<a class="more-link" href="https://blog.gaiterjones.com/http-live-streaming-using-quicktime-broadcaster-and-ffmpeg/" title="Continue reading">Continue reading</a>]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" class="hang-2-column      alignnone" alt="" src="http://cdn.tutsplus.com/net/authors/jeremymcpeak/http2-http.jpg" width="157" height="118" /></p>
<p>It&#8217;s 2014 and I am still using the Apple Darwin Media server, but after years of being neglected by Apple it is starting to show it&#8217;s age. One of the main problems is that for Apple i devices there is no native RTSP support so streaming content from the Darwin server to portable devices is not so easy.</p>
<p>Apple have largely replaced RTSP with <a href="http://en.wikipedia.org/wiki/HTTP_Live_Streaming" target="_blank">HTTP Live Streaming</a> (HLS). HLS basically just cuts up video files into small MPEG video segments that can be downloaded/<em>streamed</em> via a normal website using the HTTP protocol.</p>
<p>This works pretty well for video content that you want to convert from say MP4 to HLS, you run a conversion process that transcodes the video into multiple 10 second segments that you serve up to clients via an .m3u8 reference file on your web server.</p>
<p>If you want to do this with live content then the process is similar but you will also need a client to transmit the live video to your server to transcode it into segments on the fly.</p>
<p>When I am streaming live RTSP content to my Darwin media server I use the Apple Quicktime Broadcaster (on my MAC) as its free and kinda works well. So lets use Quicktime Broadcaster (QTB) to stream live video to a server running FFMPEG which will transcode the video into HLS segments which can be served up by Apache (or your web seriver of choice) to HLS clients.</p>
<p>You can download the Quicktime Broadcaster for Mac <a href="http://support.apple.com/kb/dl764" target="_blank">here</a>. It hasn&#8217;t been updated since 2009, so obviously isn&#8217;t high on Apples list of supported software anymore, but hey ho, it is free.</p>
<p>Fire up QTB and configure your video and audio settings.</p>
<p>We will be creating a manual unicast connection and the screen shots below show the settings I used.</p>
<p>Set transmission to Manual Unicast. The address is the TCP/IP address of the server that will run FFMPEG. Note the port numbers used for audio and video, this info is saved in the .SDP file.</p>
<p><a href="https://blog.gaiterjones.com/wp-content/uploads/2014/01/screenshot_02.jpg"><img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-1085" alt="screenshot_02" src="https://blog.gaiterjones.com/wp-content/uploads/2014/01/screenshot_02.jpg" width="697" height="520" srcset="https://blog.gaiterjones.com/wp-content/uploads/2014/01/screenshot_02.jpg 697w, https://blog.gaiterjones.com/wp-content/uploads/2014/01/screenshot_02-440x328.jpg 440w, https://blog.gaiterjones.com/wp-content/uploads/2014/01/screenshot_02-620x462.jpg 620w" sizes="(max-width: 697px) 100vw, 697px" /></a></p>
<p>&nbsp;</p>
<p>For this demo I am using my webcam as the source video. If you have an external device select it as the video source. Choose your compression options depending on the bandwidth available to you. Enable and configure audio compression in the same way.</p>
<p><a href="https://blog.gaiterjones.com/wp-content/uploads/2014/01/screenshot_01.jpg"><img decoding="async" class="alignnone size-full wp-image-1086" alt="screenshot_01" src="https://blog.gaiterjones.com/wp-content/uploads/2014/01/screenshot_01.jpg" width="697" height="520" srcset="https://blog.gaiterjones.com/wp-content/uploads/2014/01/screenshot_01.jpg 697w, https://blog.gaiterjones.com/wp-content/uploads/2014/01/screenshot_01-440x328.jpg 440w, https://blog.gaiterjones.com/wp-content/uploads/2014/01/screenshot_01-620x462.jpg 620w" sizes="(max-width: 697px) 100vw, 697px" /></a></p>
<p>&nbsp;</p>
<p>Click broadcast and the client will attempt to unicast the video data to the server (even though nothing is listening yet).</p>
<p>Export these settings to a .sdp file by clicking<strong> File -&gt; Export -&gt; SDP</strong> save the SDP file and then upload it to your server.</p>
<p>Now we want to run FFMPEG so that it listens on the ports we specified, captures the unicast video and audio data, transcodes it into HLS segments and stores the HLS data to a publicly accesible area of your web server.</p>
<p>We do this by running FFMPEG with all the options we need, Here is an example command line :</p>
<p>&nbsp;</p>
<pre class="brush:plain">ffmpeg -i  /Dropbox/stream/hls.sdp -acodec libfaac -ac 2 -b:a 128k -vcodec libx264 -vpre libx264-ipod640 -b:v 500k -threads 0 -g 75 -level 3.1 -map 0 -vbsf h264_mp4toannexb -flags -global_header -f segment -segment_time 10 -segment_list hls.m3u8 -segment_list_flags +live -segment_list_entry_prefix http://tv.server.co.uk/media/ -segment_format mpegts stream%05d.ts</pre>
<p>&nbsp;</p>
<p>Here we are telling FFMPEG to use the SDP file we exported from QTB as the input, I saved it to my Dropbox. Then we are specifying the compression parameters for the transcoded MPEG transport stream (TS) files. You can easily find other examples of various FFMPEG compression options and use them depending on your requirements.</p>
<p>The segmenter options define how big the segments will be and where the .m3u8 file will be created &#8211; in this case I specified 10 second segments and the m3u8 file is being created in the folder where I ran FFMPEG from. The .m3u8 file and TS segments should be created in, or later moved to a folder accessible from the internet.</p>
<p>The <em>segment_list_entry_prefix</em> defines the prefix to the TS files in the m3u8 file, this is the configured url of your web server including the uri to your HLS files.</p>
<p>Finally the name used for the segment files is defined. Note the <strong>+Live</strong> <em>segment_list_flags</em> option, this tells ffmpeg that we will be transcoding <strong>live</strong> content. The official documentation for all these options can be found <a href="http://www.ffmpeg.org/ffmpeg-formats.html" target="_blank">here</a>.</p>
<p>Configure your ffmpeg options, start the QTB broadcast and run FFMPEG. If all is working you will see FFMPEG starting to receive and transcode the unicast video (and audio) data.</p>
<p>Now point your i-Phone/Pad/Pod or HLS client (i.e. VLC, Safari) to the m3u8 file on your webserver, i.e. from the options I used above the url would be :</p>
<p><strong>http://tv.server.co.uk/media/hls.m3u8</strong></p>
<p>You should see your <strong>live</strong> video stream.</p>
<p><em> My video stream had about a 60 second lag time. </em>Disconnect and reconnect and you will see you are receiving live content &#8211; with the 60 second lag. Note that FFMPEG doesn&#8217;t automatically remove the old TS segments, you need to handle that yourself.</p>
<p>If it doesn&#8217;t work check FFMPEG for errors, note that some of the segment options need a relatively new version of FFMPEG to function. I downloaded and compiled the latest version of FFMPEG and it&#8217;s dependencies on my Ubuntu server using the guide found <a href="https://trac.ffmpeg.org/wiki/UbuntuCompilationGuide" target="_blank">here</a>.</p>
<p>Make sure the m3u8 file and MPEG TS segments are accessible from the web, open the m3u8 file in a text editor to check the url being used for each segment.</p>
<p>If FFMPEG starts dropping files it means your live data is coming in too fast for FFMPEG to process, you need to look at your compression settings. Try reducing the length of the TS segments from 10 seconds to 2 seconds, Remember your server must be able to transcode and save the live data within these times otherwise the stream will start to stutter.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.gaiterjones.com/http-live-streaming-using-quicktime-broadcaster-and-ffmpeg/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>FFmpeg Video HOW TO &#8211; How to do everything you want with FFmpeg</title>
		<link>https://blog.gaiterjones.com/ffmpeg-video-how-to/</link>
					<comments>https://blog.gaiterjones.com/ffmpeg-video-how-to/#comments</comments>
		
		<dc:creator><![CDATA[PAJ]]></dc:creator>
		<pubDate>Thu, 19 Jan 2012 14:43:31 +0000</pubDate>
				<category><![CDATA[Darwin Streaming Server]]></category>
		<category><![CDATA[FFMPEG Video]]></category>
		<category><![CDATA[Streaming]]></category>
		<category><![CDATA[ffmpeg]]></category>
		<guid isPermaLink="false">http://blog.gaiterjones.com/?p=651</guid>

					<description><![CDATA[If you want to work with ffmpeg video and audio files forget about buying any cheap commercial convertors (which are probably using FFmpeg anyway) and just take the plunge into...<a class="more-link" href="https://blog.gaiterjones.com/ffmpeg-video-how-to/" title="Continue reading">Continue reading</a>]]></description>
										<content:encoded><![CDATA[<p>If you want to work with <strong>ffmpeg video</strong> and audio files forget about buying any cheap commercial convertors (which are probably using FFmpeg anyway) and just take the plunge into the world of <a href="http://ffmpeg.org/index.html">FFmpeg</a>. It might seem a bit scary at first working just from a command line but there is nothing this impressive &#8220;Swiss Army Knife&#8221; media manipulation application cannot do.</p>
<h1>What is FFMPEG, video and audio</h1>
<p>What is FFmpeg? Simply put, <a href="http://en.wikipedia.org/wiki/FFmpeg">FFmpeg </a>is a Hyper fast <strong>Audio</strong> and <strong>Video</strong> encoder. It is a free software project that &#8220;produces libraries and programs for handling multimedia data. The name of the project comes from the MPEG video standards group, together with &#8220;FF&#8221; for &#8220;<em>fast</em> <em>forward</em>&#8220;.&#8221;</p>
<p>FFmpeg <em>will</em> do everything you want with audio and video but installing it and getting to grips with the command line options can be daunting. Here I will create a very simple list of the most common tasks you will want to do with <strong>FFmpeg video</strong> including command line options showing how to do it.</p>
<h2>Installing ffMPEG  MAC OSX, Linux FOR USE WITH VIDEO AND AUDIO</h2>
<p>The FFmpeg source code compiles and runs on all platforms, but getting the latest build with all the latest codecs and libraries compiled for your operating system can be troublesome. I am working mostly with Linux (Ubuntu) and OSX and found the easiest way to install the latest version of FFmpeg and libraries was to compile the source code myself.</p>
<h2>FFMPEG INSTALL FOR  UBUNTU</h2>
<p>For Ubuntu (10.10, 11.04, 11.10, 12.04) by far the best guide to do this comes from the Ubuntu forums, so I will not document everything use this <a href="https://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide">LINK</a> for the complete guide.</p>
<p>Follow these steps for the Ubuntu install.</p>
<p><strong>Install the Dependencies</strong></p>
<pre class="brush:shell">sudo apt-get remove ffmpeg x264 libx264-dev
sudo apt-get update
sudo apt-get install build-essential checkinstall git libfaac-dev libjack-jackd2-dev \
  libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev \
  libva-dev libvdpau-dev libvorbis-dev libx11-dev libxfixes-dev texi2html yasm zlib1g-dev</pre>
<p><strong>Install x264</strong></p>
<pre class="brush:shell">cd
git clone git://git.videolan.org/x264
cd x264
./configure --enable-static
make
sudo checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | \
    awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes \
    --fstrans=no --default</pre>
<p><strong>Install FFmpeg</strong></p>
<pre class="brush:shell">cd
git clone --depth 1 git://source.ffmpeg.org/ffmpeg
cd ffmpeg
./configure --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb \
    --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 \
    --enable-nonfree --enable-postproc --enable-version3 --enable-x11grab
make
sudo checkinstall --pkgname=ffmpeg --pkgversion="5:$(date +%Y%m%d%H%M)-git" --backup=no \
  --deldoc=yes --fstrans=no --default
hash x264 ffmpeg ffplay ffprobe</pre>
<p>&nbsp;</p>
<p>Ignore all the compilation warnings, they are very boring. I first compiled FFMpeg on an Amazon EC2 Micro instance and the compilation took well over an hour. On my 512 Linode it took about 10 mins. Note that the compilation process is processor intensive, if you are doing this on a live server do it out of hours so as not to affect other applications.</p>
<p>The newest source code for FFmpeg is always here</p>
<pre dir="ltr">git clone --depth 1 git://source.ffmpeg.org/ffmpeg</pre>
<h1>FFMPEG MAC OSX LION 10.7.2</h1>
<p>UPDATE &#8211; if you are using Mountain Lion OS X 10.8<a title="FFMPEG does not run under Mountain Lion, X11 and XCode update required" href="https://blog.gaiterjones.com/ffmpeg-does-not-run-under-mountain-lion-x11-and-xcode-update-required/"> check this post</a> out for extra steps required.</p>
<p>For OSX use the <a href="http://mxcl.github.com/homebrew/">Homebrew </a>package manager to compile and install the latest version of FFmpeg. If you need to<a href="https://github.com/mxcl/homebrew/wiki/installation"> install Homebrew </a>run the following from a terminal command line</p>
<pre class="brush:shell">/usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"</pre>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>==&gt; This script will install:<br />
/usr/local/bin/brew<br />
/usr/local/Library/Formula/&#8230;<br />
/usr/local/Library/Homebrew/&#8230;<br />
==&gt; The following directories will be made group writable:<br />
/usr/local/.<br />
==&gt; The following directories will have their group set to admin:<br />
/usr/local/.</p>
<p>Press enter to continue<br />
==&gt; /usr/bin/sudo /bin/chmod g+rwx /usr/local/.<br />
==&gt; /usr/bin/sudo /usr/bin/chgrp admin /usr/local/.<br />
==&gt; Downloading and Installing Homebrew&#8230;<br />
Warning: Now install Xcode: <a href="http://developer.apple.com/technologies/xcode.html">http://developer.apple.com/technologies/xcode.html<br />
</a>==&gt; Installation successful!</p>
<p>Now type: brew help</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Homebrew is dependent on XCode, the Apple development application, before you can install any packages with Homebrew install the free XCode app from the Appstore. It is a big application and around a 2GB download so <a href="http://itunes.apple.com/us/app/xcode/id448457090?mt=12">visit the Apps Store</a> and go for a coffee.</p>
<p>With XCode installed you can <a href="https://github.com/mxcl/homebrew/issues/8815">install FFmpeg using brew on OSX 10.7.2</a> with the following command line</p>
<pre>brew install ffmpeg --use-clang</pre>
<h1>MP4Box for MAC and LINUX</h1>
<p>If you will be streaming video using the <a href="http://dss.macosforge.org/">Apple Darwin Streaming Server</a> you will need to hint your video files, install the gpac package using Homebrew (OSX) or apt-get (Linux) to obtain the MP4Box utility for hinting video files.</p>
<p><em>brew install gpac</em></p>
<p><em>apt-get install gpac</em></p>
<p>Remember the MP4Box command is<em> case sensitive</em>, it&#8217;s <strong>MP4Box</strong> not mp4box.</p>
<h1>TEST FFMPEG</h1>
<p>All being well type <em>ffmpeg</em> from your command line and check that the software has installed sucessfully.</p>
<p><em>ffmpeg version git-2012-01-19-1ce8377 Copyright (c) 2000-2012 the FFmpeg developers</em><br />
<em> built on Jan 19 2012 10:42:18 with gcc 4.6.1</em></p>
<h2>HOW TO &#8211; How to do what you want with FFmpeg</h2>
<p>&nbsp;</p>
<h1>Extract Audio from a Video using FFMPEG</h1>
<p>This will extract the audio from a video file &#8211; myvideo.mp4 and create a new 44Khz 2 channel stereo 128Kbps MP3 file.</p>
<pre class="brush:applescript">ffmpeg -i myvideo.mp4 -vn -ar 44100 -ac 2 -ab 128k -f mp3 myvideoaudio.mp3</pre>
<h1>CREATE A Video from an Image file using FFMPEG</h1>
<p>You see this a lot on YouTube and Facebook, people actually want to share audio so they create a video that consists of one still image for the duration of the song. I have done this before with full blown video apps and its a long process for a relatively simple requirement. With FFmpeg its done ultra fast with a simple command line, an image file and an audio file:</p>
<p>Create a 720&#215;576 (PAL) MP4 x264 video myvideo.mp4 from the image myimage.jpg and the audiofile myaudio.mp3</p>
<pre class="brush:shell">ffmpeg -s 720x576 -r 25 -loop 1 -shortest -y -i  myimage.jpg -i  myaudio.mp3 -acodec libfaac -ac 2 -ar 44100 -ab 128k -async 1 -vcodec libx264 -level 1.3 myvideo.mp4</pre>
<p>Here is an example from Uncle Iggy</p>
<p>i-wanna-be-your-dog.jpg =&gt; i-wanna-be-your-dog-mp3 =&gt; myvideo.mp4</p>
<p>Note that I made the image 720&#215;576 pixels to match the encode settings. 25fps is probably overkill here and results in a larger video file.</p>
<pre class="brush:shell">ffmpeg -s 720x576 -r 25 -loop 1 -shortest -y -i  i-wanna-be-your-dog.jpg -i I-Wanna-Be-Your-Dog.mp3 -acodec libfdk_aac -ac 2 -b:a 128k -async 1 -vcodec libx264 myvideo.mp4</pre>
<figure id="attachment_658" aria-describedby="caption-attachment-658" style="width: 440px" class="wp-caption alignnone"><a href="https://blog.gaiterjones.com/wp-content/uploads/2012/01/i-wanna-be-your-dog1.jpg"><img loading="lazy" decoding="async" class="size-medium wp-image-658" title="I Wanna Be Your Dog image 720x576" src="https://blog.gaiterjones.com/wp-content/uploads/2012/01/i-wanna-be-your-dog1-440x330.jpg" alt="" width="440" height="330" srcset="https://blog.gaiterjones.com/wp-content/uploads/2012/01/i-wanna-be-your-dog1-440x330.jpg 440w, https://blog.gaiterjones.com/wp-content/uploads/2012/01/i-wanna-be-your-dog1-620x465.jpg 620w, https://blog.gaiterjones.com/wp-content/uploads/2012/01/i-wanna-be-your-dog1.jpg 768w" sizes="(max-width: 440px) 100vw, 440px" /></a><figcaption id="caption-attachment-658" class="wp-caption-text">I Wanna Be Your Dog jpg image 720&#215;576</figcaption></figure>
<p>I am going to hint this too so I can add it to my Quicktime server and RTSP stream it (click the image for a demo).</p>
<p><em>MP4Box -hint myvideo.mp4</em></p>
<figure id="attachment_659" aria-describedby="caption-attachment-659" style="width: 440px" class="wp-caption alignnone"><a href="/video/myvideo.mp4" target="_blank"><img loading="lazy" decoding="async" class="wp-image-659 size-medium" title="I Wanna Be Your Dog Single Image Video" src="https://blog.gaiterjones.com/wp-content/uploads/2012/01/i-wanna-be-your-dog-video-440x326.jpg" alt="" width="440" height="326" srcset="https://blog.gaiterjones.com/wp-content/uploads/2012/01/i-wanna-be-your-dog-video-440x326.jpg 440w, https://blog.gaiterjones.com/wp-content/uploads/2012/01/i-wanna-be-your-dog-video-620x460.jpg 620w, https://blog.gaiterjones.com/wp-content/uploads/2012/01/i-wanna-be-your-dog-video.jpg 1127w" sizes="(max-width: 440px) 100vw, 440px" /></a><figcaption id="caption-attachment-659" class="wp-caption-text">I Wanna Be Your Dog Single Image Video &#8211; click to view</figcaption></figure>
<p>(Image source &#8211; google images, music from <a href="http://www.google.co.uk/url?sa=t&amp;rct=j&amp;q=iggy%20and%20the%20stooges&amp;source=web&amp;cd=2&amp;ved=0CDsQFjAB&amp;url=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FThe_Stooges&amp;ei=skYYT5XyMYjHtAbDpM3pDQ&amp;usg=AFQjCNGB_T_Lh440nx_giFFQdjE-IO2t2g&amp;sig2=ZugqHXb8ld8pDSpKs3NKKw">Iggy and the Stooges</a>.)</p>
<p>Now lets add a series of images to the video to make it slightly more interesting. This is a very quick method for creating a slide show type video from a series of images.</p>
<p>We do this by specifying the input parameter with the % wildcard, i.e. image-%3d.jpg where %3d indicates our image will be named image-XXX.jpg, i.e. image001.jpg, image002.jpg, image003.jpg etc.</p>
<p>Forcing FFmpeg to use a framerate of 1 frame per second (-force_fps), our images are shown with a 1 second delay between them and our resulting video at 1fps is relatively small, 4Mb or so, not much larger than the MP3 file.</p>
<p>For a longer delay use two images that are identical together which  would create a 2 second gap, 4 images a 4 second gap etc.</p>
<pre class="brush:shell">ffmpeg -s 720x576 -r 1 -force_fps -loop 1 -shortest -y -i  image%3d.jpg -i I-Wanna-Be-Your-Dog.mp3 -acodec libfdk_aac -ac 2 -b:a 128k -async 1 -vcodec libx264 myvideo.mp4</pre>
<figure id="attachment_666" aria-describedby="caption-attachment-666" style="width: 440px" class="wp-caption alignnone"><a href="/video/myvideo2.mp4"><img loading="lazy" decoding="async" class="size-medium wp-image-666 " title="I Wanna Be Your Dog Video with Multiple Images" src="https://blog.gaiterjones.com/wp-content/uploads/2012/01/i-wanna-be-your-dog-video2-440x322.jpg" alt="" width="440" height="322" srcset="https://blog.gaiterjones.com/wp-content/uploads/2012/01/i-wanna-be-your-dog-video2-440x322.jpg 440w, https://blog.gaiterjones.com/wp-content/uploads/2012/01/i-wanna-be-your-dog-video2-620x454.jpg 620w, https://blog.gaiterjones.com/wp-content/uploads/2012/01/i-wanna-be-your-dog-video2.jpg 1127w" sizes="(max-width: 440px) 100vw, 440px" /></a><figcaption id="caption-attachment-666" class="wp-caption-text">ffmpeg video &#8211; I Wanna Be Your Dog Video with Multiple Images &#8211; click to view</figcaption></figure>
<h1></h1>
<h1>CREATE An FFMPEG VIDEO FROM A PHOTOSHOP IMAGE SEQUENCE</h1>
<p>Photoshop is great for creating titles quickly using the video timeline to render text and images into 25fps image sequence frames that we can quickly convert into video using ffmpeg. To add audio to your clip trim the audio to the length of your video.</p>
<p>Use this command to create the video, you can see the results by clicking the image below.</p>
<pre class="brush:shell">ffmpeg -s 720x576 -r 25 -i  photoshop0%3d.jpg -i sample.mp3 -acodec libfdk_aac -ac 2 -b:a 128k -async 1 -vcodec libx264 myvideo.mp4</pre>
<figure id="attachment_815" aria-describedby="caption-attachment-815" style="width: 440px" class="wp-caption alignnone"><a href="/video/imagesequencevideo.mp4" target="_blank"><img loading="lazy" decoding="async" class="size-medium wp-image-815  " title="Create a video from a photoshop image sequence" src="https://blog.gaiterjones.com/wp-content/uploads/2012/01/screenshot_01-440x326.jpg" alt="" width="440" height="326" srcset="https://blog.gaiterjones.com/wp-content/uploads/2012/01/screenshot_01-440x326.jpg 440w, https://blog.gaiterjones.com/wp-content/uploads/2012/01/screenshot_01-620x460.jpg 620w, https://blog.gaiterjones.com/wp-content/uploads/2012/01/screenshot_01.jpg 854w" sizes="(max-width: 440px) 100vw, 440px" /></a><figcaption id="caption-attachment-815" class="wp-caption-text">Example of a photoshop image sequence video &#8211; click to view</figcaption></figure>
<h1></h1>
<h1>EXTRACT A SINGLE IMAGE FROM A VIDEO USING FFMPEG</h1>
<p>If we want to extract a single frame image file from a video, for example to use as a movie <a title="How to Embed Quicktime Video Correctly in a Web Page" href="https://blog.gaiterjones.com/how-to-embed-quicktime-video-correctly-in-a-web-page/">poster image</a>  use the following command line &#8211;</p>
<p><em>ffmpeg -i myvideo.mp4 -vframes 1 -ss 00:00:05 -f image2 image-%3d.jpg</em></p>
<p>This will extract 1 frame from myvideo.mp4 starting at the fifth second of the video creating the image file image-XXX.jpg.</p>
<h1>BATCH CONVERT video for DARWIN RTSP streaming with ffmpeg</h1>
<p>We want to convert existing media files to stream live with Apples Darwin media server. For a live stream everything in Darwin must be encoded with the same parameters. The best way to do this is to batch convert all your media with FFmpeg. I am going to create a bash script on my Mac to use FFmpeg to encode all MP4 files in a folder to a new MP4 folder. I will encode them to 720&#215;576 (pal) 25fps with 2 channel stereo AAC audio at 128kbps and H.264 video at 768Kbps.</p>
<p>touch a new file mp4768 and make it executable, chmod +x mp4768</p>
<p>Edit the file and paste the following</p>
<pre class="brush:shell">#===================================
#the directory mp4 must be present in the current directory
for f in *.mp4;
do
ffmpeg  -i  "$f" -s 720x576 -r 25 -acodec libfdk_aac -ac 2 -b:a 128k -async 1 -vcodec libx264 -level 1.3 -b:v 768k -bt 768k "mp4/${f%.mp4}.mp4"; done #====================================</pre>
<p>Now copy the files you want to convert into a folder, and create a subfolder called mp4. Run the bash script to convert all the files i.e. /bin/mp4768</p>
<p>Don&#8217;t forget to hint the files afterward for RTSP streaming with Apples Darwin Streaming media server.</p>
<p>This also gives us the interesting option of combining what we have learnt creating videos from image files, to create on the fly content for live Darwin streams using PHP and FFmpeg &#8211; more on that in another post!</p>
<p>If you have more cool <strong>FFmpeg video</strong> usage examples to add to this post please let me know!</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.gaiterjones.com/ffmpeg-video-how-to/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>How to Embed Quicktime Video Correctly in a Web Page</title>
		<link>https://blog.gaiterjones.com/how-to-embed-quicktime-video-correctly-in-a-web-page/</link>
					<comments>https://blog.gaiterjones.com/how-to-embed-quicktime-video-correctly-in-a-web-page/#comments</comments>
		
		<dc:creator><![CDATA[PAJ]]></dc:creator>
		<pubDate>Mon, 09 Jan 2012 12:49:18 +0000</pubDate>
				<category><![CDATA[Darwin Streaming Server]]></category>
		<category><![CDATA[Quicktime Video]]></category>
		<category><![CDATA[Streaming]]></category>
		<category><![CDATA[darwin streaming server]]></category>
		<category><![CDATA[Quicktime Embed Code]]></category>
		<category><![CDATA[RTSP]]></category>
		<guid isPermaLink="false">http://blog.gaiterjones.com/?p=638</guid>

					<description><![CDATA[As a HUGE David Bowie fan, I like to celebrate his birthday (he was 65 yesterday) with lots of Bowie videos and music. I like to share the videos with...<a class="more-link" href="https://blog.gaiterjones.com/how-to-embed-quicktime-video-correctly-in-a-web-page/" title="Continue reading">Continue reading</a>]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="hang-2-column     alignnone" title="How to embed quicktime video" src="http://images.apple.com/downloads/images/essentials_quicktime20070611.png" alt="" width="120" height="120" />As a <em>HUGE</em> <a href="http://www.davidbowie.com">David Bowie</a> fan, I like to celebrate his birthday (he was 65 yesterday) with lots of Bowie videos and music. I like to share the videos with friends using Apples Darwin streaming server to create a live streaming playlist..Each year I do this I forget how to correctly embed the Quicktime video in html. So after searching around a lot for the best multi browser compatible way to do this here is the <em>correct</em> way to embed Quicktime video into your web site.</p>
<p>My example will embed the video using Apples recommended multi browser html and javascript code,  reference movie file and a poster image.</p>
<p>First, the reference movie file. If you use Quicktime Pro you can get the software to generate a reference file when you encode your movies for the web. The reference file has a .mov file extension but is not a media file instead it passes information to Quicktime to help it determine the best media to play for the client, i.e. low bandwidth version, iPhone version etc. In my case I am streaming all my media through a <a title="Apple Darwin Streaming Server Compilation &amp; Installation for Linux" href="https://blog.gaiterjones.com/how-to-install-apple-darwin-streaming-server/">Darwin Streaming Server </a>using RTSP and will create a reference file that points to the videos on my Darwin server.</p>
<p>The media reference file is accessed from Quicktime via HTTP so needs to be saved on in a publicly accessible area of your site.</p>
<p>In my example I am going to embed Bowies Lets Dance video. The video is saved in my Darwin media folder<em> /home/media/video</em> and is called <strong>davidbowie-lets-dance.mp4.</strong></p>
<p>In my website folder I create a reference file called <strong>davidbowie-lets-dance.mov</strong> and paste the following text into it.</p>
<p><em><strong>RTSPtextRTSP://medazzaland.co.uk:554/video/davidbowie-lets-dance.mp4</strong></em></p>
<p>We need a &#8220;poster&#8221; image to represent the video, this will be shown on the embed page before the video plays, so we simply take a frame from the video and save it in a publicly accessible folder, in this example its called <strong>davidbowie-lets-dance.png</strong></p>
<p>Now the HTML code to embed the video. In the head section we need to include Apples javascript and some styling that is used for the Click Here link on the embedded video.</p>
<pre class="brush:xml">&lt;script src="http://www.apple.com/library/quicktime/scripts/ac_quicktime.js" language="JavaScript" type="text/javascript"&gt;&lt;/script&gt;
&lt;script src="http://www.apple.com/library/quicktime/scripts/qtp_library.js" language="JavaScript" type="text/javascript"&gt;&lt;/script&gt;
&lt;link href="http://www.apple.com/library/quicktime/stylesheets/qtp_library.css" rel="StyleSheet" type="text/css" /&gt;</pre>
<p>And now for the embed code which should go between the body tags of your html</p>
<pre class="brush:xml">	&lt;div id="quicktimevideo"&gt;
		&lt;script type="text/javascript"&gt;&lt;!--
		QT_WritePoster_XHTML('Click to Play - David Bowie - Lets Dance', 'images/davidbowie-lets-dance.png',
			'http://my.medazzaland.co.uk/reference/davidbowie-lets-dance.mov',
			'720', '576', '',
			'controller', 'true',
			'autoplay', 'true',
			'bgcolor', 'black',
			'scale', 'aspect');
	//--&gt;
	&lt;/script&gt;
	&lt;noscript&gt;
	&lt;object width="720" height="576" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab"&gt;
		&lt;param name="src" value="images/davidbowie-lets-dance.png" /&gt;
		&lt;param name="href" value="http://my.medazzaland.co.uk/reference/davidbowie-lets-dance.mov" /&gt;
		&lt;param name="target" value="myself" /&gt;
		&lt;param name="controller" value="false" /&gt;
		&lt;param name="autoplay" value="false" /&gt;
		&lt;param name="scale" value="aspect" /&gt;
		&lt;embed width="720" height="576" type="video/quicktime" pluginspage="http://www.apple.com/quicktime/download/"
			src="images/davidbowie-lets-dance.png"
			href="http://my.medazzaland.co.uk/reference/davidbowie-lets-dance.mov"
			target="myself"
			controller="false"
			autoplay="false"
			scale="aspect"&gt;
		&lt;/embed&gt;
	&lt;/object&gt;
	&lt;/noscript&gt;

	&lt;/div&gt;</pre>
<p>This code should work across all browsers and will embed the video using the poster image as a link as show below.</p>
<figure id="attachment_639" aria-describedby="caption-attachment-639" style="width: 372px" class="wp-caption alignnone"><a href="http://tv.medazzaland.co.uk/?play=davidbowie-lets-dance"><img loading="lazy" decoding="async" class=" wp-image-639   " title="Embedded Quicktime Video Example" src="https://blog.gaiterjones.com/wp-content/uploads/2012/01/Image1-620x485.jpg" alt="Embedded Quicktime Video Example" width="372" height="291" srcset="https://blog.gaiterjones.com/wp-content/uploads/2012/01/Image1-620x485.jpg 620w, https://blog.gaiterjones.com/wp-content/uploads/2012/01/Image1-440x344.jpg 440w, https://blog.gaiterjones.com/wp-content/uploads/2012/01/Image1.jpg 671w" sizes="(max-width: 372px) 100vw, 372px" /></a><figcaption id="caption-attachment-639" class="wp-caption-text">Embedded Quicktime Video Example</figcaption></figure>
<p>&nbsp;</p>
<p>Notice that the embed code points to the reference .mov file with an http link, the reference file then redirects Quicktime to the correct RTSP link for the video.</p>
<p>If you want to serve up a lot of videos in this way, you can create the reference file on the fly with PHP as I have done with this example &#8211; click the photo above to goto a demo page. The video information, name, title, size etc. are all stored in a database, the PHP script pulls out the video info from the database and creates the reference files and html on the fly.</p>
<p>As a side note, I was unable to compile Darwin from source under the latest version of Ubuntu Server 11.10, I had to use previously compiled files from another Ubuntu server running Ubuntu 8.x for the install.</p>
<p>I am still looking at perfecting the MP4 encoding for Darwin streaming, so more on that another time and Happy Birthday David Bowie!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.gaiterjones.com/how-to-embed-quicktime-video-correctly-in-a-web-page/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		<enclosure url="http://my.medazzaland.co.uk/reference/davidbowie-lets-dance.mov" length="69" type="video/quicktime" />

			</item>
		<item>
		<title>Apple Darwin Streaming Server Compilation &#038; Installation for Linux</title>
		<link>https://blog.gaiterjones.com/how-to-install-apple-darwin-streaming-server/</link>
					<comments>https://blog.gaiterjones.com/how-to-install-apple-darwin-streaming-server/#comments</comments>
		
		<dc:creator><![CDATA[PAJ]]></dc:creator>
		<pubDate>Wed, 07 Sep 2011 11:56:57 +0000</pubDate>
				<category><![CDATA[Darwin Streaming Server]]></category>
		<category><![CDATA[Streaming]]></category>
		<category><![CDATA[darwin streaming server]]></category>
		<category><![CDATA[streaming]]></category>
		<guid isPermaLink="false">http://blog.gaiterjones.com/?p=530</guid>

					<description><![CDATA[DSS no longer compiles and runs new Ubuntu versions. If you want to use Darwin Streaming Server run it as a docker container using my DSS image. If you want...<a class="more-link" href="https://blog.gaiterjones.com/how-to-install-apple-darwin-streaming-server/" title="Continue reading">Continue reading</a>]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="hang-2-column alignnone" title="Half Eaten Fruit" alt="" src="https://blog.gaiterjones.com/wp-content/uploads/2011/09/apple-logo.png" width="150" height="181" /></p>
<p><strong>DSS no longer compiles and runs new Ubuntu versions. If you want to use Darwin Streaming Server run it as a <a href="https://hub.docker.com/r/gaiterjones/darwin-streaming/">docker container using my DSS image</a>.</strong></p>
<p>If you want to know how I compiled DSS 6.0.3 on Ubuntu <em>PRECISE</em> back in the stone age &#8211; read on&#8230;</p>
<p>Over the last few years I have been involved with some projects that required streaming audio and video solutions and I have been working with the Open Source Darwin Streaming Server from Apple running mainly on the Linux platform. DSS will run under Windows but I wouldn&#8217;t recommend it.</p>
<p>The Darwin Streaming Server (DSS) is the open source version of Apples quicktime server technology which is built into Apples OS X Server. DSS can run under Mac OSX, Windows and Linux. The streaming server supports QuickTime Movie (MOV),  MPEG-4 (MP4), and 3GPP (3GP) &#8220;hinted&#8221; files. Support resources for DSS are quite limited so I will start to post information here to document some of the work I have done with DSS, including installation, configuration, use etc.</p>
<p>This first post will document the compilation, installation and testing of the current version of DSS, v6.0.3 under Linux.</p>
<p>The commands below assume you have superuser rights.</p>
<h1>Compilation</h1>
<p>To compile DSS we first need to make sure we have the required packages for the download and compile utilities.</p>
<p>Execute the following as a superuser, or use the sudo prefix command.</p>
<p><em>apt-get install build-essential wget</em></p>
<pre>Need to get 19.6MB of archives.
After this operation, 66.8MB of additional disk space will be used.
Do you want to continue [Y/n]?</pre>
<p>Hit <strong>Y</strong> to download and install the required packages.</p>
<p>Change to a working directory for the download and compilation i.e. /home/DSS and download the DSS 6.0.3 source (31MB) tar file directly to your working folder using wget:</p>
<p><em>wget http://static.macosforge.org/dss/downloads/DarwinStreamingSrvr6.0.3-Source.tar</em></p>
<p>Uncompress the tar file</p>
<p><em>tar -xvf DarwinStreamingSrvr6.0.3-Source.tar</em></p>
<p>Rename the source file directory to allow us to create a patch directory. The patches are required to compile DSS under a 64bit OS, but there is also no harm in applying them if you are using a 32bit OS.</p>
<p><em>mv DarwinStreamingSrvr6.0.3-Source DarwinStreamingSrvr6.0.3-Source.orig</em></p>
<p>Download the first patch file</p>
<p><em>wget http://dss.macosforge.org/trac/raw-attachment/ticket/6/dss-6.0.3.patch</em></p>
<p>Apply the patch</p>
<p><em>patch -p0 &lt; dss-6.0.3.patch</em></p>
<p>Move the source file directory back</p>
<p><em>mv DarwinStreamingSrvr6.0.3-Source.orig DarwinStreamingSrvr6.0.3-Source</em></p>
<p>Download the second patch file</p>
<p>wget http://dss.macosforge.org/trac/raw-attachment/ticket/6/dss-hh-20080728-1.patch</p>
<p>Apply the patch</p>
<p><em>patch -p0 &lt; dss-hh-20080728-1.patch</em></p>
<p>Change into the DSS source file directory</p>
<p><em>cd DarwinStreamingSrvr6.0.3-Source</em></p>
<p>Rename the source install file</p>
<p><em>mv Install Install.orig</em></p>
<p>Get the latest install file</p>
<p><em>wget http://dss.macosforge.org/trac/raw-attachment/ticket/6/Install</em></p>
<p>Set execute permissions on the install file</p>
<p><em>chmod +x Install</em></p>
<p>Compile the source code (dot slash Buildit)</p>
<p><em>./Buildit</em></p>
<pre>-----------------------
Configuring for the Linux i686 platform
Building for Linux.i686 with gcc</pre>
<p>Now is a good time to grab a coffee as the build process could take a few minutes. The various warning messages you will see can be safely ignored and unless you experience another serious error the compilation is completed when the command prompt returns.</p>
<h1>Installation</h1>
<p>First create the qtss user and group required by DSS</p>
<p><em>addgroup -system qtss</em><br />
<em>adduser -system -no-create-home -ingroup qtss qtss</em></p>
<p>and then run the DSS install script. (dot slash <strong>Install</strong> &#8211; case sensitive!)</p>
<p><em>./Install</em></p>
<p>The install script creates the DSS directory structure and copies files and sample media. When complete you will be prompted to create an administrator username and password. Enter the username and password you will use to administer DSS. Confirm the password.</p>
<pre>Adding userName admin
Setup Complete!</pre>
<p>Check permissions for the DSS configuration file in /etc/streaming, it must be writeable or the changes made in the administration pages will fail.</p>
<p><em>chmod 755 /etc/streaming/streamingserver.xml</em></p>
<p>The DSS installation is now complete, and the server should be started! To manually start the server use</p>
<p lang="en-GB"><em>/usr/local/sbin/streamingadminserver.pl</em></p>
<p>If the server is already running you will see</p>
<pre>Failed to start Streaming Admin Server.
Port 1220 is in use by another process.
The Streaming Admin Server may already be running.</pre>
<p>We can also configure DSS to auto start automatically on boot up, to do this download the following script</p>
<p><em>wget http://dss.macosforge.org/trac/raw-attachment/ticket/6/darwin-streaming-server</em></p>
<p>make it executable</p>
<p><em>chmod +x darwin-streaming-server</em></p>
<p>Move the script into /etc/init.d</p>
<p><em>mv darwin-streaming-server /etc/init.d/darwin-streaming-server</em></p>
<p><em></em>and update rc.d to so that it can auto start and respond to start/stop commands.</p>
<p><em>update-rc.d darwin-streaming-server defaults</em></p>
<p>The server can now be started and stopped with</p>
<p>/etc/init.d/darwin-streaming-server stop</p>
<p>/etc/init.d/darwin-streaming-server start</p>
<h1>Configuration</h1>
<p>The administration web service for DSS runs on TCP port 1220, to login to the server start a browser session and navigate to</p>
<p>http://servername-or-ip-address:1220</p>
<p>You will see the DSS login page, login with the username and password you created during the installation and click the Log In button.</p>
<figure id="attachment_531" aria-describedby="caption-attachment-531" style="width: 575px" class="wp-caption alignnone"><a href="https://blog.gaiterjones.com/wp-content/uploads/2011/09/DSS-Image1.jpg"><img loading="lazy" decoding="async" class="size-full wp-image-531" title="Darwin Streaming Server 6.0.3 login page" alt="Darwin Streaming Server 6.0.3 login page" src="https://blog.gaiterjones.com/wp-content/uploads/2011/09/DSS-Image1.jpg" width="575" height="345" srcset="https://blog.gaiterjones.com/wp-content/uploads/2011/09/DSS-Image1.jpg 575w, https://blog.gaiterjones.com/wp-content/uploads/2011/09/DSS-Image1-440x264.jpg 440w" sizes="(max-width: 575px) 100vw, 575px" /></a><figcaption id="caption-attachment-531" class="wp-caption-text">Darwin Streaming Server 6.0.3 login page</figcaption></figure>
<p>&nbsp;</p>
<p>The setup assistant will ask you for a MP3 broadcast password &#8220;The MP3 Broadcast password is required in order to receive MP3 broadcast streams.&#8221;</p>
<p>Enter the MP3 broadcast password you wish to use and click next to continue.</p>
<p>The setup assistant will ask you if you want to enable SSL for admin. &#8220;This will enable encryption between the administration server and the web client. This feature requires that you have a valid streaming server SSL certificate installed.&#8221;</p>
<p>Click the Next button to continue.</p>
<p>The setup assistant will ask you to confirm the Media folder for DSS &#8220;This is the folder or directory in which your media is stored.&#8221; To accept the default media folder (/usr/local/movies/) click the Next button, or enter the path to a new media folder. If you change the media folder make sure you set ownership of the new folder to the qtss user</p>
<p><em>chown -R qtss.root /home/mymediafolder</em></p>
<p>The setup assistant will ask you if you want to use Port 80 for streaming &#8220;This allows you to stream through firewalls.&#8221; Streaming on TCP port 80 instead of default RTSP ports will ensure that streaming clients behind most firewalls that might have none standard ports, such as RTSP blocked, will be able to access the streaming server via TCP Port 80 which is commonly used for HTTP access and is more likely to be permitted through firewalls. I recommend considering this later as you need to be sure that any existing services running on Port 80, i.e. Apache have been modified or stopped before you try and use DSS streaming on Port 80.</p>
<p>Click the Finish button to continue.</p>
<p>The main DSS administration screen will appear and the DSS installation and basic configuration is complete.</p>
<figure id="attachment_532" aria-describedby="caption-attachment-532" style="width: 440px" class="wp-caption alignnone"><a href="https://blog.gaiterjones.com/wp-content/uploads/2011/09/DSS-Image2.jpg"><img loading="lazy" decoding="async" class="size-medium wp-image-532" title="Darwin Server 6.0.3 Main Administrator Screen" alt="Darwin Server 6.0.3 Main Administrator Screen" src="https://blog.gaiterjones.com/wp-content/uploads/2011/09/DSS-Image2-440x360.jpg" width="440" height="360" srcset="https://blog.gaiterjones.com/wp-content/uploads/2011/09/DSS-Image2-440x360.jpg 440w, https://blog.gaiterjones.com/wp-content/uploads/2011/09/DSS-Image2-620x507.jpg 620w, https://blog.gaiterjones.com/wp-content/uploads/2011/09/DSS-Image2.jpg 651w" sizes="(max-width: 440px) 100vw, 440px" /></a><figcaption id="caption-attachment-532" class="wp-caption-text">Darwin Streaming Server 6.0.3 Main Administration Screen</figcaption></figure>
<p>&nbsp;</p>
<p>Make a tarball of your install directory and save it somewhere for future use!</p>
<h1>Testing</h1>
<p>If you look in the default media directory (/usr/local/movies) you will see some test audio and video media files.</p>
<p>i.e. /usr/local/movies/sample_h264_300kbit.mp4</p>
<p>To test your installation and stream one of the example media files open a media player capable of RTSP streaming, i.e. Apple Quicktime Player, VLC and open a new network stream in the player with the address</p>
<p>rtsp://servername-or-ip-address/sample_h264_300kbit.mp4</p>
<p>The 300Kbit h264 sample MP4 file will stream from your server and should play in your media player.</p>
<figure id="attachment_533" aria-describedby="caption-attachment-533" style="width: 252px" class="wp-caption alignnone"><img loading="lazy" decoding="async" title="Streaming a sample media file" alt="Streaming a sample media file" src="https://blog.gaiterjones.com/wp-content/uploads/2011/09/DSS-Image3-315x440.jpg" width="252" height="352" /><figcaption id="caption-attachment-533" class="wp-caption-text">Streaming a sample media file with VLC Player</figcaption></figure>
<p>&nbsp;</p>
<p>DSS Uses the following default directories for config, playlists, logs etc.</p>
<p>/usr/local/sbin/Darwin Streaming Server &#8212;- Server Software<br />
/usr/local/sbin/streamingadminserver.pl &#8212;- Web Frontend<br />
/etc/streaming &#8212;- Configuration Directory<br />
/etc/streaming/streamingserver.xml &#8212;- Configuration File<br />
/var/streaming/logs &#8212;- Logs<br />
/usr/local/movies &#8212;- Default media directory</p>
<p>I will look at configuring the server further and preparing media for streaming in another blog post.</p>
<h1></h1>
<h1>Further Resources</h1>
<p>&nbsp;</p>
<p>Looking for a media player for darwin mp3 streams &#8211; check out the facebook darwin media tab demo on my <a href="http://www.facebook.com/pages/gaiterjones/243428839036258" target="_blank" rel="noopener">facebook</a> page.</p>
<p><a href="http://dss.macosforge.org/">http://dss.macosforge.org/</a></p>
<p><a href="http://ubuntuforums.org/archive/index.php/t-651556.html">http://ubuntuforums.org/archive/index.php/t-651556.html</a></p>
<p><a href="http://lists.apple.com/mailman/listinfo2/streaming-server-users">http://lists.apple.com/mailman/listinfo2/streaming-server-users</a></p>
<p><a href="http://dss.macosforge.org/post/40/">http://dss.macosforge.org/post/40/</a></p>
<p><a href="http://soundscreen.com/streaming/">http://soundscreen.com/streaming/</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.gaiterjones.com/how-to-install-apple-darwin-streaming-server/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
	</channel>
</rss>
