cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
91
Views
0
Helpful
0
Comments
cdnadmin
Level 11
Level 11
This document was generated from CDN thread

Created by: Chris Searle on 15-09-2010 09:28:55 AM
I've been talking to the tandberg folk who are helping the norwegian java user group javaBin with the TCS servers for the javazone conference and they've suggested I bring some of my questions here instead ;)

In general - I'm trying to integrate an iPhone application with the content in TCS whilst keeping the actual processing on the unit to a minimum. The ideal would be to simply hand the iOS device a video/mpeg stream URL along with the other presentation data when we download the programme (a JSON file we fetch from the javazone web server). We'd really like to simply use the iOS media player component and say "play this stream url".


Discussion from e-mail so far :


JavaZone this year had for the first time two mobile applications showing the programme. One for android and one for iPhone. There is a wish to make the videos available both via the java.no websites and also in the mobile applications.

I'm the developer of the iPhone application. I don't know too much about the android one - but - I do know that if I can get the streams to play on an iOS device then the android app will be able to use the same stream.

3G vs. WIFI

This point was in the original mail but is more a wish than something I expect to get done in the near future ;)

Apple sets a restriction on streaming video. If a video is longer than 10 mins it requires use of Live HTTP Streaming:

Apple have sent this in to IETF but that's about it so far:

http://tools.ietf.org/html/draft-pantos-http-live-streaming-04

I do not believe that this is currently supported in TCS - but for iOS applications in future this would be a fantastic addition.

For JZ 2010 I can go forward with WIFI only but in future it would be really nice to be able to stream with this technology.




Video streaming

Normal video can be streamed over WIFI - but again with certain restrictions. From the MediaPlayer framework documentation:

This class plays any movie or audio file supported in iOS. This includes both streamed content and fixed-length files. For movie files, this typically means files with the extensions .mov, .mp4, .mpv, and .3gp and using one of the following compression standards:

           * H.264 Baseline Profile Level 3.0 video, up to 640 x 480 at 30 fps. (The Baseline profile does not support B frames.)
           * MPEG-4 Part 2 video (Simple Profile)

In addition - the iOS devices will only start playing before downloading is complete if the video is set up as "fast start"

JavaZone have two TCS servers currently. One (tcs.java.no) has video from JZ 2009 and streaming.java.no is being set up for JZ 2010.

I have successfully played video from the older installation on tcs.java.no when the video is locally downloaded and in the app. However - trying to play it from the TCS server directly fails - and testing in the iOS safari application gives "The server is not correctly configured".

I'm currently pulling the video links from the RSS feed - for testing I have used  http://tcs.java.no/tcs/download/0B6A2F03-53AD-4A13-A3D5-66D4E7C5C7E9.mp4

Looking at the HTTP headers for this I see:

Content-Type: application/force-download
Content-Disposition: attachment; filename="For å løpe fort så må du ha balanse!.mp4"
Content-Transfer-Encoding: binary
Content-Length: 15593875

I believe the iPhone is expecting at least the mp4 content type (video/mp4) and probably a content disposition of inline.

Does TCS provide a method to obtain the mp4 content with the correct headers for stream playing without using the player javascript in TCS?


  • Anyone done any iOS integration with TCS who has any pointers?
  • Apart from the RSS feed - any easily parsable feed for obtaining media URLs (I also see in the feed that only the highest resolution stream is given in the enclosure tag - and for JZ2010 that's too high a resolution - JZ2010 went HD - so we need to be able to parse out all instances of a given video)?

Subject: RE: Using TCS content in mobile applications
Replied by: Jamie Littin on 16-09-2010 12:25:19 AM
The Content Server's API provides a function GetConference() which includes the URLs of all transcoded outputs in its response. If an admin has added an on-demand MPEG-4 for QuickTime output that uses the Content Server's IIS as the media server then the output will be available via HTTP with the necessary headers for "progressive download" streaming, e.g. Content-Type: video/mp4, and the URL will be in the GetConference() response. Any URL that looks like http://<server_address>/tcs/data/O128458633002-17409488qt.mp4 will work. The "http", "/tcs/data/" and "...qt.mp4" are the important bits.
All the Content Server's downloadable MPEG-4 files are fast-started so they're ready to play before the download is complete.

Subject: RE: Using TCS content in mobile applications
Replied by: Chris Searle on 16-09-2010 11:44:52 AM
OK - I'll go back to the tandberg guy setting it up. I can get the conference list - but - for each conference i see QT movies only under  c.getDownloadableMovies() and wmv only under c.getWatchableMovies() - I guess he needs to tweak something to get QT under watchable too.
Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Quick Links