Jestem zainteresowany tworzeniem aplikacji na iPhone'a, która umożliwia strumieniowe przesyłanie wideo z centralnego serwera w stylu YouTube. Zastanawiam się, czy ktoś kiedykolwiek próbował to zrobić wcześniej, jaka jest ścieżka najmniej odpornych, istniejących interfejsów API itp.? Naprawdę nie wiem nic o tym, jak to się robi. Czy pracowałbym z gniazdkami? Po prostu szukam tu jakiegoś kierunku. Dzięki!Pisanie aplikacji do strumieniowego przesyłania wideo do iPhone'a
Odpowiedz
Jeśli masz serwer streamingowy gotowy i gotowy, całkiem łatwo jest zaimplementować kontroler wideo, który wyskoczy w stylu youtube.
NSString *videoURLString = @"http://path-to-iphone-compliant-video-stream";
NSURL *videoURL = [NSURL URLWithString:videoURLString];
MPMoviePlayerController moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];
[moviePlayer prepareToPlay];
[moviePlayer play];
[self.view addSubview:moviePlayer.view];
trzeba obsłużyć kontroler że widok wyświetlacza odtwarzacza wideo (która jest self
w tym przypadku).
iOS 3.2 lub nowszym W MPMoviePlayerViewController jeszcze łatwiejsze:
NSString *videoURLString = @"http://path-to-iphone-compliant-video-stream";
NSURL *videoURL = [NSURL URLWithString:videoURLString];
MPMoviePlayerViewController *moviePlayerView = [[[MPMoviePlayerViewController alloc] initWithContentURL:videoURL] autorelease];
[self presentMoviePlayerViewControllerAnimated:moviePlayerView];
presentMoviePlayerViewControllerAnimated
jest dodatkowa metoda A MEDIAPLAYER do FWViewController
które znajdziesz w iOS 3.2 lub nowszym i dba o stworzenie kontrolera widoku i przesuwając ją na stos, animując go animacją zsuwania się z dołu, jak w youtube.app.
Filmy wideo QuickTime są już przesyłane strumieniowo do telefonu. Ścieżką najmniejszego oporu byłoby użycie kontrolera odtwarzacza multimediów i skierowanie go do pliku multimediów strumieniowych na serwerze transmisji strumieniowej.
Apple ma szczegółowy artykuł na temat konfiguracji po stronie serwera do strumieniowania multimediów:
i Best Practices UWAGA:
https://developer.apple.com/library/content/technotes/tn2224/_index.html
Nie tylko zawiera on informacje o architekturze usługi transmisji strumieniowej i narzędzia użyte do jego zbudowania, ale ma również pewne wymagania co do tego rodzaju usługi, które muszą zostać spełnione, oraz odnośniki do strumieni testowych na żywo.
Ten kod służy do korzystania z małej ilości pamięci. Na streaming video ....
-(IBAction)playMovie:(NSURL *) theURL
{
NSURL *fileURL = theURL;
MPMoviePlayerController *moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:fileURL];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlaybackComplete:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayerController];
[self.view addSubview:moviePlayerController.view];
moviePlayerController.useApplicationAudioSession = NO;
moviePlayerController.fullscreen = YES;
[moviePlayerController play];
}
- (void)moviePlaybackComplete:(NSNotification *)notification
{
MPMoviePlayerController *moviePlayerController = [notification object];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayerController];
[moviePlayerController.view removeFromSuperview];
[moviePlayerController release];
}
Chociaż dotychczasowe odpowiedzi są dobre, jeśli trzeba użyć strumieni innych niż HTTP, RTMP (MMS lub na przykład) lub spoza firmy Apple obsługiwanych kodeków audio/wideo, robi się nieco bardziej skomplikowane.
Sam nie jestem ekspertem, ale używam tego VideoStreaming SDK, aby rozwiązać te problemy, co znacznie ułatwia personalizację klienta (streaming w tle, wstrzymywanie strumieni itp.). Może być wart obejrzenia, jeśli masz te wymagania.
2018 odpowiedź Można użyć AVPlayerViewController
od MPMoviePlayerController
jest przestarzała od iOS 9
NSURL *url = [NSURL URLWithString:videoUrl];
_playerViewController = [[AVPlayerViewController alloc] init];
_playerViewController.player = [AVPlayer playerWithURL:url];
_playerViewController.player.volume = 1;
_playerViewController.showsPlaybackControls = YES;
_playerViewController.view.frame = CGRectMake(....);
[self.view addSubview:_playerViewController.view];
- 1. Tworzenie strony internetowej do strumieniowego przesyłania wideo
- 2. Używanie Tomcat do przesyłania strumieniowego
- 3. Jak powinienem utworzyć aplikację internetową do strumieniowego przesyłania wideo?
- 4. Plik .ism do przesyłania strumieniowego wideo HTML 5?
- 5. Gdzie są narzędzia do strumieniowego przesyłania strumieniowego MAC OSX
- 6. Jak uzyskać statystyki ruchu sieciowego dla aplikacji do strumieniowego przesyłania wideo w systemie Android?
- 7. Czy można używać WebRTC do przesyłania strumieniowego wideo z serwera do klienta?
- 8. Czy używasz produktów do strumieniowego przesyłania zdarzeń?
- 9. Postęp przesyłania strumieniowego AVPlayer
- 10. Gdzie można znaleźć przykłady strumieniowego przesyłania wideo na żywo (GStreamer)?
- 11. Czy wideo WebRTC jest szyfrowane przed rozpoczęciem przesyłania strumieniowego?
- 12. dotyczące przesyłania strumieniowego, jak działa program podobny do Skype?
- 13. Bufor do przesyłania strumieniowego do klienta w Express
- 14. Używanie szyfrowania openssl do przesyłania strumieniowego HTTP firmy Apple
- 15. WebAPI Wniosek Obsługa przesyłania strumieniowego
- 16. Najlepsze praktyki przesyłania strumieniowego audio
- 17. Uszkodzona rura podczas przesyłania strumieniowego
- 18. Jak przekazać parametr do zadania przesyłania strumieniowego Hadoop Pythona?
- 19. Rozwiązanie do przesyłania strumieniowego JSON za pomocą oboe.js w AngularJS?
- 20. Odtwarzanie strumieniowego wideo w WPF
- 21. Aplikacja do strumieniowego przesyłania strumieniowego na iOS nie odtwarza muzyki w trybie tła
- 22. Punkty kontrolne przesyłania strumieniowego iskry dla DStreams
- 23. Skonfiguruj serwer Red5 z FFmpeg do przesyłania strumieniowego na żywo do iOS
- 24. Dlaczego niektóre filmy MP4 nie rozpoczną przesyłania strumieniowego do momentu pobrania całego pliku?
- 25. Dlaczego wsHttpBinding nie obsługuje przesyłania strumieniowego?
- 26. Klient zamyka połączenie podczas przesyłania strumieniowego m4v z apache do chrome z jplayerem
- 27. Jak wysłać film wideo z kamery iPhone'a na serwer w celu przesyłania strumieniowego na żywo?
- 28. Facebook żywo wideo można przeglądać tylko podczas przesyłania strumieniowego mój ekran Mac
- 29. trzeba utworzyć miniaturę do przesyłania wideo (bardzo prosty kod)
- 30. Czy potrzebuję aplikacji Dropbox do przesyłania plików do mojego Dropbox?
To nie działa na mnie w dowolny sposób. – Deepukjayan
czy ten kod jest używany do przesyłania strumieniowego? – Dilip