【问题标题】:How to convert m3u8 file to mp4 video using nodeJS with a remote S3 input如何使用带有远程 S3 输入的 nodeJS 将 m3u8 文件转换为 mp4 视频
【发布时间】:2022-11-24 08:31:33
【问题描述】:
目标是在我的 NodeJS 应用程序中将 .m3u8 文件(hls 流)转换为 .mp4 视频。我试过在控制台上使用 ffmpeg 做同样的事情并且工作正常但无法找到最近维护的包来帮助我在节点中执行此操作。
此外,我的输入文件不是位于本地目录中的普通文件,而是一个远程 AWS S3 对象 URL,否则所有人(公共存储桶)都可以访问它,简单来说,
我如何在 JS 中执行 ffmpeg -i https://mycloudfrontURL/myHLSfile.m3u8 output.mp4?
【问题讨论】:
标签:
node.js
amazon-s3
ffmpeg
【解决方案1】:
最好的解决方案是直接在您的 node.js 应用程序中使用 ffmpeg。
在你的电脑上安装ffmpeg。然后创建一个运行 ffmpeg 的 node.js 文件,如下所示:
const { execSync } = require('child_process')
const input = 'https://mycloudfrontURL/myHLSfile.m3u8'
const output = 'output.mp4'
execSync(`ffmpeg -y -i "${input}" "${output}"`)
您将能够执行 ffmpeg 并获得与从终端运行它相同的结果。确保安装了ffmpeg,如果它不起作用,请指明完整路径。
如果这对您有用,请为解决方案投票。