【发布时间】:2015-09-03 22:12:52
【问题描述】:
我正在尝试在 iOS 应用中使用 ffmpeg 将本地 .mp4 视频转换为 HLS。我已经使用 pods 集成了 ffmpeg 包装器并生成了所有分段的 .ts 文件和 m3u8 文件,但是 .m3u8 播放列表文件中没有列出一些 .ts 文件段,如下所示。它总是列出最后 5 个视频片段。
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:2
#EXT-X-MEDIA-SEQUENCE:13
#EXTINF:2,
out13.ts
#EXTINF:1,
out14.ts
#EXTINF:2,
out15.ts
#EXTINF:2,
out16.ts
#EXTINF:1,
out17.ts
#EXT-X-ENDLIST
我使用以下代码生成 HLS。
FFmpegWrapper *wrapper = [[FFmpegWrapper alloc] init];
[wrapper convertInputPath:inputFilePath outputPath:outputFilePath options:nil progressBlock:^(NSUInteger bytesRead, uint64_t totalBytesRead, uint64_t totalBytesExpectedToRead) {
} completionBlock:^(BOOL success, NSError *error) {
success?NSLog(@"Success...."):NSLog(@"Error : %@",error.localizedDescription);
}];
有没有其他方法可以做到这一点?
【问题讨论】:
-
我正在考虑让用户的设备对他们拍摄的视频进行编码,而不是在服务器上进行。我很好奇编码是否会在用户方面花费太长时间。你能评论一下你的经历吗?
-
关于@GaziAlankus 问题的任何信息?我也很好奇需要多长时间
-
我已经尝试了长达 15 分钟的视频,而且它一切正常,无需花费太多时间。 HLS 模块在几秒钟内完成。可能需要一些时间,具体取决于视频质量和视频长度。
标签: ios video ffmpeg m3u8 http-live-streaming