版本记录
版本号 | 时间 |
---|---|
V1.0 | 2017.12.30 |
前言
iOS系统中有很多方式可以播放视频文件,这里我们就详细的说明下播放视频文件的原理和实例。希望能帮助到大家,大家能喜欢。感兴趣的可以参考上面几篇。
1. 几种播放视频文件的方式(一) —— 总结播放视频的几种方式(一)
2. 几种播放视频文件的方式(二) —— 基于MediaPlayer框架的视频播放(一)
3. 几种播放视频文件的方式(三) —— 基于AVFoundation框架视频播放(一)
4. 几种播放视频文件的方式(四) —— 基于AVKit框架的视频播放(一)
MobileVLCKit框架
在开始之前先给出教程,也可以直接点击MobileVLCKit静态库下载链接进行下载。GitHub上也有人基于MobileVLCKit
框架封装的一个基于VLC的播放器。
Introduction - 简介
VLCKit
是在Mac OS X和iOS上的libvlc
外部接口的Objective-C
封装。
它包括播放,播放列表,流媒体和转码的基本类。 做简单的媒体播放器(相当于QuickTime
播放器或MPlayer OS X
)和做基于QuickTime
的播放器难易程度一样;因此,这真的很容易。 MobileVLCKit
是专门针对iOS平台的一个子集,通过播放列表,元数据处理和网络流式传输,实现完整的播放体验。 如果您需要媒体数据库,MediaLibraryKit
将在很短时间内满足你的需求。
Building the framework for macOS - 在macOS上编译框架
- 克隆http://code.videolan.org/videolan/VLCKit.git
- 打开
VLCKit.xcodeproj
- 确保
Build libvlc
target被选择 - 编译工程
- 选择
VLCKit
target并编译
这将自动获取和构建libvlc
以及随附的类。 另外,为了获得更多的选择,你可以在终端上手动运行buildVLCKit.sh
脚本。 添加-h
标志来查看所有可用的选项。
Building the framework for iOS - 在iOS平台编译框架
- 拷贝 http://code.videolan.org/videolan/VLCKit.git
- 打开您最喜爱的终端应用程序,如
Terminal.app
或iTerm 2
,并导航到您的checkout
。 - 执行
./buildMobileVLCKit.sh
- 检查
-h
获取更多选项
这将自动获取和构建libvlc
以及它的依赖和伴随的类。
如果你想建立一个适用于模拟器和设备的库:
- 执行
./buildMobileVLCKit.sh
- 使用xcode命令行工具来构建通用库:
lipo -create Release-iphoneos/libMobileVLCKit.a Release-iphonesimulator/libMobileVLCKit.a -o libMobileVLCKit.a
或者构建支持设备和模拟器的静态框架:
./buildMobileVLCKit.sh -f
注意:
MobileVLCKit
Xcode项目还允许您在构建脚本成功一次后构建动态框架(需要iOS 8+)。
警告:使用静态模式时,当前的构建过程会生成一个非常大的库。 初始大小的90%将在链接上被剥离。
依存关系警告:构建的脚本自动获取依赖关系并在本地构建它们,请注意,通过
Homebrew
进行的系统级安装可能会干扰本地构建脚本。 如果遇到与autoconf
相关的错误,请尝试从PATH中删除/ usr / local
,擦除sourceTree
并开始构建。
Building the framework for tvOS - 在tvOS中构建框架
- 克隆http://code.videolan.org/videolan/VLCKit.git
- 打开您最喜爱的终端应用程序,如
Terminal.app
或iTerm 2
,并导航到您的checkout
。 - 执行
./buildMobileVLCKit.sh -t
-
-h
中获取额外选项
这将自动获取和构建libvlc
以及它的依赖和伴随的类。
如果你想建立一个适用于模拟器和设备的库:
- 执行
./buildMobileVLCKit.sh
- 使用xcode命令行工具来构建通用库:
lipo -create Release-appletvos/libTVVLCKit.a Release-appletvsimulator/libTVVLCKit.a -o libTVVLCKit.a
或者构建支持设备和模拟器的静态框架:
./buildMobileVLCKit.sh -t -f
注意:
MobileVLCKit
Xcode项目还允许您在构建脚本成功一次后构建一个动态框架。
警告:使用静态模式时,当前的构建过程会生成一个非常大的库。 初始大小的90%将在链接上被剥离。
依存关系警告:构建的脚本自动获取依赖关系并在本地构建它们;请注意,通过
Homebrew
进行的系统级安装可能会干扰本地构建脚本。 如果遇到与autoconf
相关的错误,请尝试从PATH中删除/ usr / local
,擦除sourceTree
并开始构建。
Basic usage in your application - 在您app中的基本使用
看一下代码
// Set up a videoView by hand. You can also do that in the nib file
videoView = [[VLCVideoView alloc] initWithFrame:[[window contentView] bounds]];
[[window contentView] addSubview:videoView];
[videoView setAutoresizingMask: NSViewHeightSizable|NSViewWidthSizable];
// Init the player object
player = [[VLCMediaPlayer alloc] initWithVideoView:videoView];
[player setMedia:[VLCMedia mediaWithPath:@"/to/my/movie"]];
[player play];
Sample code - 示例代码
我们提供适用于iOS和OS X的示例代码。
1. Examples_OSX
Examples_OSX
包含3个不同的项目。
-
BasicPlayerWithPlaylist
:这个相当不错。 拖放文件,点击播放/暂停,看他们按照你想要的顺序在同一个窗口中播放。
-
FlashVideoDownloader
:这个例子说明了如何部署VLC的URL解析机制来访问实际播放的媒体以及如何存储它。
-
iPodConverter
:VLCKit
包括流媒体和转码功能,包括一些预定义的配置文件。 在这个示例中,您将看到如何使用它们。 在指定的区域放置一个文件。 点击转换,查看正在转换的文件,包括进度条。
2. Examples_iOS
Examples_iOS
包括两个使用Xcode 5和iOS 7开发的不同项目。 只需稍作修改,他们也将在iOS 5和iOS 6上工作。
-
SimplePlayback
:它和它的名字一样,很简单。 启动应用程序,观看从我们的服务器上的实时流传输到您的iOS模拟器或设备的文件。
-
DropIn-Player
:这是一个更高级的示例项目,实现了一个基本的视图控制器,可以嵌入到你自己的应用程序中。 它允许任何类型的媒体播放,字幕处理,多音轨处理,纵横比自定义,播放位置操作和显示,音量。 所有这些,都是在一个自包含的类和一个单独的xib文件中实现的。
Are there apps actually deploying VLCKit on OS X and iOS? - 是否有应用程序实际在OS X和iOS上部署VLCKit?
下面列出几个app
- Amahi for iOS by Amahi
- Blackbox by Rotapp
- Dreambox-Live by Rotapp (discontinued)
- Fleex player by fleex.tv
- iMagneto
- Korri player by Korrisoft
- Lunettes by the VideoLAN team
- Ma TV Star by Korrisoft
- Movie Player 2 by Dominic Rodemer Online Media
- Player multimédia TNT by Korrisoft
- VLC for iOS by the VideoLAN team
- VLC Streamer by HobbyistSoftware
随意按字母顺序添加您的应用程序。 请注意,我们没有列出违反VLCKit
许可条款的应用程序 - 遗憾的是,有不少。
Compilation tips - 编译提示
- 如果您不关心最新的内容,请尝试使用stable分支,例如
2.1- stable
。 - 构建树有什么可以被描述为
Git子模块
,他们有时可能会失去同步。 如果MobileVLCKit / ImportedSources / vlc
中的代码不同步,或者您需要强制重建,则可能需要删除contrib / iPhoneOS-armv7 * /
。 - 在某些情况下,
libtoolize
可能会干扰构建工具。 您可能需要在PATH的开头添加$ PATH / MobileVLCKit / ImportedSources / vlc / extras / tools / build / bin
并使用它。
Related
External Links
- Introduction to The Objective-C 2.0 Programming Language
- Interface Builder
- Mobile VLCKit for Xamarin.iOS
后记
未完,待续~~~