基于ffmpeg.wasm创建一个在线视频处理工具箱

ffmpeg是一款强大的音频视频处理工具,使用非常广泛,几乎所有市面上常见的影音类 剪辑类软件都会集成该工具,同样视频翻译配音软件中也将其集成在内。

唯一比较可惜的是,这是个命令行工具,命令复杂参数量庞大,非专业人士使用起来难度度不小,即便只是简简单单的抽离 提取 裁剪等。

因此花了点时间,基于ffmpeg的wasm版本搞了个网页版的在线视频处理工具箱。

地址 tool.pyvideotrans.com

该工具具有以下特点

  1. 可离线断网使用,当页面显示"已可用"时,拔掉网线也能照常用

  2. 免费无限制,限制只取决于你的可用内存

  3. 支持如下功能

从视频中提取音频

截取视频或音频的时间片段

从视频中截取某一时刻的图片

音视频格式转换

将字幕嵌入视频

视频和音频合并混入

功能不多,但都是常用功能,后续仍将陆续增加更多功能。

使用方法

可同时上传2个音视频文件和1个srt字幕文件。

例如

  1. 只上传一个视频文件,可进行音频提取、片段截取、图像截取、格式转换

  2. 上传2个视频文件,功能同上,可对两个视频分别各自操作。

  3. 有上传视频的同时,也上传了字幕,那么就可以额外使用嵌入字幕功能,如果有两个视频,可两个视频里都嵌入字幕。

  4. 只上传一个或两个音频,可使用截取片段、格式转换功能,两个音频同样可以分别各自操作

  5. 上传一个视频和一个音频,可以使用所有功能,包括音频视频合并为一个文件。长度以视频长度为准。

注意事项

  1. 操作都是基于本地内存,因此如果你的本机内存不够大,不要处理太大的视频,比如超过1G

  2. 界面中有两个上传区域,在上传了视频或音频后,将占用该区域进行预览播放,如果不满意可以删掉重新上传

3.在上传了srt字幕后,将不占用该上传区域,而是在底部显示字幕内容,因此如果需要用到嵌入字幕功能,请先上传字幕

  1. 支持的格式。

    视频:mp4 mov mkv avi mpeg

    音频:wav mp3 flac acc

实现原理

页面加载后自动实例化ffmpeg.wasm,对上传的文件读取后放入内存,然后根据所选用的功能组装命令,最后运行ffmpeg.wasm执行,执行结果封装为blob二进制数据提供下载按钮。

相关推荐
大飞哥软件自习室6 小时前
视频批量截图并自动拼图是怎么做的:从四步向导、三种截帧模式到等距抽样与日志兜底的实现拆解,附 FFmpeg 调用与线程模型说明
ffmpeg·音视频·批量截图
todoitbo1 天前
把 K-Lite「什么都能播」搬上鸿蒙 PC:影匣播放器的 FFmpeg + libass 原生移植实录
华为·ffmpeg·harmonyos·鸿蒙
FlightYe2 天前
音视频修炼之容器与协议(四):RTSP详解
android·linux·ffmpeg·音视频·dash
架构师伯子明3 天前
ffmpeg学习4:opencv在音视频领域常用指令
opencv·学习·ffmpeg
Android系统攻城狮4 天前
Linux FFmpeg深度解析之avio_open调用流程与实战(三十八)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
Android系统攻城狮5 天前
Linux FFmpeg深度解析之av_guess_format调用流程与实战(三十六)
linux·运维·服务器·ffmpeg·ffmpeg音视频进阶
Android系统攻城狮6 天前
Linux FFmpeg深度解析之av_write_frame调用流程与实战(三十三)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
小豆庄8 天前
测试视频里的人脸车牌敏感信息自动化脱敏方案
计算机视觉·目标跟踪·ffmpeg·音视频·边缘计算·视频·敏捷流程
Android系统攻城狮9 天前
Linux FFmpeg深度解析之avcodec_default_get_encode_buffer调用流程与实战(二十八)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频
小豆庄10 天前
监控视频脱敏的追踪漂移与ID撞号陷阱
目标跟踪·ffmpeg·音视频·视频·敏捷流程