Node.js:获取一个mp4文件的视频和音频格式信息
Node.js: get video and audio format information of an mp4 file
我是node.js的新手。我需要为给定的视频文件提取音频和视频格式(编解码器)信息。多亏了这样的mplayer,我知道如何在bash中做到这一点:
$ mplayer -vo null -ao null -identify -frames 0 myvideo.mp4 2>/dev/null | grep FORMAT
ID_VIDEO_FORMAT=H264
ID_AUDIO_FORMAT=MP4A
我想知道是否有一个npm模块(库)可以让我获得相同的信息。或者,我可以启动上面的命令表单node.js并读取/解析stdout(我认为周围有很多例子)。不过,我更愿意使用node.js的"原生"解决方案。
好的,找到了…
该模块是流畅的ffmpeg(npm install fluent-ffmpeg
),以下是如何获取信息:
var ffmpeg = require('fluent-ffmpeg');
ffmpeg.ffprobe('/path/to/my/video.mp4',function(err, metadata) {
console.log(metadata);
});
或者更具针对性的例子:
var ffmpeg = require('fluent-ffmpeg');
ffmpeg.ffprobe('/path/to/my/video.mp4',function(err, metadata) {
var audioCodec = null;
var videoCodec = null;
metadata.streams.forEach(function(stream){
if (stream.codec_type === "video")
videoCodec = stream.codec_name;
else if (stream.codec_type === "audio")
audioCodec = stream.codec_name;
});
console.log("Video codec: %s'nAudio codec: %s", videoCodec, audioCodec);
});
输出:
Video codec: h264
Audio codec: aac
相关文章:
- 我可以设置HTML5文件上传的视频长度限制吗
- HTML5视频无法在chrome上工作,在服务器上托管后的IE,mov文件中的视频(quicktime格式)
- 通过Jquery更改html5中的视频(不同质量)文件
- 生成由文件输入在特定时间选择的视频文件的缩略图/快照
- 是否可以在不将其添加到DOM的情况下预加载和缓存视频文件
- Node.js:获取一个mp4文件的视频和音频格式信息
- 如何设置视频文件的预览,从输入类型='文件'中选择
- 显示不受支持的文件格式的<视频>回退消息
- 如何在 HTML 中降低视频文件的饱和度
- 有没有一种更快的方法来查找客户端和服务器端的所有图像、音频和视频文件类型
- 使用编解码器编码的视频文件.mov:Apple ProRes (apch) 无法通过 chrome 或 IE11 中的视
- 如何创建视频文件的blob
- 如何使用java脚本中的file Saver将视频文件从blob保存到本地硬盘上
- 从json文件中获取视频源和数据的视频播放器
- 如何使用youtube API获得视频文件的直接链接
- 如何将录制的视频保存到phonegap的指定文件中
- 如何嵌入一个m4v视频文件到我的html网页
- 使用Dropzone.js获取视频文件的持续时间
- Javascript或jQuery用于拍摄视频文件的第一秒快照
- 简单的CSS或JavaScript加载屏幕的Avada wordpress网站,同时加载一个大的视频文件,消失后,页面完