Friday, April 10, 2009

Another tinyvid.tv update

I've made some more changes and fixes to tinyvid.tv since my last update.

I've updated to the latest Factor version, picking up some bug fixes and improvements to the libraries that I use.

The look and feel of the site has a new logo and banner thanks to Hans Schmucker. There have been some great contributions and bug reports in the feedback part of the site from Hans and others.

Support for converting Daily Motion videos is now in place. This gives three sites that can be converted from now. The other two being YouTube and Vimeo. In all cases it tries to convert the highest quality video available from the site.

A number of bugs in the file uploads have been fixed. There still are a few annoyances in this area, mainly to do with not very good error reporting when an upload fails. I'm still playing around with this area.

Previously logging in was done with Facebook Connect. Now I've added support for Open ID as well as Facebook and others.

This support was easily added using the great service from RPX Now. I implemented server support in Factor very easily and it gives a nice authentication login interface. If you don't want to associate an existing account with your tinyvid.tv videos you can use a service like myopenid.com to get an Open ID login and use that to authenticate with tinyvid.

I'm trialing the bookmarklet written by Hans Schmucker as the main player on the site. It provides visibility of the controls outside the video area so you can always see them without obscuring the video, has a volume control, and allows resizing the video. If you want to try the browser's standard controls you can click on the 'download' link on the video page to do that. I may switch between this player and the native controls based on feedback or if problems are found.

I added an 'embed snippet' on the video page so you can copy/paste it into your own pages to have the video embedded.

If you have any ideas for things to add or improve let me know.

Categories: ,

6 Comments:

Blogger dave said...

Are you using the Thusnelda alpha transcoder?

I poked around and couldn't see an answer. In fact I can't see any mention of the software or process used to convert videos on the server.

Since people can also upload Theora files directly, and encode with FireFogg it would be nice if the encoding details were displayed alongside videos.

3:15 AM  
Blogger Chris Double said...

I'm using ffmpeg2theora, but not the thusnelda version. So it's using the standard theora encoder.

I pass ffmpeg2theora switches to set a maximum bitrate of 700Kb/s and a maximum width of 640 (keeping aspect ratio). This is to ensure reasonable playback with current browsers.

I use the same settings for Firefogg uploads. You're right, I should put this on the site somewhere. I'll note it down to do this.

3:24 AM  
Blogger Hans Schmucker said...

It's Hans Schmucker, not Schumacker :)

Anyway, I did a quick test run on MSIE8 (win7) and it seems that the controls script is loaded even when there's no native support for video, but just the Java player... which of course doesn't work. Could you add a check to ensure that the script is only run on native video elements (by checking for any property or method that would only exist on a native video element)? Because as it stands now we get script errors in MSIE.

3:59 AM  
Blogger Chris Double said...

Oops, sorry about your name! I got it right in the first place, but typoed in the second. Late night/early morning blog posting :-)

I've done the fix to check for the .play attribute on the video element.

4:11 AM  
Blogger Hans Schmucker said...

Wow, that was quick. Uh... about something totally unrelated: I was talking to a few people over at #devrel and we were thinking about ways to showcase Canvas3D with stuff that would definitely be impossible with VRML. And the idea of a video editor came up. Problem is, we can't really export a video... the client would have to send the editing commands to the server, which would have to render them and finally encode them. That would need one big server and wouldn't feel at all snappy as a few hundred megabytes would have to be sent back and forth. FireOgg on the other hand can already do the encoding, we'd just need a way to encode dynamic data: Something like:

/* Create a new video encoder: If target is false, show a "File Save As" dialog and let the user chose a location to save to. */
var venc=new FireOggDynamicEncoder(/*width*/640,/*height*/480,/*framerate*/25,/*number of frames*/4000,/*kbitrate*/700,/*POST target url or false for local file*/false);

/* If the canvas is dirty (offsite data), push a black frame, otherwise, push the current image, rendered onto a black background */
venc.pushFrame(canvas);

Question is: How much effort would that take?

5:16 AM  
OpenID h31 said...

Thanks you! This site is beautiful!

2:38 AM  

Post a Comment

<< Home