我有興趣創建可從中央服務器以YouTube風格傳輸視頻的iPhone應用程序。我想知道是否有人曾嘗試過這樣做,什麼是阻力最小,現有API等的路徑?我完全不知道這通常是如何完成的。我會使用套接字嗎?只是在這裏尋找一些方向。謝謝!編寫應用程序將視頻流式傳輸到iPhone
23
A
回答
19
如果您已經準備好流媒體服務器,那麼實現彈出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];
您需要處理時顯示的視頻播放器的看法(這是self
在這種情況下)控制器。
在iOS版3.2+ MPMoviePlayerViewController使其更容易:
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
是MediaPlayer的到FWViewController
附加的方法,你將在iOS版3.2+發現,它需要創建一個視圖控制器和推動它的護理如同在youtube.app中,使用從底部滑動的動畫製作動畫。
2
QuickTime視頻已經傳輸到手機。阻力最小的路徑是使用媒體播放器控制器,並將其指向流媒體服務器上的流媒體文件。
7
蘋果公司有關設置服務器端的流媒體一個詳細的文章:
和最佳做法注:
https://developer.apple.com/library/content/technotes/tn2224/_index.html
它不僅包含流媒體服務的架構信息以及用於構建它的工具,但對於必須實現的此類服務以及參考實時測試流也有一些要求。
3
使用此代碼使用低內存。在視頻流....
-(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];
}
1
雖然現有的回答都不錯,如果你需要使用非HTTP流(MMS或RTMP舉例來說)還是非蘋果支持的音頻/視頻編解碼器,事情就變得有點複雜。
我自己並不是專家,但我一直在使用VideoStreaming SDK來解決這些問題,它使定製客戶端變得更容易(後臺流,暫停流等)。如果你有這些要求,也許值得一看。
0
2018回答您可以使用AVPlayerViewController
因爲MPMoviePlayerController
以來的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. 將視頻流式傳輸到電視
- 2. 將音頻流式傳輸到iPhone
- 3. 將視頻流式傳輸到Roku
- 4. 通過Iphone流式傳輸視頻
- 5. 如何從iPhone流式傳輸視頻
- 6. 在iPhone上流式傳輸視頻
- 7. 使用Asp.Net Web API將視頻流式傳輸到客戶端應用程序
- 8. 使用Dropbox將視頻流式傳輸到自定義Android應用程序
- 9. 是否可以將YouTube視頻流式傳輸到C++應用程序?
- 10. 製作將視頻流式傳輸到Blackberry Playbook的應用程序?
- 11. Android以編程方式將視頻通過Wi-Fi流式傳輸到電視
- 12. 想通過Web應用程序流式傳輸OpenCV視頻
- 13. 如何在Django應用程序中流式傳輸視頻
- 14. 使用HTTP流媒體從iPhone應用流式傳輸音頻/視頻
- 15. iPhone視頻流應用程序
- 16. 流式傳輸FLV視頻
- 17. 使用exoplayer(DASH)流式傳輸YouTube視頻到Android應用程序
- 18. iOS - 開發iPhone應用程序以將相機視頻流式傳輸到計算機?
- 19. 將視頻上傳到iPhone應用程序的網站
- 20. 在Flex應用程序中播放Youtube視頻並將其流式傳輸
- 21. iPhone - 使用MPMoviePlayerViewController流式傳輸音頻
- 22. 以編程方式將Android內容流式傳輸到電視
- 23. 將Azure視頻流傳輸到Xamarin
- 24. 從iPhone應用程序流式傳輸MP3的最佳方式?
- 25. iphone視頻應用程序
- 26. 通過DLNA將視頻從WP 8.1流式傳輸到電視
- 27. 使用節點將視頻流式傳輸到HTML5
- 28. 使用Flash流式傳輸視頻
- 29. 捕獲,編碼,然後將視頻流從iPhone傳輸到服務器
- 30. 將音頻從服務器流式傳輸到iPhone
這不是爲我工作的任何方式已經過時了。 – Deepukjayan 2012-08-23 11:10:03
這個代碼用於流式傳輸嗎? – Dilip 2013-03-01 13:38:48