<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Lazyweb question: Python video manipulation libraries?</title>
	<atom:link href="http://jessenoller.com/2008/05/06/lazyweb-question-python-video-manipulation-libraries/feed/" rel="self" type="application/rss+xml" />
	<link>http://jessenoller.com/2008/05/06/lazyweb-question-python-video-manipulation-libraries/</link>
	<description>python, programming and other things</description>
	<lastBuildDate>Thu, 11 Feb 2010 00:42:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Alberto Ruiz</title>
		<link>http://jessenoller.com/2008/05/06/lazyweb-question-python-video-manipulation-libraries/comment-page-1/#comment-139143</link>
		<dc:creator>Alberto Ruiz</dc:creator>
		<pubDate>Thu, 08 May 2008 00:09:28 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/2008/05/06/lazyweb-question-python-video-manipulation-libraries/#comment-139143</guid>
		<description>Try the GStreamer python bindings. GStreamer is a cross platform full featured media framework based on GLib and GObject (the Gtk+ object framework) and it has a high quality binding set.</description>
		<content:encoded><![CDATA[<p>Try the GStreamer python bindings. GStreamer is a cross platform full featured media framework based on GLib and GObject (the Gtk+ object framework) and it has a high quality binding set.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alberto Ruiz</title>
		<link>http://jessenoller.com/2008/05/06/lazyweb-question-python-video-manipulation-libraries/comment-page-1/#comment-61992</link>
		<dc:creator>Alberto Ruiz</dc:creator>
		<pubDate>Wed, 07 May 2008 20:09:28 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/2008/05/06/lazyweb-question-python-video-manipulation-libraries/#comment-61992</guid>
		<description>Try the GStreamer python bindings. GStreamer is a cross platform full featured media framework based on GLib and GObject (the Gtk+ object framework) and it has a high quality binding set.</description>
		<content:encoded><![CDATA[<p>Try the GStreamer python bindings. GStreamer is a cross platform full featured media framework based on GLib and GObject (the Gtk+ object framework) and it has a high quality binding set.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rossj</title>
		<link>http://jessenoller.com/2008/05/06/lazyweb-question-python-video-manipulation-libraries/comment-page-1/#comment-61991</link>
		<dc:creator>rossj</dc:creator>
		<pubDate>Wed, 07 May 2008 15:41:21 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/2008/05/06/lazyweb-question-python-video-manipulation-libraries/#comment-61991</guid>
		<description>Or you could wait for this - &lt;a href=&quot;http://www.freenet.org.nz/dvedit/&quot; rel=&quot;nofollow&quot;&gt;http://www.freenet.org.nz/dvedit/&lt;/a&gt;  Looks impressive but only at 0.2&lt;br&gt;&lt;br&gt;The sample usage looks nice - &lt;br&gt;&lt;br&gt;clip = File(&quot;myrawclip.vob&quot;)&lt;br&gt;  part1 = clip[:1125] # first 45 secs (1125 frames @ 25fps)&lt;br&gt;  part2 = clip[3250:3750] # 20 secs, starting at 2mins10&lt;br&gt;&lt;br&gt;  # create the composite clip which is a 5-second transition (125 frames)&lt;br&gt;  result = CrossfadeTransition(part1, part2, 125)</description>
		<content:encoded><![CDATA[<p>Or you could wait for this &#8211; <a href="http://www.freenet.org.nz/dvedit/" rel="nofollow">http://www.freenet.org.nz/dvedit/</a>  Looks impressive but only at 0.2</p>
<p>The sample usage looks nice &#8211; </p>
<p>clip = File(&#8220;myrawclip.vob&#8221;)<br />  part1 = clip[:1125] # first 45 secs (1125 frames @ 25fps)<br />  part2 = clip[3250:3750] # 20 secs, starting at 2mins10</p>
<p>  # create the composite clip which is a 5-second transition (125 frames)<br />  result = CrossfadeTransition(part1, part2, 125)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jnoller</title>
		<link>http://jessenoller.com/2008/05/06/lazyweb-question-python-video-manipulation-libraries/comment-page-1/#comment-61990</link>
		<dc:creator>jnoller</dc:creator>
		<pubDate>Wed, 07 May 2008 13:11:05 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/2008/05/06/lazyweb-question-python-video-manipulation-libraries/#comment-61990</guid>
		<description>I&#039;m going to try out pyglet as soon as I find a decent copy of every internet meme video on youtube for the last 12 months ;)</description>
		<content:encoded><![CDATA[<p>I&#39;m going to try out pyglet as soon as I find a decent copy of every internet meme video on youtube for the last 12 months ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul Boddie</title>
		<link>http://jessenoller.com/2008/05/06/lazyweb-question-python-video-manipulation-libraries/comment-page-1/#comment-61988</link>
		<dc:creator>Paul Boddie</dc:creator>
		<pubDate>Wed, 07 May 2008 12:04:28 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/2008/05/06/lazyweb-question-python-video-manipulation-libraries/#comment-61988</guid>
		<description>Yes, but that&#039;s because the comment was badly wrapped. ;-)&lt;br&gt;&lt;br&gt;I guess it seems a bit arcane, and I struggled for a while until I found someone&#039;s comment on some forum about converting both the sound and the images at the same time (which was the really tricky bit), but I think that it&#039;s potent stuff: a few UNIX-like operations connected up and you&#039;ve got a complete conversion pipeline that can crunch videos in batch mode without having to mess around in some video editing suite.&lt;br&gt;&lt;br&gt;And I have to say that it&#039;s probably the first video-related software I&#039;ve ever used that actually worked out of the box without bizarre library dependency issues or nasty output artifacts. Hats off to the GStreamer people, I say! :-)</description>
		<content:encoded><![CDATA[<p>Yes, but that&#39;s because the comment was badly wrapped. ;-)</p>
<p>I guess it seems a bit arcane, and I struggled for a while until I found someone&#39;s comment on some forum about converting both the sound and the images at the same time (which was the really tricky bit), but I think that it&#39;s potent stuff: a few UNIX-like operations connected up and you&#39;ve got a complete conversion pipeline that can crunch videos in batch mode without having to mess around in some video editing suite.</p>
<p>And I have to say that it&#39;s probably the first video-related software I&#39;ve ever used that actually worked out of the box without bizarre library dependency issues or nasty output artifacts. Hats off to the GStreamer people, I say! :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ross</title>
		<link>http://jessenoller.com/2008/05/06/lazyweb-question-python-video-manipulation-libraries/comment-page-1/#comment-61989</link>
		<dc:creator>Ross</dc:creator>
		<pubDate>Wed, 07 May 2008 09:34:05 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/2008/05/06/lazyweb-question-python-video-manipulation-libraries/#comment-61989</guid>
		<description>You probably want Pyglet 1.1 and the pyglet.media.StreamingSource&#039;s get_next_video_frame() might help you out, but I&#039;ve no idea about the audio - sorry.</description>
		<content:encoded><![CDATA[<p>You probably want Pyglet 1.1 and the pyglet.media.StreamingSource&#39;s get_next_video_frame() might help you out, but I&#39;ve no idea about the audio &#8211; sorry.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jnoller</title>
		<link>http://jessenoller.com/2008/05/06/lazyweb-question-python-video-manipulation-libraries/comment-page-1/#comment-61987</link>
		<dc:creator>jnoller</dc:creator>
		<pubDate>Wed, 07 May 2008 00:29:24 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/2008/05/06/lazyweb-question-python-video-manipulation-libraries/#comment-61987</guid>
		<description>That command line makes my eyes bleed.</description>
		<content:encoded><![CDATA[<p>That command line makes my eyes bleed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul Boddie</title>
		<link>http://jessenoller.com/2008/05/06/lazyweb-question-python-video-manipulation-libraries/comment-page-1/#comment-61986</link>
		<dc:creator>Paul Boddie</dc:creator>
		<pubDate>Wed, 07 May 2008 00:15:55 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/2008/05/06/lazyweb-question-python-video-manipulation-libraries/#comment-61986</guid>
		<description>Only this last weekend did I confront the issue of processing some video files from my camera where the shot was &quot;portrait&quot; as opposed to the &quot;landscape&quot; orientation of the output file produced by the camera. Despite various references to MPlayer&#039;s mencoder, the easiest solution proved to be GStreamer once the right syntax had been digested for the command line tools provided for that software, but there are Python bindings, too.&lt;br&gt;&lt;br&gt;What I ended up doing was setting up decoding from AVI, demultiplexing the audio and video, rotating the video, and converting the audio into Ogg Vorbis and the video into Ogg Theora, before multiplexing both streams together and producing a .ogg file. And it was a one-liner! More details of GStreamer here:&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.gstreamer.net/&quot; rel=&quot;nofollow&quot;&gt;http://www.gstreamer.net/&lt;/a&gt;&lt;br&gt;&lt;br&gt;It&#039;s available in Debian/Ubuntu, although you need gstreamer-tools for the magic gst-launch and gst-inspect commands. Here&#039;s the command I used:&lt;br&gt;&lt;br&gt;gst-launch filesrc location=$1 ! decodebin name=decode &lt;br&gt;  decode. ! queue ! videoflip method=clockwise ! ffmpegcolorspace ! theoraenc ! oggmux name=mux ! filesink location=$2 &lt;br&gt;  decode. ! queue ! audioconvert ! vorbisenc ! queue ! mux.&lt;br&gt;&lt;br&gt;Easy when you know how! ;-)</description>
		<content:encoded><![CDATA[<p>Only this last weekend did I confront the issue of processing some video files from my camera where the shot was &#8220;portrait&#8221; as opposed to the &#8220;landscape&#8221; orientation of the output file produced by the camera. Despite various references to MPlayer&#39;s mencoder, the easiest solution proved to be GStreamer once the right syntax had been digested for the command line tools provided for that software, but there are Python bindings, too.</p>
<p>What I ended up doing was setting up decoding from AVI, demultiplexing the audio and video, rotating the video, and converting the audio into Ogg Vorbis and the video into Ogg Theora, before multiplexing both streams together and producing a .ogg file. And it was a one-liner! More details of GStreamer here:</p>
<p><a href="http://www.gstreamer.net/" rel="nofollow">http://www.gstreamer.net/</a></p>
<p>It&#39;s available in Debian/Ubuntu, although you need gstreamer-tools for the magic gst-launch and gst-inspect commands. Here&#39;s the command I used:</p>
<p>gst-launch filesrc location=$1 ! decodebin name=decode <br />  decode. ! queue ! videoflip method=clockwise ! ffmpegcolorspace ! theoraenc ! oggmux name=mux ! filesink location=$2 <br />  decode. ! queue ! audioconvert ! vorbisenc ! queue ! mux.</p>
<p>Easy when you know how! ;-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jnoller</title>
		<link>http://jessenoller.com/2008/05/06/lazyweb-question-python-video-manipulation-libraries/comment-page-1/#comment-61985</link>
		<dc:creator>jnoller</dc:creator>
		<pubDate>Tue, 06 May 2008 18:59:36 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/2008/05/06/lazyweb-question-python-video-manipulation-libraries/#comment-61985</guid>
		<description>Thanks!</description>
		<content:encoded><![CDATA[<p>Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: shredwheat</title>
		<link>http://jessenoller.com/2008/05/06/lazyweb-question-python-video-manipulation-libraries/comment-page-1/#comment-61984</link>
		<dc:creator>shredwheat</dc:creator>
		<pubDate>Tue, 06 May 2008 18:53:05 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/2008/05/06/lazyweb-question-python-video-manipulation-libraries/#comment-61984</guid>
		<description>I&#039;d check out the following (in order).&lt;br&gt;1. pyglet, &lt;a href=&quot;http://www.pyglet.org&quot; rel=&quot;nofollow&quot;&gt;http://www.pyglet.org&lt;/a&gt;&lt;br&gt;2. pyqt4.4 and it&#039;s support for phonon (release eminent)&lt;br&gt;3. python gstreamer</description>
		<content:encoded><![CDATA[<p>I&#39;d check out the following (in order).<br />1. pyglet, <a href="http://www.pyglet.org" rel="nofollow">http://www.pyglet.org</a><br />2. pyqt4.4 and it&#39;s support for phonon (release eminent)<br />3. python gstreamer</p>
]]></content:encoded>
	</item>
</channel>
</rss>
