Skip to main content
June 21, 2011
Question

Flex 4.5.1, iOS and videos

  • June 21, 2011
  • 3 replies
  • 13143 views

It is possible to play rtmp (or http dynamic streaming) on an iOS flex application ?

thanks

    This topic has been closed for replies.

    3 replies

    Participating Frequently
    May 4, 2012

    Has anyone submitted an app using the VideoDisplay to the AppStore?

    It works fine for me, but it seems as though it would be in breach of AppStore rules regarding video content having to be HTTPStreaming?

    drkstr_1
    Inspiring
    May 4, 2012

    Yes, we have an app in production (iOS Volume Purchasing Program) that utilizes flash video.

    Also, progressive download is not completely restricted. Per the iOS program guidelines:

    If your app delivers video over cellular networks, and the video exceeds either 10 minutes duration or 5 MB of

    data in a five minute period, you are required to use HTTP Live Streaming. (Progressive download may be used

    for smaller clips.)

    We used RTMP in lieu of HTTP Live Streaming, and have had no complaints from Apple. I believe they are more concerned with the "streaming experience" rather than the actual delivery protocol. This is just anecdotal information however, and you may want to call up iOS developer support to confirm it (just don't rat me out if they say no! hehe).

    Participant
    August 1, 2011

    I am trying this too for video chatting with FMS 4.0. This is a critically important feature.

    drkstr_1
    Inspiring
    August 2, 2011

    I finally got around to testing this.

    FLV streaming over rtmp works just fine. I have not tested other codecs yet, but I just wanted to toss this out there in case anyone was wondering if it was even possible. It is.

    I am using AIR 2.7 and the Flex 4.5.1 Framework.

    Cheers!

    August 2, 2011

    Hi drkstr,

    Awesome! We really need your help on this: NetConnection is OK but NetStream object initialization raised exception.

    We are using FMS 4.0

    We have made the Flex based video chat working inside of browsers as SWF using both RTMFP/RTMP.

    private var connectUrl:String = "rtmfp://1.2.3.4:80/app";

    But the same code; after modifications to compile as a mobile project, the "NetConnection" is ok: in server admin we can see the new connection; and we obtained the nearID;

    but the exception is always raised: NetStream is always failed;  "incomingStream=new NetStream(netConnection);" THIS LINE.

    Then, I changed to incomingStream=new NetStream(netConnection, netConnection.nearID); the error message disappear; but I still cannot get either the iphone's videoCam sending outgoing streams; or get the incoming streams for this.

    According to some weird Chinese source code I found online: http://www.3amartstudio.com/blog/post/125.html

    Code:

    var msg:Boolean;

    msg=e.info.code == "NetConnection.Connect.Success";

    if (msg)

    {

    status("Connected, my ID: " + netConnection.nearID + "\n");

    // nsOut=new NetStream(nc);

    incomingStream=new NetStream(netConnection, netConnection.nearID);   // now I changed to this; with the parameter.... this line used to raise an exception

    outgoingStream=new NetStream(netConnection);

    ....

    Participating Frequently
    June 22, 2011

    *bump*

    This is an extremely important question.  I really hope so, but I do not see VideoPlayer listed under the supported mobile controls here:

    http://www.adobe.com/devnet/flex/articles/mobile-development-flex-flashbuilder.html

    Also, without any way to access the native API for iOS, it would seem we are plain out of luck for Flex video support, which seems amazingly silly.

    [edit] I did find Rich Media Advertising on the Labs site, specifically targetted for mobile phones, and one of the features specified full screen video.  No idea how old or young the project, and there's no code or anything useful

    http://labs.adobe.com/technologies/rmadvertising/

    drkstr_1
    Inspiring
    June 22, 2011

    Yes, it is.

    VideoPlayer != video support...

    The VideoPlayer is just a spark component that "wraps" a VideoDisplay with some added skinning options and button controls to control the playback. Since the default skin is not optomized for mobile, it is not recommended for such use.

    You can still implement your own solution using the native video support in Flash, using the higher level VideoDisplay class in Flex, or creating a mobile optimized skin for the VideoPlayer itself. I

    However, I have heard reports that live video streaming can have some preformance issues if your media encoding is not optimized for the device it's being run on, but I think AIR 2.7 has ironed out some of the issues with that. I cannot confirm this since I didnt notice any issues to begin with in AIR 2.6.

    June 22, 2011

    If you have an example of code that runs on iOS ?
    I tested a rtmp stream and a http
    dynamic streaming, with

    OSMF, but it does not work on IOS.
    However it works correctly on Android