联系我们
简单又实用的WordPress网站制作教学
当前位置:网站首页 > 程序开发学习 > 正文

NodeJS第十六章(Ffmpeg)

作者:小教学发布时间:2023-09-18分类:程序开发学习浏览:143


导读:FFmpeg是一个开源的跨平台多媒体处理工具,可以用于处理音频、视频和多媒体流。它提供了一组强大的命令行工具和库,可以进行视频转码、视频剪辑、音频提取、音视频合并、流媒体传输等操作...

FFmpeg是一个开源的跨平台多媒体处理工具,可以用于处理音频、视频和多媒体流。它提供了一组强大的命令行工具和库,可以进行视频转码、视频剪辑、音频提取、音视频合并、流媒体传输等操作.

FFmpeg的主要功能和特性:
  1. 格式转换:可以将一个媒体文件从一种格式转换为另一种格式,支持几乎所有常见的音频和视频格式,包括mpeg mp4、avi、mkv、mov、flv、mp3、aac等.
  2. 视频处理:FFmpeg可以进行视频编码、解码、裁剪、旋转、缩放、调整帧率、添加水印等操作。你可以使用它来调整视频的分辨率、剪辑和拼接视频片段,以及对视频进行各种效果处理.
  3. 音频处理:FFmpeg可以进行音频编码、解码、剪辑、混音、音量调节等操作。你可以用它来提取音频轨道、剪辑和拼接音频片段,以及对音频进行降噪、均衡器等处理.
  4. 流媒体传输:FFmpeg支持将音视频流实时传输到网络上,可以用于实时流媒体服务、直播和视频会议等应用场景。
  5. 视频处理效率高:FFmpeg是一个高效的工具,针对处理大型视频文件和高分辨率视频进行了优化,可以在保持良好质量的同时提供较快的处理速度。
  6. 跨平台支持:FFmpeg可以在多个操作系统上运行,包括Windows、MacOS、Linux等,同时支持多种硬件加速技术,如NVIDIA CUDA和英特尔快速同步视频。
安装

Http://ffmpeg.p2hp.com/download.html

NodeJS第十六章(Ffmpeg)

选择对应的操作系统进行下载就可以了,下载完成配置一下环境变量就ok了

输入ffmpage -version不报错即可

NodeJS第十六章(Ffmpeg)

子进程配合FFMPEG

  1. 简单的演示视频转GIF-i表示输入的意思
const {execSync} = require('child_process')
execSync(`ffmpeg -i test.mp4 test.gif`,{stdio:'inherit'})

NodeJS第十六章(Ffmpeg)

  1. 添加水印

-VF就是视频过滤器

DrawText添加文字字体大小大小XY垂直水平方向字体颜色Text水印文案全部小写

const {execSync} = require('child_process')

execSync(`ffmpeg -i test.mp4 -vf drawtext=text="XMZS":fontsize=30:fontcolor=white:x=10:y=10 test2.mp4`,{stdio:'inherit'})

NodeJS第十六章(Ffmpeg)

  1. 视频裁剪+控制大小

-ss起始时间

-至结束事件

SS写在-I的前面可能会导致精度问题,因为视频还没解析就跳转到了相关位置,但是解析速度快

SS写在-I后面精度没问题,但是解析速度会变慢

const {execSync} = require('child_process')

execSync(`ffmpeg -ss 10 -to 20 -i test.mp4  test3.mp4`,{stdio:'inherit'})
  1. 提取视频的音频
const {execSync} = require('child_process')
execSync(`ffmpeg -i test.mp4 test.mp3`,{stdio:'inherit'})

NodeJS第十六章(Ffmpeg)

  1. 去掉水印

Wh宽高
XY垂直水平坐标
Delogo使用的过滤参数删除水印

const {execSync} = require('child_process')

execSync(`ffmpeg -i  test2.mp4 -vf delogo=w=120:h=30:x=10:y=10 test3.mp4`,{stdio:'inherit'})

NodeJS第十六章(Ffmpeg)




标签:节点js第十六章(Ffmpeg)_小满zs的博客


程序开发学习排行
最近发表
网站分类
标签列表