<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
{mso-style-priority:99;
mso-style-link:"Plain Text Char";
margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
span.PlainTextChar
{mso-style-name:"Plain Text Char";
mso-style-priority:99;
mso-style-link:"Plain Text";
font-family:"Calibri","sans-serif";}
span.EmailStyle19
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:windowtext;}
span.EmailStyle20
{mso-style-type:personal-compose;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 129.75pt 1.0in 129.7pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoPlainText>> That was some time ago and now I think I would use an archival version of the media as the streaming source and have HTML5 calls to the timecodes. <o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Am I understanding the problem correctly?<o:p></o:p></p><p class=MsoPlainText><span style='color:black'><o:p> </o:p></span></p><p class=MsoPlainText><span style='color:black'>1) We want URLs which act just like a pointer to a static wav somewhere on the internet. These can then be embedded in anything.<o:p></o:p></span></p><p class=MsoPlainText><span style='color:black'>2) But because we don't want to actually carve up each file into little files, we need the URL to specify a time range rather than just a filename.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>3) We want to point to an archived version, not some special vers</span><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoPlainText><span style='color:black'>ion hosted for the purpose of these embedded links.<o:p></o:p></span></p><p class=MsoPlainText><span style='color:black'><o:p> </o:p></span></p><p class=MsoPlainText><span style='color:black'>If I understand the problem, then the solution is a URL like<o:p></o:p></span></p><p class=MsoPlainText><span style='color:black'><o:p> </o:p></span></p><p class=MsoPlainText><span style='color:black'>http://<some snippet service>.org/<address of the archived version>?start=<starttime>&end=<endtime><o:p></o:p></span></p><p class=MsoPlainText><span style='color:black'><o:p> </o:p></span></p><p class=MsoPlainText><span style='color:black'>(That last bit after the '?' is called a URL Query string.)<o:p></o:p></span></p><p class=MsoPlainText><span style='color:black'><o:p> </o:p></span></p><p class=MsoPlainText><span style='color:black'>E.g.<o:p></o:p></span></p><p class=MsoPlainText><span style='color:black'><a href="http://snippetServer.%20org/?url=paradisec.org.au/someinternalpathat%20paradisec/KovaiCanoeStory.wav?start=02:20:10&end=02:22:10">http://snippetServer. org/?url=paradisec.org.au/someinternalpathat paradisec/KovaiCanoeStory.wav?start=02:20:10&end=02:22:10</a><o:p></o:p></span></p><p class=MsoPlainText><span style='color:black'><o:p> </o:p></span></p><p class=MsoPlainText><span style='color:black'>When it receives this query, the server would get ahold of the full audio file declared in the query string, and then stream out just the section that was called for. The experience to the user would be the same as if they had clicked on a url of a pre-prepared, stand-alone file containing just that snippet.<o:p></o:p></span></p><p class=MsoPlainText><span style='color:black'><o:p> </o:p></span></p><p class=MsoPlainText><span style='color:black'>Now, because the audio itself is served by an archive, it will have a long lifetime. The snippet server itself need not be related to the archive; a single instance could serve everyone. But if the snippet server itself goes away in the future, the URL is still human readable, and can be changed via search/replace to some new snippet server. <o:p></o:p></span></p><p class=MsoPlainText><span style='color:black'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:black'>To avoid the links going bad, it seems the snippet server should be run by something prepared to be around for a long time, like an MPI or an </span><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoPlainText><span style='color:black'>archive itself:<o:p></o:p></span></p><p class=MsoPlainText><span style='color:black'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:black'><a href="http://paradisec.org.au/snippetserver/">http://paradisec.org.au/snippetserver/</a>...<o:p></o:p></span></p><p class=MsoPlainText><span style='color:black'><o:p> </o:p></span></p><p class=MsoPlainText><span style='color:black'>Practically, such a server could limit its services to files in its own repository or some set of other domains, if it didn’t want to end up providing this snippet service for just any content on the web.<o:p></o:p></span></p><p class=MsoPlainText><span style='color:black'><o:p> </o:p></span></p><p class=MsoPlainText><span style='color:black'>I googled a bit, didn't come up with anything, but I wouldn't be surprised if such a service already existed. If not, well clearly this would be cheap to do.<o:p></o:p></span></p><p class=MsoPlainText><span style='color:black'><o:p> </o:p></span></p><p class=MsoNormal>John Hatton<o:p></o:p></p><p class=MsoNormal>SIL International Language Software Develoment<o:p></o:p></p><p class=MsoPlainText><span style='color:black'><o:p> </o:p></span></p></div></body></html>