从节点到 iOS 应用程序的 HLS
HLS from node to iOS app
我在您可以上传视频(.mp4、.avi 等)的节点中创建了一个 API。然后,视频由 swift 中的 iOS 应用程序请求。
我想从应用程序使用 HTTP 直播。你能帮我如何将视频文件转换为块 .ts 并生成播放列表文件 (m3u8) 以供应用程序使用吗?
这是正确的流程?
最好的解决方案是什么?
谢谢!
ffmpeg 自带 HLS 流媒体功能。
ffmpeg -i "input" output.m3u8
欲了解更多信息,请访问:ffmpeg hls documentation
我终于有了一个解决方案,我像这样使用 fluent-ffmpeg :
var ffmpeg = require('fluent-ffmpeg');
ffmpeg(video, { timeout: 432000 })
.addOption('-level', 3.0)
// size
.addOption('-s','640x360')
// start_number
.addOption('-start_number', 0)
// set hls segments time
.addOption('-hls_time', 10)
// include all the segments in the list
.addOption('-hls_list_size', 0)
// format -f
.format('hls')
// setup event handlers
.on('start', function(cmd) {
console.log('Started ' + cmd);
})
.on('error', function(err) {
logger.error('an error happened: ' + err.message);
})
.on('end', function() {
logger.debug('File has been converted succesfully');
})
.save(outputDir)
我在您可以上传视频(.mp4、.avi 等)的节点中创建了一个 API。然后,视频由 swift 中的 iOS 应用程序请求。
我想从应用程序使用 HTTP 直播。你能帮我如何将视频文件转换为块 .ts 并生成播放列表文件 (m3u8) 以供应用程序使用吗?
这是正确的流程? 最好的解决方案是什么?
谢谢!
ffmpeg 自带 HLS 流媒体功能。
ffmpeg -i "input" output.m3u8
欲了解更多信息,请访问:ffmpeg hls documentation
我终于有了一个解决方案,我像这样使用 fluent-ffmpeg :
var ffmpeg = require('fluent-ffmpeg');
ffmpeg(video, { timeout: 432000 })
.addOption('-level', 3.0)
// size
.addOption('-s','640x360')
// start_number
.addOption('-start_number', 0)
// set hls segments time
.addOption('-hls_time', 10)
// include all the segments in the list
.addOption('-hls_list_size', 0)
// format -f
.format('hls')
// setup event handlers
.on('start', function(cmd) {
console.log('Started ' + cmd);
})
.on('error', function(err) {
logger.error('an error happened: ' + err.message);
})
.on('end', function() {
logger.debug('File has been converted succesfully');
})
.save(outputDir)