[Live-devel] Fwd: Need help: RTSP Stream -> video render

Brad O'Hearne brado at bighillsoftware.com
Mon Feb 27 15:34:06 PST 2012


Jon, 

Thank you so much for your reply, and the code, it helps tremendously.

In regards to being vague, the simplest I can describe the use case is this: 

- I have an external device streaming H.264 video over Wifi via RTSP. 
- I am constructing an iOS app to receive the RTSP stream, decode the H.264 video, and render it to the device screen. 
- I need to eliminate any and all latency (buffering). 

I just posted a response to Barry, that will probably give even more insight to what I am trying to do. Presently, I have both Live555 and ffmpeg compiled on iOS5, and both libraries linked into an iOS 5 Xcode project. I have implemented a MediaSink object, though I don't believe it does completely what I need it to do yet. What I need to do is gather the received video stream data and construct an appropriate video packet to feed to ffmpeg. I'm not completely sure about the nature of the data available in the MediaSink afterGettingFrame() method, and so I'm hoping that a few of the familiar minds here can help bridge that gap. 

Thanks again for your reply -- any additional help on this is greatly appreciated. Feel free also to contact me offline if necessary.

Brad

Brad O'Hearne
Founder / Lead Developer
Big Hill Software LLC
http://www.bighillsoftware.com

On Feb 27, 2012, at 3:45 PM, Jon Burgess wrote:

> Further to my previous email, you'll need the following class to run my code:
> 
> //
> //  TimerInvokee.m
> //  openRTSP
> //
> //  Created by Jon Burgess on 22/10/10.
> //  Copyright Jon Burgess. All rights reserved.
> //
>   
> #import "TimerInvokee.h"
>   
> @implementation TimerInvokee
>   
> - (void)execute:(TaskFunc*)proc clientData:(void*)clientData invoker:(NSTimer*)invoker
> {
> //  NSLog(@"Invoking task for timer: %u", invoker);
>     proc(clientData);
>      
>     // We did an extra retain when scheduling, so release equally here now that the timer
>     // has fired to avoid leak.
>     [invoker release];
> }
>   
> @end
> 
> 
> //
> //  TimerInvokee.m
> //  openRTSP
> //
> //  Created by Jon Burgess on 22/10/10.
> //  Copyright 2010 Jon Burgess. All rights reserved.
> //
>   
> #import "TimerInvokee.h"
>   
> @implementation TimerInvokee
>   
> - (void)execute:(TaskFunc*)proc clientData:(void*)clientData invoker:(NSTimer*)invoker
> {
> //  NSLog(@"Invoking task for timer: %u", invoker);
>     proc(clientData);
>      
>     // We did an extra retain when scheduling, so release equally here now that the timer
>     // has fired to avoid leak.
>     [invoker release];
> }
>   
> @end
> 
> _______________________________________________
> live-devel mailing list
> live-devel at lists.live555.com
> http://lists.live555.com/mailman/listinfo/live-devel




More information about the live-devel mailing list