looks good...
it should only add a .anx to ogg theora based content. If you look at
http://www.urbanstew.org/MediaWiki/index.php5?title=Special:MvExportStream&…
your using media source mv_ogg_low_quality as the id for flv. If you
take a look at a metavid roe media description file:
http://metavid.ucsc.edu/wiki/index.php?title=Special:MvExportStream&fee…
and find the flv source identified by: ao_file_flash_flv. You want to
keep both the ogg and flash mediaSources in place so that the client can
switch between them.
Since
http://www.archive.org/download/mv_senate_proceeding_08-01-07/senate_procee…
will not produce a flv file from 0-20min rather the server will ignore
the time request ie we are not using mod_annodex or oggz_chop for
flash... we should put the time range as attributes on the media source
(since seeking will be done client side the time stamp should be read
from the start / end attribute). ie a flash media source line in the ROE
file could look like this:
<mediaSource id="ao_file_flash_flv"
src="http://www.archive.org/download/mv_senate_proceeding_08-01-07/sen…
title="Archive.org - flash video" content-type="video/x-flv"
start="ntp:0:00:00" end="ntp:0:20:00"/>
attached a patch for adding in time attribute to SpecialExport.... (svn
commit access is temporarily disabled while the svn system administrator
is re-adding everyones rsa_id.pub (since that Debian predictable key
vulnerability))
in mv_embed we have to make a few changes....function getParseROE should
not die if it only finds flash source. ie line 1131 .. and we need to
store all the media sources when we parse the ROE file (instead of just
storing .ogg in this.src). A few other will have to be updated as well
like getDurration() should read from our internal representation of
start/end times instead of parsing the this.src. ( this.start_ntp and
this.end_ntp are already set in getDurration just have to update code
else ware to use it & make getDuration smart about flash based sources)
The current Stream interface just updates the "this.src" attribute to
jump around the stream....To make it work correctly with the Stream
interface there should be a mv_embed function to update the current
requested time range. (as opposed to just rewriting the src
attribute).... With ogg we will continue to just rewrite the &t= url
parameter of this.src and with flash or mp4 it will mean updating the
client side seeking start end attributes.
Also we should update plugin selection to only allow selection of the
flowplayer if a stream of content type video/x-flv is available.
Likewise should only allow ogg selection if stream of content type
video/ogg is available. In terms of simple usage of the video tag like:
<video src="mymedia_url" we should have javascript do a HEAD request to
get the content type of the media and act accordingly... (it will have
to be proxied if the media is not on the same domain) ... it would not
be a bad idea to confirm media types match up between the urls in the
roe file and the content type of the url... but this HEAD request stuff
can be added later since we won't be worrying about graceful handling of
bad roe files for now ;)
hopefully this explanation was helpful... let me know if you have any
additional questions :)
peace,
--michael
Stjepan Rajko wrote:
Hello,
I started getting some minimal progress on the Flash video support
along the lines of what Michael suggested. You can see an example of
pulling an .flv video from
archive.org here:
http://www.urbanstew.org/MediaWiki/index.php5?title=Stream:Congress
What is implemented so far:
* if your environment supports Flash, Flowplayer should be an option
* you can view an .flv stream using Flowplayer - but all time
information is ignored
Right now, when a stream file is added, metavidwiki system appends
.anx to it, so the flashEmbed script takes .anx out of the filename it
gets. How should I address this for the long run?
Cheers,
Stjepan
_______________________________________________
MetaVid-l mailing list
MetaVid-l(a)lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/metavid-l
Index: includes/specials/MV_SpecialExport.php
===================================================================
--- includes/specials/MV_SpecialExport.php (revision 34600)
+++ includes/specials/MV_SpecialExport.php (working copy)
@@ -184,8 +184,13 @@
<? foreach($this->file_list as $file){
$dAttr=($file->getNameKey()==$mvDefaultVideoQualityKey)?'
default="true"':'';
$dSrc=($file->getPathType()=='url_anx')?$this->mvTitle->getWebStreamURL($file->getNameKey()):$file->getFullURL();
+ //if not ogg include start and end times in the attribute:
+ //@@todo in the future support client side ogg seeking (and don't automaticly put
.anx at the end)
+ $startendattr= (htmlentities($file->getContentType())!='video/ogg')?
+ 'start="ntp:'.htmlentities($this->mvTitle->getStartTime()).'"'.
+ '
end="ntp:'.htmlentities($this->mvTitle->getEndTime()).'"':'';
?>
- <mediaSource
id="<?=htmlentities($file->getNameKey())?>"<?=$dAttr?>
src="<?=$dSrc?>"
title="<?=htmlentities($file->get_desc())?>"
content-type="<?=htmlentities($file->getContentType())?>" />
+ <mediaSource
id="<?=htmlentities($file->getNameKey())?>"<?=$dAttr?>
src="<?=$dSrc?>"
title="<?=htmlentities($file->get_desc())?>"
content-type="<?=htmlentities($file->getContentType())?>"
<?=$startendattr?>/>
<?}?>
</switch>
</track>