<?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>Die Welt ist gar nicht so. &#187; ogg</title>
	<atom:link href="http://blog.dieweltistgarnichtso.net/tag/ogg/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.dieweltistgarnichtso.net</link>
	<description>Sie ist ganz anders.</description>
	<lastBuildDate>Mon, 23 Sep 2013 15:41:20 +0000</lastBuildDate>
	<language>de-DE</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.0.35</generator>
	<item>
		<title>Ogg Opus richtig verwenden im HTML-Audio-Element</title>
		<link>http://blog.dieweltistgarnichtso.net/ogg-opus-richtig-verwenden-im-html-audio-element</link>
		<comments>http://blog.dieweltistgarnichtso.net/ogg-opus-richtig-verwenden-im-html-audio-element#comments</comments>
		<pubDate>Sun, 07 Oct 2012 19:09:19 +0000</pubDate>
		<dc:creator><![CDATA[erlehmann]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[alternativlos]]></category>
		<category><![CDATA[fefe]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ogg]]></category>
		<category><![CDATA[opus]]></category>
		<category><![CDATA[vorbis]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=5473</guid>
		<description><![CDATA[Lacher des Tages: Den Podcast Alternativlos gibt es jetzt auch im Audioformat Opus und Fefe erzählt dazu Folgendes: Die Browser-Integration funktioniert im Moment nur in Firefox 15 und neuer, und die Selektion innerhalb des Audio-Tags funktioniert nicht, und außerdem haben &#8230; <a href="http://blog.dieweltistgarnichtso.net/ogg-opus-richtig-verwenden-im-html-audio-element">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>
Lacher des Tages: Den Podcast <a href="http://www.alternativlos.org/"><i>Alternativlos</i></a> gibt es jetzt auch im Audioformat <a href="http://de.wikipedia.org/wiki/Opus_(Audioformat)"><i>Opus</i></a> und <a href="http://blog.fefe.de/?ts=ae8e92f9"><i>Fefe</i> erzählt dazu Folgendes</a>:
</p>
<blockquote cite="http://blog.fefe.de/?ts=ae8e92f9">
<p>
Die Browser-Integration funktioniert im Moment nur in Firefox 15 und neuer, und die Selektion innerhalb des Audio-Tags funktioniert nicht, und außerdem haben auch noch Ogg Vorbis und Ogg Opus den gleichen MIME-Type, daher sah ich mich gezwungen, eine stinkende Javascript-Browserweiche für Firefox 15 einzubauen.
</p>
</blockquote>
<p>
Da hat wohl jemand <del>das Memo</del> <ins>die Doku</ins> nicht gelesen! <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#attr-source-type">Laut <abbr title="Hypertext Markup Language">HTML</abbr>-Standard</a> und <a href="http://tools.ietf.org/html/rfc4281"><abbr title="Request For Comments">RFC</abbr> 4281</a> kann man hier nämlich durchaus unterscheiden – in diesem Fall gehört ins <code>type</code>-Attribut der <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#the-source-element"><code>&lt;source&gt;</code>-Elemente</a> <code>audio/ogg; codecs=vorbis</code> (<a href="http://tools.ietf.org/html/rfc5334#page-4"><abbr title="Request For Comments">RFC</abbr> 5334</a>) oder <code>audio/ogg; codecs=opus</code> (<a href="http://tools.ietf.org/html/draft-terriberry-oggopus-01#section-8"><i>Opus</i>-<abbr title="Internet Engineering Task Force">IETF</abbr>-Draft</a>). <strong><a href="http://daten.dieweltistgarnichtso.net/src/audio-element-test/">Hier ist die Demo.</a></strong>
</p>
<span id="more-5473"></span>
<ins datetime="2012-10-08T09:39:39+00:00">
<p>
Nur fürs Protokoll, so geht das:
</p>
<code>&lt;audio&gt;
    &lt;source src=opus.opus type="audio/ogg; codecs=opus"&gt;
    &lt;source src=vorbis.oga type="audio/ogg; codecs=vorbis"&gt;
    &lt;source src=mp3.mp3 type="audio/mpeg"&gt;
&lt;/audio&gt;
</code>
</ins>
<p>
Bei <a href="http://alternativlos.org/27/"><i>Alternativlos</i> 27</a> sieht das übrigens so aus:
</p>
<blockquote cite="http://alternativlos.org/27/">
<code>&lt;script&gt;
var codec="ogg"
if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent) &#038;&#038; RegExp.$1&gt;=15)
  codec="opus"
&lt;/script&gt;

&lt;audio controls preload=none style="padding-top:70px"&gt;
&lt;script&gt;
  document.write('&lt;source src="http://alternativlos.cdn.as250.net/alternativlos-27.',codec,'" type="audio/ogg"&gt;')
&lt;/script&gt;
&lt;noscript&gt;
  &lt;source src="http://alternativlos.cdn.as250.net/alternativlos-27.ogg" type="audio/ogg"&gt;
&lt;/noscript&gt;
  &lt;source src="http://alternativlos.cdn.as250.net/alternativlos-27.mp3" type="audio/mp3"&gt;
  [Browser zu antik]
&lt;/audio&gt;</code>
</blockquote>
<ins datetime="2012-10-08T09:39:39+00:00">
<p>
Warum das schlecht ist, liegt vor Allem an der <a href="http://de.wikipedia.org/wiki/Browserweiche">Browserweiche</a>: <i>Firefox</i> 15 ist nicht der einzige Browser mit <i>Opus</i>-Unterstützung, <a href="http://tech.velmont.net/supporting-audio-codec-opus-in-opera-12/"><i>Opera</i> 12 kann das auch</a>; wegen <a href="http://zipmeme.com/meme/86317/">solcher Fälle</a> sollte man Daten <a href="http://www.teialehrbuch.de/Kostenlose-Kurse/HTML/3262-Deklaratives-Markup.html">deklarativ</a> abliefern. Nebenbei: Für die Ermittlung unterstützter Formate existiert <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-navigator-canplaytype"><code>canPlayType()</code></a>.
</p>
</ins>
<p>
Mit den <a href="http://en.wikiquote.org/wiki/Jamie_Zawinski#Attributed">Worten von <i>Jamie Zawinski</i></a>:
</p>
<blockquote cite="http://en.wikiquote.org/wiki/Jamie_Zawinski#Attributed">
<p>
Some people, when confronted with a problem, think &#8220;I know, I&#8217;ll use regular expressions.&#8221; Now they have two problems. 
</p>
</blockquote>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/ogg-opus-richtig-verwenden-im-html-audio-element/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
<enclosure url="http://alternativlos.cdn.as250.net/alternativlos-27.ogg" length="59730046" type="audio/ogg" />
<enclosure url="http://alternativlos.cdn.as250.net/alternativlos-27.mp3" length="112305435" type="audio/mpeg" />
		</item>
		<item>
		<title>Mehrfachvideo mit Gstreamer</title>
		<link>http://blog.dieweltistgarnichtso.net/mehrfachvideo-mit-gstreamer</link>
		<comments>http://blog.dieweltistgarnichtso.net/mehrfachvideo-mit-gstreamer#comments</comments>
		<pubDate>Fri, 12 Mar 2010 14:01:04 +0000</pubDate>
		<dc:creator><![CDATA[erlehmann]]></dc:creator>
				<category><![CDATA[Bastelei]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[gstreamer]]></category>
		<category><![CDATA[mplayer]]></category>
		<category><![CDATA[ogg]]></category>
		<category><![CDATA[theora]]></category>
		<category><![CDATA[totem]]></category>
		<category><![CDATA[vlc]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=1915</guid>
		<description><![CDATA[Der wetter meinte neulich, es könnte doch ganz nützlich sein, mehrere Videostreams in einem Container zu verkapseln; auf diese Weise wäre es etwa bei Vorträgen möglich, eine Ansicht mit Folien und eine weitere mit den Dozenten zu haben. Glücklicherweise geht &#8230; <a href="http://blog.dieweltistgarnichtso.net/mehrfachvideo-mit-gstreamer">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>
Der <a href="http://twitter.com/wetterfrosch"><i>wetter</i></a> meinte neulich, es könnte doch ganz nützlich sein, mehrere Videostreams in einem Container zu verkapseln; auf diese Weise wäre es etwa bei Vorträgen möglich, eine Ansicht mit Folien und eine weitere mit den Dozenten zu haben. Glücklicherweise geht das tatsächlich.
</p>
<p>
Um ein derartiges Video zu erhalten, habe ich zunächst mit <a href="http://www.gstreamer.net/"><i>Gstreamer</i></a> ein Testbildvideo produziert (<a href="http://noraisin.net/~jan/diary/?p=40">dieser Blogeintrag</a> war sehr hilfreich) und dieses dann mit Hilfe der <a href="http://www.xiph.org/oggz/"><i>oggz-tools</i></a> auf 20 Sekunden geschnitten und mit einem von mir vorher aufgenommenen Video zu einem zweispurigen Video (<del datetime="2010-03-12T16:52:50+00:00"><a href="http://daten.dieweltistgarnichtso.net/video/testbild-stereo.ogv">Download</a></del>) gemixt:
</p>
<p>
<kbd>gst-launch-0.10 videotestsrc ! video/x-raw-yuv,width=640,height=480 ! ffmpegcolorspace ! theoraenc bitrate=500 ! oggmux ! filesink location=testbild.ogv
^C
oggz-chop -o testbild-20s.ogv -e 20 testbild.ogv
oggz-merge -o testbild-stereo.ogv MD000410.ogv testbild-20s.ogv</kbd>
</p>
<p>
Schneller kann man ein eigenes Video mit zwei Testbildern mit folgendem Pipelinemonster erstellen:
</p>
<kbd>gst-launch-0.10 videotestsrc <ins datetime="2010-03-12T17:09:58+00:00">pattern=circular</ins> ! queue ! videorate ! video/x-raw-rgb,rate=15/1 ! ffmpegcolorspace ! theoraenc ! oggmux name=mux ! filesink location=testbild2.ogv videotestsrc ! queue ! videorate ! video/x-raw-rgb,rate=15/1 ! ffmpegcolorspace ! theoraenc ! mux.
^C</kbd>
<p>
Testweise abspielen kann man dieses dann wiederum mit:
</p>
<kbd>gst-launch-0.10 filesrc location=testbild2.ogv ! decodebin name=d ! queue ! xvimagesink d. ! queue ! xvimagesink</kbd>
<p>
Ein praktisches Problem derartiger Dateien ist die Behandlung der Videostreams durch gewöhnliche Abspielsoftware, die im Allgemeinen davon ausgeht, dass verschiedene Streams gleichen Typs nicht gleichzeitig abgespielt werden sollen: Nur <a href="http://videolan.org"><i><abbr title="Videolan Client">VLC</abbr> media player</i></a> öffnet für jeden Videostream ein weiteres Fenster, während <a href="http://www.gnome.org/projects/totem/"><i>Totem</i></a>, <a href="http://www.mplayerhq.hu/design7/info.html"><i>mplayer</i></a> und Webbrowser mit Unterstützung für das <code>&lt;video/&gt;</code>-Element jeweils immer nur einen der beiden Videostreams anzeigen — im besten Fall ist ein Wechsel des abgespielten Streams möglich, ähnlich dem Wechsel der ausgewählten Audiospur.
</p>
<ins datetime="2010-03-12T16:52:50+00:00">
<p>
Das obige, mit <i>oggz-merge</i> erstellte Video ist laut <i>oggz-validate</i> leider nicht valide, ein guter Grund für ein Abspielprogramm, den Dienst zu verweigern. Ein valides, mit der Gstreamer-Monsterpipeline erstelltes Video findet ihr <a href="http://daten.dieweltistgarnichtso.net/video/testbild2-stereo.ogv">hier</a>.
</p>
</ins>
<ins datetime="2010-03-12T17:00:15+00:00">
<p>
Ich werd nicht mehr: Das valide Video wird zwar immer noch von der passenden Gstreamer-Pipeline abgespielt, VLC hingegen stürzt in den meisten Fällen ab — oder <a href="//daten.dieweltistgarnichtso.net/pics/screenshots/fail/vlc-totalversagen.png">versagt sowas von komplett</a> …
</p>
</ins>
<ins datetime="2010-03-12T17:09:58+00:00">
<p>
So, das <a href="http://daten.dieweltistgarnichtso.net/video/testbild2-stereo.ogv">valide Testvideo</a> hat jetzt zwei unterschiedliche Streams, einer zeigt jetzt konzentrische Kreise. Nur, damit niemand verwirrt wird.
</p>
</ins>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/mehrfachvideo-mit-gstreamer/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
<enclosure url="http://daten.dieweltistgarnichtso.net/video/testbild-stereo.ogv" length="3402457" type="video/ogg" />
<enclosure url="http://daten.dieweltistgarnichtso.net/video/testbild2-stereo.ogv" length="3540130" type="video/ogg" />
		</item>
	</channel>
</rss>
