<?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>Prune&#039;s Blog &#187; Apple</title>
	<atom:link href="http://www.lecentre.net/blog/archives/category/unix/apple/feed" rel="self" type="application/rss+xml" />
	<link>http://www.lecentre.net/blog</link>
	<description>Internet, UNIX, Video, Leisure...</description>
	<lastBuildDate>Thu, 19 Jan 2012 20:38:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>New MacPro Nehalem and 10To Raid5 Array</title>
		<link>http://www.lecentre.net/blog/archives/740</link>
		<comments>http://www.lecentre.net/blog/archives/740#comments</comments>
		<pubDate>Sun, 29 Mar 2009 13:10:31 +0000</pubDate>
		<dc:creator>Prune</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.lecentre.net/blog/?p=740</guid>
		<description><![CDATA[I bought a dual 2GHz Powermac G5 when it first came out, almost 6 years ago. I never had a problem with it. It&#8217;s still working as a charme. But, when you&#8217;re working with HD footage, it gets a real pain ! One of my best friend always tell me : &#171;&#160;buy, don&#8217;t wait&#160;&#187;. But [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-741" title="overview" src="http://www.lecentre.net/blog/wp-content/uploads/2009/03/overview_features_design20090303.png" alt="overview" width="245" height="154" /><br />
I bought a dual 2GHz Powermac G5 when it first came out, almost 6 years ago. I never had a problem with it. It&#8217;s still working as a charme. But, when you&#8217;re working with HD footage, it gets a real pain !</p>
<p>One of my best friend always tell me : &laquo;&nbsp;buy, don&#8217;t wait&nbsp;&raquo;. But I chosed to wait a little bit for the new Macpro Nehalem. And it finaly happened : <a href="http://www.apple.com/macpro/">http://www.apple.com/macpro/</a><br />
<span id="more-740"></span><br />
Building my config was simple : best possible but not crazily expensive. I finaly settled on a dual CPU, 2.66GHz (8 threads in total), the ATI 4870 video card, wifi, bluetooth and wireless keyboard, which is for sale at 50€ (pickup in Paris). The RAM amount was a real challenge&#8230; I wanted 8Gb.<br />
As you may know, new Nehalem processor have a 3 lane memory controler. The Macpro have 4 slots of ram per CPU.<br />
8 Gb = 2x2Go per cpu or 4x1Gb per cpu.<br />
Problem is, to use the whole CPU ram throughoutput, which is the key point on the nehalem, you have to use 3 memory modules.<br />
I decided to use 3x2Gb per cpu, having a final HUGE 12Go of memory <img src='http://www.lecentre.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Hopefully, the RAM modules for the macpro are really &laquo;&nbsp;cheap&nbsp;&raquo; actually. I used the Apple ram extension for 180€. I could have chosed to go with the reseller&#8217;s ram for 130€&#8230; but I think it&#8217;s better to have 6 identical RAM modules instead of 4+2. Remember RAM modules work by 3 at a time.</p>
<p>So, you&#8217;re asking, where are the picture&#8230; There you go :<br />
<a href="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp01221.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp01221-187x250.jpg" alt="imgp01221" title="imgp01221" width="187" height="250" class="alignnone size-medium wp-image-743" /></a> <a href="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0123.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0123-250x187.jpg" alt="imgp0123" title="imgp0123" width="250" height="187" class="alignnone size-medium wp-image-744" /></a><br />
<a href="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0124.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0124-250x187.jpg" alt="imgp0124" title="imgp0124" width="250" height="187" class="alignnone size-medium wp-image-745" /></a> <a href="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0125.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0125-250x187.jpg" alt="imgp0125" title="imgp0125" width="250" height="187" class="alignnone size-medium wp-image-746" /></a><br />
<a href="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0126.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0126-250x187.jpg" alt="imgp0126" title="imgp0126" width="250" height="187" class="alignnone size-medium wp-image-747" /></a> <a href="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0127.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0127-250x187.jpg" alt="imgp0127" title="imgp0127" width="250" height="187" class="alignnone size-medium wp-image-748" /></a><br />
<a href="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0128.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0128-250x187.jpg" alt="imgp0128" title="imgp0128" width="250" height="187" class="alignnone size-medium wp-image-749" /></a> <a href="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0131.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0131-187x250.jpg" alt="imgp0131" title="imgp0131" width="187" height="250" class="alignnone size-medium wp-image-750" /></a><br />
<a href="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0132.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0132-250x187.jpg" alt="imgp0132" title="imgp0132" width="250" height="187" class="alignnone size-medium wp-image-751" /></a> <a href="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0134.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0134-250x187.jpg" alt="imgp0134" title="imgp0134" width="250" height="187" class="alignnone size-medium wp-image-752" /></a></p>
<p>The HD card<br />
Things never change alone. Just one month ago, BlackMagic Design released it&#8217;s new Decklink card, the <a href="http://www.blackmagic-design.com/products/decklinkhdextreme/">Decklink HD Extreme 3</a>.<br />
<a href="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0116.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0116-250x187.jpg" alt="imgp0116" title="imgp0116" width="250" height="187" class="alignnone size-medium wp-image-756" /></a> <a href="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0119.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0119-187x250.jpg" alt="imgp0119" title="imgp0119" width="187" height="250" class="alignnone size-medium wp-image-757" /></a><br />
<a href="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0120.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0120-250x187.jpg" alt="imgp0120" title="imgp0120" width="250" height="187" class="alignnone size-medium wp-image-758" /></a><br />
I just installed it in the mac and installed the driver. I will try it today.<br />
First visible change : you have a new monitor in the monitor preference pane. While this seems to be cool, it is a serious problem when using a Wacom intuos or the special corner feature to get exposé or dashboard.<br />
More on this later</p>
<p>The Raid card<br />
As for the Decklink card, the Raid card is a new one too : <a href="http://www.highpoint-tech.com/">Highpoint Rocketraid 4322</a>.<br />
Most of people used the 3522, which is almost the same, with less RAM and a slower CPU (800MHz instead of 1200MHz). While it seems no one sell the 4322 card in France, I had to buy it from Germany. I think I had a real good price, far lower than other cards : 530€.<br />
<a href="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0114.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0114-250x187.jpg" alt="imgp0114" title="imgp0114" width="250" height="187" class="alignnone size-medium wp-image-759" /></a> <a href="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0115.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0115-250x187.jpg" alt="imgp0115" title="imgp0115" width="250" height="187" class="alignnone size-medium wp-image-760" /></a><br />
See both the Decklink and the raid card in the mac :<br />
<a href="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0135.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0135-250x187.jpg" alt="imgp0135" title="imgp0135" width="250" height="187" class="alignnone size-medium wp-image-753" /></a></p>
<p>Here is the back of the computer. See the HD-SDI IN/OUT of the Decklink on top, then the IN/OUT HDMI. Then the two Mini-SAS input of the RAID card, then the video card, with one DVI and one mini-displayport.</p>
<p><a href="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0137.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0137-187x250.jpg" alt="imgp0137" title="imgp0137" width="187" height="250" class="alignnone size-medium wp-image-754" /></a> <a href="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0139.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0139-187x250.jpg" alt="imgp0139" title="imgp0139" width="187" height="250" class="alignnone size-medium wp-image-755" /></a></p>
<p>The RAID Case<br />
You may ask what can I plug in the mini-SAS raid card&#8230; In fact, many things <img src='http://www.lecentre.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
I chosed to use a 8 disk enclosure with mini-SAS inputs from <a href="http://www.enhance-tech.com/products/desktop/E8_Series.html">Enhance Technologies</a>.<br />
I chosed the E8MS as it have mini-SAS input and accept S-ATA drives. Note that you can have the SAME box, in light grey instead of dark grey,  from <a href="http://www.proavio.com/eb8ms.html">ProAVIo</a>.<br />
The proAvIo box is not sold in France. I had to call the English reseller&#8230; which wasn&#8217;t OK to sell the box alone, without drives. Of course, their drives were far more expensive (special RAID ones, you can also find it everywhere).<br />
I finaly found a company selling the Enhance Tech model in France, for around 500€, and empty !<br />
I went to the &laquo;&nbsp;rue Montgallet&nbsp;&raquo; where all the computer parts resellers are, and bought 8&#215;1.5To Seagate drives. This will give me a huge 10.5 To of storage !!<br />
Moreover, it seems the 1.5To disks have a better throughoutput than the 1To ones. And they have the 5 years waranty intead of 3 years for the 1To.</p>
<p>See the pics :<br />
<a href="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0090.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0090-187x250.jpg" alt="imgp0090" title="imgp0090" width="187" height="250" class="alignnone size-medium wp-image-761" /></a> <a href="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0091.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0091-187x250.jpg" alt="imgp0091" title="imgp0091" width="187" height="250" class="alignnone size-medium wp-image-762" /></a><br />
<a href="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0092.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0092-187x250.jpg" alt="imgp0092" title="imgp0092" width="187" height="250" class="alignnone size-medium wp-image-763" /></a> <a href="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0098.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0098-187x250.jpg" alt="imgp0098" title="imgp0098" width="187" height="250" class="alignnone size-medium wp-image-764" /></a><br />
<a href="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0104.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0104-187x250.jpg" alt="imgp0104" title="imgp0104" width="187" height="250" class="alignnone size-medium wp-image-765" /></a> <a href="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0106.jpg"><img src="http://www.lecentre.net/blog/wp-content/uploads/2009/03/imgp0106-250x187.jpg" alt="imgp0106" title="imgp0106" width="250" height="187" class="alignnone size-medium wp-image-766" /></a></p>
<p>I will try to do a step by step of the RAId configuration and add some RAID tests, but for now, I&#8217;m sad to say the RAID card is not working !<br />
The RAID card is managed through a web interface. I can see the drives, create the RAID array and mount it. Then, the initialization fail. Then, the RAID card stop responding and the whole system hang.<br />
I also had strange USB power loss some time. Don&#8217;t know if this is related to the RAID card.</p>
<p>Two last notes on what Apple can improve :<br />
- the mini displayport of the video card : WHY ? and why not displayport instead of mini ?<br />
- the RAID card, on slot 2, is just over the video card fan&#8230; There should be more space between the two PCI slots so the display card can breath. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.lecentre.net/blog/archives/740/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Google is everywhere</title>
		<link>http://www.lecentre.net/blog/archives/166</link>
		<comments>http://www.lecentre.net/blog/archives/166#comments</comments>
		<pubDate>Fri, 28 Dec 2007 16:10:16 +0000</pubDate>
		<dc:creator>Prune</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Dev]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.lecentre.net/blog/archives/166</guid>
		<description><![CDATA[One new API from Google. This one allow you to create charts (graphiques, pour les francophones). Philippe Mougin is our guest and comes with a clean example with integration to Apple&#8217;s Cocoa programming. Check this here.]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.lecentre.net/blog/wp-content/uploads/2007/12/chart.png" alt="Google Chart" /></p>
<p>One new API from Google. This one allow you to create charts (graphiques, pour les francophones).</p>
<p>Philippe Mougin is our guest and comes with a clean example with integration to Apple&#8217;s Cocoa programming. <a href="http://pmougin.wordpress.com/2007/12/10/google-chart-api-fun-with-cocoa-and-f-script/" title="http://pmougin.wordpress.com/2007/12/10/google-chart-api-fun-with-cocoa-and-f-script/" target="_blank">Check this here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lecentre.net/blog/archives/166/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Faire du python dans automator (Leopard)</title>
		<link>http://www.lecentre.net/blog/archives/165</link>
		<comments>http://www.lecentre.net/blog/archives/165#comments</comments>
		<pubDate>Fri, 28 Dec 2007 16:03:29 +0000</pubDate>
		<dc:creator>Prune</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Dev]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.lecentre.net/blog/archives/165</guid>
		<description><![CDATA[Voila le site d&#8217;une personne qui a une solution. Cela interessera particulierement mon ami Akhen, qui fete son anniversaire demain. Tiens, c&#8217;est pour toi : http://toxicsoftware.com/run-python-script/]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.lecentre.net/blog/wp-content/uploads/2007/12/2110974754_6e5540298b_o.png" alt="http://toxicsoftware.com/run-python-script" /></p>
<p>Voila le site d&#8217;une personne qui a une solution. Cela interessera particulierement mon ami Akhen, qui fete son anniversaire demain. Tiens, c&#8217;est pour toi : <a href="http://toxicsoftware.com/run-python-script/" title="http://toxicsoftware.com/run-python-script/" target="_blank">http://toxicsoftware.com/run-python-script/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lecentre.net/blog/archives/165/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Having DSS compiles on Solaris 10 [part 7] &#8211; DSS and Multicast streams</title>
		<link>http://www.lecentre.net/blog/archives/54</link>
		<comments>http://www.lecentre.net/blog/archives/54#comments</comments>
		<pubDate>Mon, 16 Jul 2007 18:52:52 +0000</pubDate>
		<dc:creator>Prune</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Solaris]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.lecentre.net/blog/archives/54</guid>
		<description><![CDATA[I finaly got DSS working fine on Solaris, with Multicast source on non primary interface. This modified source-tree should be working with most Solaris 10 and maybe 8, 9, on Sparc or Intel. Just untar it, do a &#171;&#160;./buildtarball myversion&#160;&#187; and use the tar.gz file for install. You may also need the Install script I [...]]]></description>
			<content:encoded><![CDATA[<p>I finaly got DSS working fine on Solaris, with Multicast source on non primary interface.</p>
<p>This modified source-tree should be working with most Solaris 10 and maybe 8, 9, on Sparc or Intel. Just untar it, do a <em>&laquo;&nbsp;./buildtarball myversion&nbsp;&raquo;</em> and use the tar.gz file for install. You may also need the Install script I modified to install in <em>/opt/deflector/dss</em>. I hope to find time to have the install dir on the command line so anybody can use it.</p>
<p>You will see a new parameter in streamingserver.xml where you define the IP you wish to subscribe Multicast streams on :  <em>&lt;PREF NAME=&nbsp;&raquo;ip_listen_for_multicast&nbsp;&raquo; &gt;<strong>0</strong>&lt;/PREF&gt;</em><br />
This parameter is set to 0 by default, which means a default behaviour, using <em>INADDR_ANY</em> as subscription IP. You can set it to an IP on your host to subscribe to a special interface like :<br />
<em> &lt;PREF NAME=&nbsp;&raquo;ip_listen_for_multicast&nbsp;&raquo; &gt;<strong>10.16.240.19</strong>&lt;/PREF&gt;</em></p>
<p>It seems another solution would be to change the multicast lan route. Lets say your primary inteface have IP 10.16.248.19 and you have multicast comming to another interface whose IP is 10.16.240.19. You do it like this :</p>
<p><em>route -n delete  -interface 224.0/4 -gateway   10.16.248.19<br />
route -n add  -interface 224.0/4 -gateway   10.16.240.19</em></p>
<p>My patch is not a end by itself as this IP should be, at least, be set per multicast stream. It&#8217;s just OK for my need, my lack of time and my small C++ experience.</p>
<p>Just come to me if you want to have more details about the config files or start/stop script.</p>
<p>By the way, the .tar.gz file with patched source is <a href="http://www.lecentre.net/blog/download/DarwinStreamingSrvr5.5.5-Source-prune-20070717.tar.gz">here</a> and a patch file (diff file to apply using gpatch on Solaris) for the original source code is <a href="http://www.lecentre.net/blog/download/DarwinStreamingSrvr5.5.5-Source-prune-20070717.diff">here</a><a href="http://www.lecentre.net/blog/download/DarwinStreamingSrvr5.5.5-Source-prune.tar.gz" title="DSS 5.5.5 for Solaris 10"> </a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lecentre.net/blog/archives/54/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Having DSS compiles on Solaris 10 [part 6] &#8211; DSS and Multicast streams</title>
		<link>http://www.lecentre.net/blog/archives/53</link>
		<comments>http://www.lecentre.net/blog/archives/53#comments</comments>
		<pubDate>Fri, 13 Jul 2007 13:29:23 +0000</pubDate>
		<dc:creator>Prune</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Solaris]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.lecentre.net/blog/archives/53</guid>
		<description><![CDATA[And here we go again with DSS ! This time it&#8217;s not a real compilation problem and is not only Solaris related. The best thing you can do with DSS, when you own the source part of the stream, is to use multicast. This way, you stream once from your encoder, and many DSS servers [...]]]></description>
			<content:encoded><![CDATA[<p>And here we go again with DSS !<br />
This time it&#8217;s not a real compilation problem and is not only Solaris related.</p>
<p>The best thing you can do with DSS, when you own the source part of the stream, is to use multicast. This way, you stream once from your encoder, and many DSS servers can access the stream and reflect it as unicast to your customers.</p>
<p>Once said, this sounds good and simple. In fact, not that simple if your DSS server is &laquo;&nbsp;multi homed&nbsp;&raquo;.</p>
<p>Multi homed is the way you say your server is using multiples IP on different networks, VLAN and/or NICs.</p>
<p>Our servers une MANY networks. One on the first NIC (nic 0) for admin tasks. NICs 1 and 2 are aggregated to have 2Gb bandwidth for data. On this Aggregated interface, we have many IP set on different networks and VLANs.</p>
<p>To cut the story short, the multicast stream comes on interface aggr543510 (vlan 543 on aggregated interface 510). Clients connect to admin NIC for test, and aggr536510 (vlan 536).</p>
<p>By default, DSS, when reflecting a multicast stream, bind any IP on the port supplied in  the SDP file and subscribe to the multicast stream. This is pretty usual, and any other application would do the same.<br />
The troubles comes when you are using multiple NICs. The bind is effectylevly done on * (any IP), but the multicast subscribe is done on <strong>ONLY ONE INTERFACE</strong> !</p>
<p>Let&#8217;s have a netstat -g (works on Solaris, on OS X, use netstat -a -i and try to find out the info on your own)</p>
<pre lang="bash"># netstat -g
Group Memberships: IPv4
Interface Group                RefCnt
--------- -------------------- ------
lo0       ALL-SYSTEMS.MCAST.NET      1
e1000g0   224.1.1.9                 1
e1000g0   ALL-SYSTEMS.MCAST.NET      1
e1000g34001:1 ALL-SYSTEMS.MCAST.NET      1
e1000g34001:2 ALL-SYSTEMS.MCAST.NET      1
e1000g36001:1 ALL-SYSTEMS.MCAST.NET      1
e1000g36001:2 ALL-SYSTEMS.MCAST.NET      1
e1000g244001 ALL-SYSTEMS.MCAST.NET      1
e1000g543001:1 ALL-SYSTEMS.MCAST.NET      1</pre>
<p>The important line is the one with &laquo;&nbsp;e1000g0   224.1.1.9 &laquo;&nbsp;. There you can see that Multicast Network 224.1.1.9 is subscribed on interface e1000g0.<br />
But e1000g0 is our admin interface !!!</p>
<p>So DSS will never see any data to reflect. And your client will be set to pause.</p>
<p>I Called Sun Support yesterday to have them comment about this. As I said, this is not really DSS related. It comed from the way the OS (every UNIX os ?) deals the multicast subscription. No news yet. I&#8217;m pretty I&#8217;ll be told that it is a normal behaviour.<br />
&#8230;</p>
<p>Once that said, what will I do to have DSS work on my architecture ? </p>
<p>The key lies in  CommonUtilitiesLib/UDPSocket.cpp<br />
YES, we are back again to C++ programming !</p>
<p>The original source code says : </p>
<pre lang="cpp">
OS_Error UDPSocket::JoinMulticast(UInt32 inRemoteAddr)
{
    struct ip_mreq  theMulti;
        UInt32 localAddr = fLocalAddr.sin_addr.s_addr; // Already in network byte order

#if __solaris__
    if( localAddr == htonl(INADDR_ANY) )
         localAddr = htonl(SocketUtils::GetIPAddr(0));
#endif

    theMulti.imr_multiaddr.s_addr = htonl(inRemoteAddr);
    theMulti.imr_interface.s_addr = localAddr;

    int err = setsockopt(fFileDesc, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char*)&#038;theMulti, sizeof(theMulti));
    //AssertV(err == 0, OSThread::GetErrno());
    if (err == -1)
         return (OS_Error)OSThread::GetErrno();
    else
         return OS_NoErr;
}
</pre>
<p>There you can see 2 things : </p>
<li>There is a special part for Solaris</li>
<li>The interface (the IP) to bind to and to subscribe is set here</li>
<p>As I already said I&#8217;m not C++ expert. I just changed the code so the IP to subscribe, defined in &laquo;&nbsp;localAddr&nbsp;&raquo;, is set to the IP I need to subscribe on : </p>
<pre lang="cpp">
OS_Error UDPSocket::JoinMulticast(UInt32 inRemoteAddr)
{
    struct ip_mreq  theMulti;
        UInt32 localAddr = fLocalAddr.sin_addr.s_addr; // Already in network byte order

/*
#if __solaris__
    if( localAddr == htonl(INADDR_ANY) )
         localAddr = htonl(SocketUtils::GetIPAddr(0));
#endif
*/

// Set by Prune - 20070712
    localAddr  = htonl(0x0a10f07b);

    theMulti.imr_multiaddr.s_addr = htonl(inRemoteAddr);
    theMulti.imr_interface.s_addr = localAddr;

// Set by Prune - 20070712
qtss_printf("Multicast local %x\n", localAddr);
qtss_printf("Multicast remote %x\n", htonl(inRemoteAddr));

    int err = setsockopt(fFileDesc, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char*)&#038;theMulti, sizeof(theMulti));
    //AssertV(err == 0, OSThread::GetErrno());
    if (err == -1)
         return (OS_Error)OSThread::GetErrno();
    else
         return OS_NoErr;
}
</pre>
<p>So the local IP is set to &laquo;&nbsp;localAddr  = htonl(0x0a10f07b);&nbsp;&raquo; where 0a10f07b is the hexa value of IP 10.16.240.123<br />
I also add some debug that you can see if you start DSS with the -d option.</p>
<p>Then everything is OK and you have the right interface subscribed : </p>
<pre lang="bash"># netstat -g
Group Memberships: IPv4
Interface Group                RefCnt
--------- -------------------- ------
lo0       ALL-SYSTEMS.MCAST.NET      1
e1000g0   ALL-SYSTEMS.MCAST.NET      1
e1000g34001:1 ALL-SYSTEMS.MCAST.NET      1
e1000g34001:2 ALL-SYSTEMS.MCAST.NET      1
e1000g36001:1 ALL-SYSTEMS.MCAST.NET      1
e1000g36001:2 ALL-SYSTEMS.MCAST.NET      1
e1000g244001 ALL-SYSTEMS.MCAST.NET      1
e1000g543001:1 224.1.1.9                 1
e1000g543001:1 ALL-SYSTEMS.MCAST.NET      1</pre>
<p>OK, I have to do it better, like getting the interface to bind from the config file. This was just a late night test <img src='http://www.lecentre.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>But what is the right way to do it ?<br />
The server (DSS process) can&#8217;t know what interface to subscribe to. Does it have to subscribe it on all interfaces ? This does not seem possible other than opening many sockets. So the server will then have to decide which one to use. tricky isn&#8217;t it ?</p>
<p>That is where I am actualy. No real good solution but a hack to have it working.<br />
Then, what will happen if one day I want another multicast stream coming from another network ? &#8230;<br />
Keep reading here as I&#8217;ll post any information I have if Sun or DSS mailing list answer me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lecentre.net/blog/archives/53/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Collecting infos of DSS in Cacti</title>
		<link>http://www.lecentre.net/blog/archives/46</link>
		<comments>http://www.lecentre.net/blog/archives/46#comments</comments>
		<pubDate>Tue, 10 Jul 2007 12:36:08 +0000</pubDate>
		<dc:creator>Prune</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.lecentre.net/blog/archives/46</guid>
		<description><![CDATA[I had some time yesteday to add DSS monitoring into Cacti SNMP Monitoring tool. I decided to break the data collection into 2 separate graphs : one for current number of connections and one for current server bandwidth. Of course you will add other host graph, like NIC bandwidth and CPU to get a real [...]]]></description>
			<content:encoded><![CDATA[<p>I had some time yesteday to add DSS monitoring into <a href="http://www.cacti.net/">Cacti</a> SNMP Monitoring tool.<br />
I decided to break the data collection into 2 separate graphs : one for current number of connections and one for current server bandwidth. Of course you will add other host graph, like NIC bandwidth and CPU to get a real view of your server&#8217;s health.<br />
So far, here is what you will have : </p>
<p><img src='http://www.lecentre.net/blog/wp-content/uploads/2007/07/cacti-dss-cnx.png' alt='Cacti DSS Connections' width=500px /><br />
<img src='http://www.lecentre.net/blog/wp-content/uploads/2007/07/cacti-dss-bwh.png' alt='Cacti DSS Bandwidth' width=500px/></p>
<p>When I have my whole architecture up and running I will go for data aggregation to get the full connections over all servers.</p>
<p>You will find 2 Cacti Graph Templates in the download section, with the 2 python scripts to collect data.<br />
The python scripts have to be copied in the cacti/scripts directory, while the XML files have to be imported using the &laquo;&nbsp;Import Template&nbsp;&raquo; link in the Cacti Console.</p>
<p>Bandwidth <a href="http://www.lecentre.net/blog/download/cacti_graph_template_dss_current_bandwidth_usage.xml">template</a> and <a href="http://www.lecentre.net/blog/download/dss-current-bandwidth.py">script</a><br />
Connection <a href="http://www.lecentre.net/blog/download/cacti_graph_template_dss_current_connection_count.xml">template</a> an <a href="http://www.lecentre.net/blog/download/dss-current-connections.py">script</a></p>
<p>For the python scripts to work, you will have to enable the &laquo;&nbsp;remote admin&nbsp;&raquo; in DSS. Change this in your streamingserver.xml file :<br />
- set LocalAccessOnly to false<br />
- add your IP&#8217;s in the IPAccessList<br />
- check enable_remote_admin is true, which is the default<br />
- use your admin user or add anoter one in the admin group using qtpasswd</p>
<pre lang="xml">
        <MODULE NAME="QTSSAdminModule" >
                <PREF NAME="IPAccessList" >10.16.248.10</PREF>
                <PREF NAME="Authenticate" TYPE="Bool16" >true</PREF>
                <PREF NAME="LocalAccessOnly" TYPE="Bool16" >false</PREF>
                <PREF NAME="RequestTimeIntervalMilli" TYPE="UInt32" >50</PREF>
                <PREF NAME="enable_remote_admin" TYPE="Bool16" >true</PREF>
                <PREF NAME="AdministratorGroup" >admin</PREF>
        </MODULE>
</pre>
<p>In this case your remote IP is 10.16.248.10<br />
You can define multiple IP&#8217;s like this : </p>
<pre lang="xml">
        <MODULE NAME="QTSSAdminModule" >
                <LIST-PREF NAME="IPAccessList" >
                        <VALUE>127.0.0.*</VALUE>
                        <VALUE>10.16.248.*</VALUE>
                </LIST-PREF>
                <PREF NAME="Authenticate" TYPE="Bool16" >true</PREF>
                <PREF NAME="LocalAccessOnly" TYPE="Bool16" >false</PREF>
                <PREF NAME="RequestTimeIntervalMilli" TYPE="UInt32" >50</PREF>
                <PREF NAME="enable_remote_admin" TYPE="Bool16" >true</PREF>
                <PREF NAME="AdministratorGroup" >admin</PREF>
        </MODULE>
</pre>
<p>I also provide a simple python script to get easily any DSS Admin URL : <a href="http://www.lecentre.net/blog/download/dss-query_url.py">dss-query_url.py</a></p>
<p>The usage is simple (but you may have to add python before it or change the python link in the first line of the script). You just need to provide the hostname, the port (554), the login of an admin account (the account you use to log in the HTML interface &#8211; the one you define at the install stage) and its password.<br />
The you can supply any URL. You will learn more about Admin URL in the &laquo;&nbsp;Documentation/admin-protocol-README.txt&nbsp;&raquo; file in the source tree.<br />
You will also find some usefull informations on each fields in the file &laquo;&nbsp;APIStubLib/QTSS.h&nbsp;&raquo;.</p>
<p>Let&#8217;s have an example : </p>
<pre lang="bash">python dss-query_url.py myhost.mydomain.com  554 admin password /modules/admin/server/*?command=get
Container="/admin/server/"
qtssServerAPIVersion="262144"
qtssSvrDefaultDNSName="0.0.0.0"
qtssSvrDefaultIPAddr="0"
qtssSvrServerName="DSS"
qtssRTSPSvrServerVersion="5.5.5"
qtssRTSPSvrServerBuildDate="Jul  6 2007, 16:35:39"
qtssSvrRTSPServerHeader="Server: DSS/5.5.5 (Build/489.16; Platform/Solaris; Release/Darwin; state/beta; )"
qtssSvrState="1"
qtssSvrIsOutOfDescriptors="false"
qtssRTSPCurrentSessionCount="127"
qtssRTSPHTTPCurrentSessionCount="0"
qtssRTPSvrNumUDPSockets="8"
qtssRTPSvrCurConn="126"
qtssRTPSvrTotalConn="256"
qtssRTPSvrCurBandwidth="5027784"
qtssRTPSvrTotalBytes="3809807612"
qtssRTPSvrAvgBandwidth="3247539"
qtssRTPSvrCurPackets="776"
qtssRTPSvrTotalPackets="10865424"
qtssSvrStartupTime="1183999975017"
qtssSvrGMTOffsetInHrs="-20629"
qtssSvrDefaultIPAddrStr="0.0.0.0"
qtssSvrCurrentTimeMilliseconds="1184070706181"
qtssSvrCPULoadPercent="23.004150"
qtssSvrNumReliableUDPBuffers="0"
qtssSvrReliableUDPWastageInBytes="0"
qtssMP3SvrCurConn="0"
qtssMP3SvrTotalConn="0"
qtssMP3SvrCurBandwidth="0"
qtssMP3SvrTotalBytes="0"
qtssMP3SvrAvgBandwidth="0"
qtssSvrServerBuild="489.16"
qtssSvrServerPlatform="Solaris"
qtssSvrRTSPServerComment="Release/Darwin; state/beta; "
qtssSvrNumThinned="113"
qtssSvrRTSPPorts/
qtssSvrHandledMethods/
qtssSvrModuleObjects/
qtssSvrPreferences/
qtssSvrMessages/
qtssSvrClientSessions/
qtssSvrConnectedUsers/
error:(0)</pre>
<p>Quoting the &laquo;&nbsp;APIStubLib/QTSS.h&nbsp;&raquo; file : </p>
<pre lang="cpp">
    // These parameters ARE pre-emptive safe.

    qtssServerAPIVersion            = 0,    //read  //UInt32            //The API version supported by this server (format 0xMMMMmmmm, where M=major version, m=minor version)
    qtssSvrDefaultDNSName           = 1,    //read  //char array        //The "default" DNS name of the server
    qtssSvrDefaultIPAddr            = 2,    //read  //UInt32            //The "default" IP address of the server
    qtssSvrServerName               = 3,    //read  //char array        //Name of the server
    qtssSvrServerVersion            = 4,    //read  //char array        //Version of the server
    qtssSvrServerBuildDate          = 5,    //read  //char array        //When was the server built?
    qtssSvrRTSPPorts                = 6,    //read  // NOT PREEMPTIVE SAFE!//UInt16         //Indexed parameter: all the ports the server is listening on
    qtssSvrRTSPServerHeader         = 7,    //read  //char array        //Server: header that the server uses to respond to RTSP clients

    // These parameters are NOT pre-emptive safe, they cannot be accessed
    // via. QTSS_GetValuePtr. Some exceptions noted below

    qtssSvrState                    = 8,    //r/w   //QTSS_ServerState  //The current state of the server. If a module sets the server state, the server will respond in the appropriate fashion. Setting to qtssRefusingCon
nectionsState causes the server to refuse connections, setting to qtssFatalErrorState or qtssShuttingDownState causes the server to quit.
    qtssSvrIsOutOfDescriptors       = 9,    //read  //Bool16            //true if the server has run out of file descriptors, false otherwise
    qtssRTSPCurrentSessionCount     = 10,   //read  //UInt32            //Current number of connected clients over standard RTSP
    qtssRTSPHTTPCurrentSessionCount = 11,   //read  //UInt32            //Current number of connected clients over RTSP / HTTP

    qtssRTPSvrNumUDPSockets         = 12,   //read      //UInt32    //Number of UDP sockets currently being used by the server
    qtssRTPSvrCurConn               = 13,   //read      //UInt32    //Number of clients currently connected to the server
    qtssRTPSvrTotalConn             = 14,   //read      //UInt32    //Total number of clients since startup
    qtssRTPSvrCurBandwidth          = 15,   //read      //UInt32    //Current bandwidth being output by the server in bits per second
    qtssRTPSvrTotalBytes            = 16,   //read      //UInt64    //Total number of bytes served since startup
    qtssRTPSvrAvgBandwidth          = 17,   //read      //UInt32    //Average bandwidth being output by the server in bits per second
    qtssRTPSvrCurPackets            = 18,   //read      //UInt32    //Current packets per second being output by the server
    qtssRTPSvrTotalPackets          = 19,   //read      //UInt64    //Total number of bytes served since startup

    qtssSvrHandledMethods           = 20,   //r/w       //QTSS_RTSPMethod   //The methods that the server supports. Modules should append the methods they support to this attribute in their QTSS_Initialize_Role.
    qtssSvrModuleObjects            = 21,   //read  // this IS PREMPTIVE SAFE!  //QTSS_ModuleObject // A module object representing each module
    qtssSvrStartupTime              = 22,   //read      //QTSS_TimeVal  //Time the server started up
    qtssSvrGMTOffsetInHrs           = 23,   //read      //SInt32        //Server time zone (offset from GMT in hours)
    qtssSvrDefaultIPAddrStr         = 24,   //read      //char array    //The "default" IP address of the server as a string

    qtssSvrPreferences              = 25,   //read      //QTSS_PrefsObject  // An object representing each the server's preferences
    qtssSvrMessages                 = 26,   //read      //QTSS_Object   // An object containing the server's error messages.
    qtssSvrClientSessions           = 27,   //read      //QTSS_Object // An object containing all client sessions stored as indexed QTSS_ClientSessionObject(s).
    qtssSvrCurrentTimeMilliseconds  = 28,   //read      //QTSS_TimeVal  //Server's current time in milliseconds. Retrieving this attribute is equivalent to calling QTSS_Milliseconds
    qtssSvrCPULoadPercent           = 29,   //read      //Float32       //Current % CPU being used by the server

    qtssSvrNumReliableUDPBuffers    = 30,   //read      //UInt32    //Number of buffers currently allocated for UDP retransmits
    qtssSvrReliableUDPWastageInBytes= 31,   //read      //UInt32    //Amount of data in the reliable UDP buffers being wasted
    qtssSvrConnectedUsers           = 32,   //r/w       //QTSS_Object   //List of connected user sessions (updated by modules for their sessions)

    qtssMP3SvrCurConn               = 33,   //r/w       //UInt32    //Number of MP3 client sessions connected
    qtssMP3SvrTotalConn             = 34,   //r/w       //UInt32    //Total number of MP3  clients since startup
    qtssMP3SvrCurBandwidth          = 35,   //r/w       //UInt32    //Current MP3 bandwidth being output by the server in bits per second
    qtssMP3SvrTotalBytes            = 36,   //r/w       //UInt64    //Total number of MP3 bytes served since startup
    qtssMP3SvrAvgBandwidth          = 37,   //r/w       //UInt32    //Average MP3 bandwidth being output by the server in bits per second

    qtssSvrServerBuild              = 38,   //read      //char array //build of the server
    qtssSvrServerPlatform           = 39,   //read      //char array //Platform (OS) of the server
    qtssSvrRTSPServerComment        = 40,   //read      //char array //RTSP comment for the server header
    qtssSvrNumThinned               = 41,    //r/w      //SInt32    //Number of thinned sessions
    qtssSvrNumParams                = 42
};
</pre>
<p><strong>[UPDATE]</strong></p>
<p>There is a problem inside my template, where the max value of the bandwidth is too low.<br />
If you have already created some graphs, you can use the rrdtool to change this : </p>
<pre lang="bash">
/opt/monitor/rrdtool-1.2.12/bin/rrdtool tune   /opt/monitor/apache/htdocs/cacti/rra/cygnusadm_qtssrtpsvrbandwidth_1187.rrd --maximum  "qtssRTPSvrBandwidth:1e+12"
/opt/monitor/rrdtool-1.2.12/bin/rrdtool tune   /opt/monitor/apache/htdocs/cacti/rra/cygnusadm_qtssrtpsvrbandwidth_1187.rrd --maximum  "qtssMP3SvrBandwidth:1e+12"
</pre>
<p>10e+12 may be a bit high, but you won&#8217;t get any problem even with a loaded server <img src='http://www.lecentre.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>If you haven&#8217;t created any graphs yet, change the <strong>Cacti Data Template</strong> for <strong>DSS &#8211; Current Bandwidth</strong>.<br />
For each <em>Data Source Item</em>, change the <em>Maximum Value</em> to 100000000000 like this :<br />
<a href='http://www.lecentre.net/blog/wp-content/uploads/2007/07/cacti-datatpl.png' title='cacti data template'><img src='http://www.lecentre.net/blog/wp-content/uploads/2007/07/cacti-datatpl.png' width=500px alt='cacti data template' /></a></p>
<p>If you haven&#8217;t imported the template yet, download it again, I changed it today (20070711)</p>
<p>Please excuse me for the mistake.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lecentre.net/blog/archives/46/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Having DSS compiles on Solaris 10 [part 5]</title>
		<link>http://www.lecentre.net/blog/archives/39</link>
		<comments>http://www.lecentre.net/blog/archives/39#comments</comments>
		<pubDate>Fri, 06 Jul 2007 15:12:23 +0000</pubDate>
		<dc:creator>Prune</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Solaris]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.lecentre.net/blog/archives/39</guid>
		<description><![CDATA[This should be the last part In fact, it is not the call to OS::GetNumProcessors() in Server.tproj/RunServer.cpp which is causing the problem. This call is done only once. It&#8217;s the one in Server.tproj/QTSServerInterface.cpp. In fact this part of the code is run every second for server statistics, leading to a problem with the slow unix [...]]]></description>
			<content:encoded><![CDATA[<p>This should be the last part <img src='http://www.lecentre.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>In fact, it is not the call to  OS::GetNumProcessors() in  Server.tproj/RunServer.cpp which is causing the problem. This call is done only once.</p>
<p>It&#8217;s the one in  Server.tproj/QTSServerInterface.cpp.<br />
In fact this part of the code is run every second for server statistics, leading to a problem with the slow unix command &#8216;uname -X&#8217; and parsing of the output.</p>
<p>The best solution would be that the number of CPU is cached somewhere, so the server does not have to get it each time it have to divide the CPU usage !<br />
 <img src='http://www.lecentre.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>One solution, as I said earlier, is to change this function to use something better than a unix command.<br />
The other solution is to have the number of CPU cached.<br />
The last solution is to remove the call to this function in Server.tproj/QTSServerInterface.cpp</p>
<p>If you do that you may end with a CPU load over 100%. But your server will not crash at 200 streams <img src='http://www.lecentre.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I filled a bug at Apple and I hope it will be taken into account :<br />
5316778<br />
DSS crash on Solaris 10 after 200 streams</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lecentre.net/blog/archives/39/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Un logiciel de son opensource pour OS X</title>
		<link>http://www.lecentre.net/blog/archives/33</link>
		<comments>http://www.lecentre.net/blog/archives/33#comments</comments>
		<pubDate>Wed, 04 Jul 2007 19:45:18 +0000</pubDate>
		<dc:creator>Prune</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Music]]></category>

		<guid isPermaLink="false">http://www.lecentre.net/blog/archives/33</guid>
		<description><![CDATA[Ca s&#8217;appel Ardour et ca tourne sur osX, en universal binary. Pour le moment il faut installer Jack et l&#8217;interface est en X11. Ca semble puissant, je vais installer ca a la maison pour tester.]]></description>
			<content:encoded><![CDATA[<p>Ca s&#8217;appel <a href="http://ardour.org/">Ardour</a> et ca tourne sur osX, en universal binary. Pour le moment il faut installer Jack et l&#8217;interface est en X11. Ca semble puissant, je vais installer ca a la maison pour tester.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lecentre.net/blog/archives/33/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comparaison de codecs sur du HDV</title>
		<link>http://www.lecentre.net/blog/archives/18</link>
		<comments>http://www.lecentre.net/blog/archives/18#comments</comments>
		<pubDate>Wed, 13 Jun 2007 11:31:04 +0000</pubDate>
		<dc:creator>Prune</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.lecentre.net/blog/archives/18</guid>
		<description><![CDATA[J&#8217;ai fait un petit test avec la camera HDV d&#8217;un ami, une Sony FX1. J&#8217;ai ensuite fait 2 imports dans FinalCut Pro 6 : un import en HDV et un import en Apple Intermediate Codec. Vu que le format HDV n&#8217;est pas fait pour l&#8217;édition, et qu&#8217;Apple nous donne leur nouveau codec prores 422 gratuitement [...]]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai fait un petit test avec la camera HDV d&#8217;un ami, une Sony FX1.<br />
J&#8217;ai ensuite fait 2 imports dans FinalCut Pro 6 : un import en HDV et un import en Apple Intermediate Codec. </p>
<p>Vu que le format HDV n&#8217;est pas fait pour l&#8217;édition, et qu&#8217;Apple nous donne leur nouveau codec prores 422 gratuitement avec la suite FCS, j&#8217;ai fait 2 tests de re-encodage.<br />
En partant du fichier HDV, j&#8217;ai fait une recompression en Prores 140&#215;1080 et une en 1920&#215;1080 en 50i.<br />
Et voilà le résultat (dans l&#8217;ordre  : HDV, AIC, Prores 140&#215;1080 et 1920&#215;1080) : </p>
<p><a href='http://www.lecentre.net/blog/wp-content/uploads/2007/06/test-codec.png' title='test codec 1'><img src='http://www.lecentre.net/blog/wp-content/uploads/2007/06/test-codec.thumbnail.png' alt='test codec 1' /></a><br />
<a href='http://www.lecentre.net/blog/wp-content/uploads/2007/06/test-codec2.png' title='test codec 2'><img src='http://www.lecentre.net/blog/wp-content/uploads/2007/06/test-codec2.thumbnail.png' alt='test codec 2' /></a></p>
<p>Ce que l&#8217;on remarque :<br />
- le fichier HDV de base est plus sombre que les autres. Peut-être un changement de gamma ou d&#8217;espace colorimétrique (passage de YPrPb en RVB ?)<br />
- le fichier AIC semble un peu plus flou<br />
- le prores 1920&#215;1080 semble un peu flou lui aussi -> il subit un changement de résolution, qui peut être cause le problème.</p>
<p>La question : si j&#8217;envoie le projet dans Color, le clips ont tous un problème d&#8217;entrelacement, sauf le prores 1920&#215;1080. Pourquoi ?<br />
2eme question : Dans color, le clip prores 1440&#215;1080 est &laquo;&nbsp;stretch&nbsp;&raquo;. Il est moins large ! Color aurait il un problème avec les fichiers dont la taille des pixels n&#8217;est pas carrée ?<br />
&#8230;.</p>
<p>Je rajouterais des images de Color et du problème d&#8217;entrelacement de Motion plus tard.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lecentre.net/blog/archives/18/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>en attendant l&#8217;iphone&#8230;</title>
		<link>http://www.lecentre.net/blog/archives/16</link>
		<comments>http://www.lecentre.net/blog/archives/16#comments</comments>
		<pubDate>Tue, 12 Jun 2007 19:12:38 +0000</pubDate>
		<dc:creator>Prune</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://www.lecentre.net/blog/archives/16</guid>
		<description><![CDATA[fabiquez le votre en carton ici grace a ce PDF.]]></description>
			<content:encoded><![CDATA[<p>fabiquez le votre en carton <a href="http://www.iphonecountdown.com/index.html">ici</a> grace a ce PDF.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lecentre.net/blog/archives/16/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

