Slashdot Mirror


Embedding Video In a Site For iPhone/iPod?

Russ writes "Our corporate media delivery platform is in the process of being refactored (at long, long last), and one of the preferred requirements is the ability to serve streaming video to iPhone and iPod Touch devices, similar to the way YouTube does it — show a screen shot, and when the user taps it, the video should play full-screen and landscaped automatically. The problem comes from the severe lack of documentation Apple provides on how, precisely, this can be done. From what I can tell, YouTube still fires a Flash object to the iPhone despite its lack of Flash support. I have, to a certain extent, been able to review some of YouTube's Flash code and get a hack working on our platform (no screenshot, not landscape, but does play automatically), but I'm sure I'm missing a 'trick of the trade' somewhere that makes the process transparent to the user. Has anyone out there done this before, and if so, how? The standard (and non-standard) Quicktime object/embed codes seem to only provide partial functionality on the iPhone/iPod."

19 of 68 comments (clear)

  1. Is this really the proper forum to be asking that? by Anonymous Coward · · Score: 3, Insightful

    Seriously, there are entire web sites dedicated to web programming discussions of this sort.

  2. MPEG4 by Anonymous Coward · · Score: 5, Informative

    All you need is a direct link to an Apple-compatible MPEG4 video with the correct mediatype on a server that supports the Range HTTP header. The iPhone/iPod's player will automatically start and allow seeking in the video.
    We've been using this technique for a commercial IPTV service for about a year already.

  3. had to happen... by E+IS+mC(Square) · · Score: 2, Insightful

    This is because all the followers of The Church of Steve Jobs are promoting anything iphone/apple on firehose.

    1. Re:had to happen... by Midnight+Thunder · · Score: 4, Informative

      This is because all the followers of The Church of Steve Jobs are promoting anything iphone/apple on firehose.

      Maybe, but if you step back for a moment, you will also find that the church of Adobe (Flash) and the church of Microsoft (Silverlight0 has an alternative: the church of open standards. As an example, take the following page:

      http://lessig.blip.tv/file/1714232/

      and then simply select "MPEG-4 video" as the format. It plays without any extra magic.

      I may use an iPhone, but I am very pro open standards. Sure anyone can keep a local copy of the MPEG4 file, but this is where Creative Commons comes into play.

      --
      Jumpstart the tartan drive.
  4. someone didnt bother by Meltir · · Score: 4, Informative

    to ask the source:

    https://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariWebContent/CreatingVideoforSafarioniPhone/chapter_9_section_1.html#//apple_ref/doc/uid/TP40006514-SW1

    requires a login, etc but if your going to develop for an iphone you might as well save yourself some headbashing and sign up.

  5. AS Long as we're doing this--- by way2trivial · · Score: 2, Interesting

    anyone want to tell me how I can duplicate redtube (NSFW in a million years) video thumbnails?

    They are rather excellent, and I aussume automated.....

    --
    every day http://en.wikipedia.org/wiki/Special:Random
  6. Check Apple's website by Yvan256 · · Score: 4, Informative

    http://developer.apple.com/safari/mobile.php

    It's worth signing up for a free account, even if it's only to access Mobile Safari's documentation.

  7. Embed player that works with iPhone by podcast411 · · Score: 3, Informative

    You can get a free player that you can embed your video into your site and play in flash - yet still works with the iPhone - http://tools.wizzard.tv/ All you need is an RSS feed to make it work. http://tii.libsyn.com/index.php?post_id=407161 Here is a link you check from your iphone to see how it works - Scroll down to see the video. Rob W Host - Today in iPhone Podcast

  8. Check out veoh.com/iphone by Cyberllama · · Score: 4, Informative

    You can point your non-iphone browser there to get a sense of how its done.

    They've done a splendid job of letting people stream video directly from their site to the iphone simply by having every video on their site converted to Iphone-compatible quicktime (mp4) format. The video quality is even quite a step up from what youtube offers on the iphone.

  9. JS + Quick Time Pro Export by c.morrissey · · Score: 2, Informative

    Not quite sure what exactly you are trying to do ... but lets say that your problem is you have embedded flash w/ video and you need iphone/itouch users to be able to access this video too ...

    first thing you will want to do is to do a browser check for 'iPhone' or 'iPod'. You can do this in JS but I prefer to check server side.

    JS would be

    if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) { code for qt } else { code for flash }

    PHP would be

    if(eregi('iPhone', $_SERVER['HTTP_USER_AGENT']) || eregi('iPod', $_SERVER['HTTP_USER_AGENT'])) { code for qt } else { code for flash }

    Next you will want to export your video using quick time pro and the "Export for web command" this will compress all versions for the iphone and ipod touch and a poster screen for the end user to click on.

  10. Details are always nice... by Anonymous Coward · · Score: 4, Informative

    Details are always nice... (Yes, there are far more options available!)

    From mplayer:

    mplayer -ss 60 -vo jpeg foo.mpg

    Where:
        -ss 60 starts 60 seconds into the video stream.
        -vo jpeg outputs each frame as a jpeg image with the name 00000000.jpg.

    Pick a bunch of winners... Motion blur can be a problem!

    From ImageMagick:

        convert -delay 10 -loop 0 000000{01,17,23,34,97}.jpg animated.gif

    Where:
      -delay 10 gives one frame every (10/100) or 0.1 seconds.
      -loop 0 makes it repeat endlessly.
      000000{01,17,23,34,97}.jpg are the source images.
      animated.gif is the output file.

    You may also want to use -geometry for resizing (making thumbnails). And perhaps -crop.

  11. Not really by 93+Escort+Wagon · · Score: 4, Insightful

    The problem comes from the severe lack of documentation Apple provides on how, precisely, this can be done.

    Given the number of different links to apple.com web pages already provided in this thread, I'd say the real problem is someone doesn't want to do any reading.

    --
    #DeleteChrome
  12. SWFObject by wolverine1999 · · Score: 2, Informative

    You should be using SWFObject.. it should work with your iphone if it is the latest updated version.

  13. In JPEG, size=detail by benwaggoner · · Score: 3, Informative

    Pick a bunch of winners... Motion blur can be a problem!

    File size is a decent heuristic here. A frame with a lot of motion blur won't have higher frequencies, and so with a fixed-quantization encode like JPEG, it'll be a smaller file size.

    The biggest files will correlate with the frames with the most detail, mathematically.

    Now, that's not saying that it wouldn't be a tight shot of a screen window, but it's a start :).

  14. RSTP by sakusha · · Score: 3, Interesting

    Streaming QuickTime has been a continual subject of discussion on the QuickTime Streaming Server listserv. Note that I am not referring to progressive download QT, I'm talking about RSTP streaming. Services like YouTube have the ability to detect the maximum bandwidth of the receiving device and deliver a stream encoded for that bitrate. In YouTube's case, they have a custom app that detects whether you're on EDGE or WiFi and delivers a progressive streaming file of higher or lower quality. I have been dissatisfied with the YouTube service, it seems to always stream poorly. And you have to wait and wait for enough of the file to load before it will start playing. Usually my iPhone (even on WiFi) goes to sleep and shuts off long before I can start watching, which aborts the download.

    What the QTSS listserv people are all begging for is true RSTP streaming from QuickTime Streaming Server to the iPhone in Mobile Safari, and an API for apps. QTSS detects your device's bandwidth and delivers a true stream with the appropriate bitrate so it can begin playing instantly, and if you drag the playback slider to any point in the file, it begins playing instantly from that point. This would be a huge advantage, but there is a downside. Since the stream is being delivered continuously on demand, you can't deliver higher bandwidth (higher quality) files that would take a while to download. The file's bitrate may be no more than the channel would allow. But us QTSS users think this is an advantage, I would gladly trade off a little quality for instant-on playback. Another advantage is that QTSS can deliver live video from QuickTime Broadcaster, so live TV events can be delivered live.

    The upshot of the deal is, Apple has not yet enabled RSTP in the iPhone, so it is not available in apps like Mobile Safari. I personally believe (without any evidence) that this is Apple's attempt to cripple Mobile Safari so as to not antagonize AT&T by overloading their network with streaming video. But there are some apps that have RTSP streaming now, there's an app that streams college radio stations (I forgot the name of the app). I don't know how they got it to work, they must have their own RTSP code, it's not in any current iPhone 2.0 OS API.

    I have been telling people for years, if you wanted to start a new TV delivery method, all you'd have to do would be roll out a new line of smartphones with adequate data capacity and live streaming like QTSS. You could start another major network overnight. I've found the quality of TV watching on my iPhone (from my own manually encoded files) to be perfectly fine. But Apple won't enable RTSP on the iPhone... yet. Maybe they have something coming in iPhone OS 3.0, but there hasn't even been a hint of this capacity. Plenty of people are filing the request with the appropriate Apple people, and we get no response whatsoever. Let us hope that no news is good news, and they are not leaking or hinting at anything because they are under an NDA because it's about to roll out.

  15. Re:Stop contributing to the Apple monopoly by Nabeel_co · · Score: 2, Insightful

    You make it sound like excessive choice is a good thing. I personally am fine with Apples limited product line that is all integrated.

    I suggest you watch this TED video: http://www.youtube.com/watch?v=VO6XEQIsCoM

    The reason people like Apple products is because you take it home and it all works together without any effort on your part.

  16. Where has research gone? by MosesJones · · Score: 4, Insightful

    Seriously the standard of developers these days seems to have plummeted. If you want to provision for a device go and get the manual for that device, find out that H264 is what you need for the iPhone and that YouTube most certainly does NOT stream flash to iPhones.

    I'm going to put my grumpy old bloke hat on here, but its the same hat I wore when I was 25 and someone asked me how to run Windows apps on an IBM RS6000. That person's excuse was that they just "thought it would work" which was a woeful statement from someone who had a degree in IT. This AskSlashdot is at the same level in that the question boldly states something that ISN'T TRUE (YouTube stream flash) and thinks there is some magic secret.

    There is no magic secret, there is something that shouldn't be considered a secret at all. That thing is called RESEARCH, hell I'm not even asking you to hit the books in a library but just Google YouTube iPhone to find a FREE converter that talks about the video differences or YouTube iPhone video codec. It really is trivial. And if you can't do that then have a thought about just giving up and using Google Apps Premier Edition for your business and using the commercial version of YouTube that it supplies.

    --
    An Eye for an Eye will make the whole world blind - Gandhi
  17. Re:Stop contributing to the Apple monopoly by centuren · · Score: 4, Interesting

    Stop contributing to the Apple monopoly. You aren't helping matters when you support it. We consumers end up with less choice and more problems. The iPhone, the iPod, all crap lock-in and not even real "platforms" despite people acting like it is something you can develop for.

    Regardless of one's feelings toward Apple and the iPhone, I think this is an interesting question to address. At least, I have no desire to own or develop for an iPhone, but I do have great interest in not using Flash.

    If there's any one thing I like about the iPhone, it has people asking questions like "How can I provide a good user experience for streaming video on a platform that doesn't support Adobe's Flash plugin?". The iPhone is obviously a proprietary, closed platform, but I appreciate that at least to a small degree it's making people think about solutions that had become almost universally tied to other proprietary technology.

    I hope to see fewer browser plugins like Flash on all smart phones, so that solutions such as the YouTube app can be taken advantage of to produce desktop solutions where Flash is also unavailable (or unwanted).

  18. Problem partially solved! by dpu · · Score: 2, Interesting

    Thanks to those that took a moment for a constructive answer! Turns out that using the embed/object parameters slightly differently solves both the thumbnail and auto-orientation issues.

    The bad thing is that the video object (at least using Quicktime - iPhone Safari doesn't support the HTML5 video tag yet) can't be scripted via Javascript.

    The ADC has absolutely no mention of scripting the iPhone video object via Javascript - it doesn't say it can't be done, but the object doesn't fire any events that I can find either.

    We use JS to handle tracking - we need to know how much of the video the user watched, if they muted it extensively, etc. due to the credit requirements of one of our clients. We'd love to deliver an iPhone-capable version of the site, but without scripting capability it won't happen.

    So the bonus question to this post is does anyone have (or has anyone found) information regarding scripting the iPhone 2.x video object from a web page using Javascript?

    --
    Dammit, I meant to post that anonymously!