DLGPlayer
A media player for iOS based on FFmpeg 3.3.2.
DLGPlayer uses kolyvan/kxmovie as reference when written and NO deprecated functions and methods are used.
If you found any deprecated function or method, please submit an issue to me.
Great thanks for Konstantin Boukreev's kxmovie.
0. Screenshots
Orientation | Audio | Video |
---|---|---|
Portrait | ||
Landscape |
1. Build FFmpeg for iOS
(0) Support https (Optional)
If you want to build FFmpeg with OpenSSL to support https, please see How to build FFmpeg with OpenSSL first, or continue.
FFmpeg official site.
(1) Download FFmpeg source fromDownload and unzip ffmpeg-3.3.2.tar.bz2
kewlbear/FFmpeg-iOS-build-script to build FFmpeg for iOS
(2) UseFollow the steps in the README.md of kewlbear/FFmpeg-iOS-build-script to build FFmpeg for iOS.
(3) Put built FFmpeg include files and libraries into DLGPlayer/Externals/ffmpeg folder.
Put built "ffmpeg/include" and "ffmpeg/lib" folders into example project's "DLGPlayer/Externals/ffmpeg" folder.
2. Run demo
Build project and run demo on your device or simulator.
3. Play media
(1) Put any media files such as mp4 or mp3 into your server's folder.
Make sure those media files can be access by url (such as http://192.168.31.120/media.mp4) from browser.
Then input "http://192.168.31.120/media.mp4" into the text box on the top of the main view and go!
(2) Transfer any media files using file management.
Select "Local Files" in the main view.
Transfer the media files according to the tips on the top of the file management view.
Select any one media file listed in the table and enjoy it!
4. Usage
(1) Use DLGPlayerViewController to play a media file with HUD.
DLGPlayerViewController *vc = [[DLGPlayerViewController alloc] init];
vc.autoplay = YES;
vc.repeat = YES;
vc.preventFromScreenLock = YES;
vc.restorePlayAfterAppEnterForeground = YES;
vc.view.frame = self.view.frame;
[self.view addSubview:vc.view];
vc.url = @"http://192.168.31.120/media.mp4";
[vc open];
(2) Use DLGPlayer to play a media file without HUD.
DLGPlayer *player = [[DLGPlayer alloc] init];
UIView *v = player.playerView;
v.frame = self.view.frame;
[self.view addSubview:v];
[player open:@"http://192.168.31.120/media.mp4"];
[player play];
See DLGPlayerViewController class for more usage details.
5. Required frameworks and libraries
- Accelerate.framework
- AudioToolbox.framework
- CoreAudio.framework
- CoreGraphics.framework
- CoreMedia.framework
- MediaPlayer.framework
- OpenGLES.framework
- QuartzCore.framework
- VideoToolbox.framework
- libiconv.tbd
- libbz2.tbd
- libz.tbd
6. References
- FFmpeg
- kolyvan/kxmovie
- kewlbear/FFmpeg-iOS-build-script
- libav/gas-preprocessor
- Yasm
- CocoaAsyncSocket
- CocoaHTTPServer
- OpenSSL
- x2on/OpenSSL-for-iPhone
Thank you all!
7. License
See LICENSE.