Je suis en train de prototyper un client qui affiche des vidéos en continu à partir d'un HaiVision Barracuda via un client quicktime. J'ai été incapable de réduire la taille du tampon en dessous de 3,0 secondes ... pour cette application, nous avons besoin d'une latence aussi faible que le permet le réseau, et préférons les retards vidéo pour retarder. Je fais ce qui suit:Comment puis-je éliminer la latence dans la vidéo en temps réel?
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
NSString *path = [[NSBundle mainBundle] pathForResource:@"haivision" ofType:@"sdp"];
NSError *error = nil;
QTMovie *qtmovie = [QTMovie movieWithFile:path error:&error];
if(error != nil) {
NSLog(@"error: %@", [error localizedDescription]);
}
Movie movie = [qtmovie quickTimeMovie];
long trackCount = GetMovieTrackCount(movie);
Track theTrack = GetMovieTrack(movie,1);
Media theMedia = GetTrackMedia(theTrack);
MediaHandler theMediaHandler = GetMediaHandler(theMedia);
QTSMediaPresentationParams myPres;
ComponentResult c = QTSMediaGetIndStreamInfo(theMediaHandler, 1,kQTSMediaPresentationInfo,
&myPres);
Fixed shortdelay = 1<<15;
OSErr theErr = QTSPresSetInfo (myPres.presentationID,
kQTSAllStreams,
kQTSTargetBufferDurationInfo,
&shortdelay);
NSLog(@"OSErr %d", theErr);
[movieView setMovie:qtmovie];
[movieView play:self];
}
Je semblent obtenir des objets valides/structures tout le long des QTSPres, bien que le ComponentResult et OSErr sont tous deux de retour -50. La vidéo en streaming joue bien, mais le tampon est toujours 3.0seconds. Toute aide/perspicacité appréciée.
J
Ce tampon est toujours de 3,0 secondes par mètre ce que vous faites. Même si vous activez Instant-On dans votre client quicktime ... – Cipi