cdo*_*ern 1 javascript mp4 h.264 node.js raspberry-pi
我正在 Raspberry Pi 上拍摄视频,并希望将原始 h264 文件转换为 mp4 文件,或者像使用命令行/Python 那样将其包装在 mp4 中。但是,我希望在 NodeJS 中做到这一点。似乎有很多 node JS 库在 npm 上使用了 Raspberry Pi 的 mp4-box 库。但是,它们都没有适当的文档或似乎适合我的项目的需要。我不知道我是否遗漏了什么或者这是不可能的。
小智 5
没有直接的方法可以将 H.264 编码的文件嵌入到 MP4 容器中,而无需从头开始实际构建整个文件结构。这是可行的,但为了做到这一点,您需要了解 mp4 容器格式(它在很大程度上基于 Quicktime MOV 容器)并使用TypedArrays可以保存为 MP4 文件的结果构建它(我在这里创建了一个粘贴描述容器文件结构)。
另一种方法是从 Node.js生成FFmpeg(或直接使用该软件)并提供 H.264 作为输入并将其保存为 MP4 文件。这很直接。该命令将类似于:
ffmpeg -i yourH264encodedFileHere -c:v copy mp4FileContainer.mp4
Run Code Online (Sandbox Code Playgroud)
要从 Node 运行它,可以使用spawn(参见示例)。
这种基本方法的替代方法是安装和使用fluent-ffmpeg NPM 模块,它可以完成所有繁重的工作。
var ffmpeg = require("fluent-ffmpeg");
var inFilename = "video.h264";
var outFilename = "video.mp4";
ffmpeg(inFilename)
.outputOptions("-c:v", "copy") // this will copy the data instead or reencode it
.save(outFilename);
Run Code Online (Sandbox Code Playgroud)
一些注意事项:
ffmpeg.setFfmpegPath(pathToFFmpegBin)代替。| 归档时间: |
|
| 查看次数: |
5416 次 |
| 最近记录: |