How can we make it as easy as possible for a user to transcode to FOSS formats then upload it to the video platform? Conduct research into the development of a desktop transcoder/uploader application that could work locally to encode the file and then upload it to a specified site.
Many web applications that deal with multimedia offer uploader clients to make adding content to the website easier. Flickr Uploadr is one example of this - a user can download and install this program, enter their username and password for their Flickr photo-sharing account and then browse for photos on their computer to upload. They can add metadata to each photo - titles, tags and descriptions - and then click to upload them all as a batch. Thumbnails are created and resizing is done automatically during the process. After clicking upload and waiting for the files to transfer the user can visit the website to see all of their content published on Flickr.
The need for a program like this to upload video is even greater for two reasons. One is the problem with uploading large files via a web form (over http) - if the user's internet connection is disrupted for any reason then the upload fails and must be started all over again.
Secondly - users don't only have to attach their video but transcode it first before they can upload it. Video that originates on DV or HDV tape, or even DVD is far too large to be transferred over the internet, so it must be compressed. We can eliminate this extra step, or make it largely transparent to the user by combining the ability to upload with the ability to transcode to a format and preset determined by the target website. For the user this just means browsing for their file, adding some info and uploading - they don't even have to think about the transcoding part.
Third parties offer clients like this for uploading video to YouTube such as the free uploader by DVDVIDEOSOFT, and the CC Publisher is available to upload video to the Internet Archive. It is important that Transmission members begin to use software such as this to make uploading video to their sites much easier.
EngageMedia looked into the possibilities of creating this kind of application as part of this research, specifying its functional requirements and user experience, prior to discovering the development of such an application by Jan Gerber at v2v. It seems the best way to proceed is to contribute to and support the great work done here already by Jan.
v2v / Transmission Uploader
A key recommendation of the [FOSS Codecs for Online Video report] is to contribute to the development of the v2v transcoder/uploader. This application joins the ability for users to encode to a screening-quality version of Ogg Theora/Vorbis simply with the ability to upload the resultant video via BitTorrent protocols to allow the resumable upload of larger files than is currently the case over http.
The v2v uploader client developed by Jan at v2v uses the BitTorrent protocol to upload Ogg Theora/Vorbis files to a v2v video server. This has advantages in that the BitTorrent protocol is a resumable, fault-tolerant distribution mechanism, compared to a standard web form upload process via HTTP. This desktop GUI application (written in python, and a cross-platform GUI library) allows users to browse for non-ogg video files, transcode them on their own computer using ffmpeg2theora into ogg, then follows the same process as above, that is, a BitTorrent protocol upload.
The uploading process could be extended to allow publishing into certain CMSs eg Plone, Drupal, Wordpress or others - via the use of a configuration panel. Each Transmission member would have the option of implementing their own configuration into the uploader easily and re-distributing it branded as their own uploader, or to release a configuration file that can be inserted into the application in order to customise it to their own CMS. The configuration file could be packaged with the application itself, to be initialised during the installation process.
It is recommended that documentation and promotion of this application be generated as it has great potential to make FOSS codecs more usable by the average person, and will also help to solve the problems of uploading large files via http to Transmission websites, which is the usual method at this stage. It is also recommended that a framework for collaborative development is established through use of a development tracker (such as that currently used by v2v).
Another recommendation is that a collaboration with the CC Publisher (an uploader for archive.org - the Internet Archive) is initiated, whereby joint development can ensure a wider uptake and increased developer-base of this application. The CC Publisher does not currently transcode, nor does it upload via BitTorrent, so there are advantages to CC in working with Transmission on this project.
Functionality - Details
The client must have these functions:
- transcode to one Ogg Theora/Vorbis preset (as defined in configuration file)
- ability to add metadata/licenses conforming to the Transmission Metadata Standard to create an entry in the target CMS that does not also need to be updated via the web (create a one-step process)
- ability to be configured for target CMS - server settings, target folder, username/password - via a configuration file
- upload via a resumable protocol so upload may continue once network is reconnected after dropout
- cross-platform - available for easy install on Linux, Mac and Windows
This user experience is described for the member of a website belonging to a project that is part of the Transmission network, which has implemented the Transmission Uploader.
- visit Transmission member website
- download Tranmission Uploader client via a link on website
- open Transmission Uploader
- browse for video file
- enter metadata as per Transmission Metadata Standard - Title, Description, Tags etc.
- browse for thumbnail to attach
- click Upload button
- enter username and password for website membership
- video will transcode to Ogg Theora/Vorbis preset - user sees "Transcoding" message with status bar
- video will upload to website via BitTorrent - user sees "Uploading" message with status bar
- process finishes with "Upload Successful" message
- user's default browser is called, to a page on project website showing Video page - as the object or entry has been successfully added to the database
Screenshot of v2v upload
v2v Upload Downloads and Development