js 实现浏览器端进行视频剪辑合并裁剪等功能

以前视频转换我们需要下载软件进行转换,有些还是收费的,或者在服务器端进行ffmpeg压缩转换,那么能不能再浏览器中直接进行视频编辑转换压缩呢,html5给了我们一个答案,能,现在ffmpeg推出了js版本ffmpeg.js ,可以在线进行视频压缩编辑处理,是不是很强大呢
今天我们来演示一下如何通过ffmpeg.js进行浏览器端视频编辑压缩处理,今天我们需要用到html5中的work特性来进行后台压缩
可以点击右上角在线编辑运行按钮预览效果,注意,由于ffmpeg.js很大,有22M,所以需要加载一段时间
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>videoconverter.js - 浏览器视频转换</title>
<style type="text/css">
#terminal {
background: #fff;
color: #000;
font-family: "Lucida Console", "Lucida Sans Typewriter", Monaco, "Bitstream Vera Sans Mono", monospace;
font-weight: lighter;
border: solid 1px;
padding: 10px;
margin-top: 35px;
}
.terminal-top-bar {
background: rgb(233, 233, 233);
height: 14px;
font-size: 12px;
line-height: 14px;
margin-top: -30px;
margin-left: -11px;
margin-right: -11px;
padding: 3px;
text-align: center;
color: rgb(92, 92, 92);
border: solid 1px;
border-radius: 2px 2px 0 0;
}
.terminal-header {
padding-top: 15px;
}
#input {
width: 80%;
padding: 4px;
}
#run {
width: 15%
}
#output {
white-space: pre-wrap;
word-break: break-all;
}
#output.closed {
max-height: 200px;
overflow-y: scroll;
}
#files {
text-align: center;
}
#files img {
max-width: 80%;
}
.sample-commands {
text-align: center;
}
</style>
</head>
<body>
<div class="container-fluid">
<div class='content'>
<div class='inner-content'>
<div class="header clearfix">
<div class="pull-left">
<H1>在线js视频格式转换截图翻转编辑ffmpeg等操作
</H1>
</div>
</div>
<div class="clearfix">
<p>
待转换的视频
</p>
<video src="/bfwrepo/video/bigbuckbunny.webm" width="100%" autoplay="autoplay" controls="controls"></video>
<p>
待处理的图片
</p>
<img src="/bfwrepo/image/bigbuckbunny.jpg" width="100%" />
<!--<p>-->
<!-- 选择视频<input type="file" accept="video/*" id="videoselect" />-->
<!--</p>-->
<div class="sample-commands">
<button class="plain-button sample" data-command="-help">帮助</button>
<button class="plain-button sample" data-command="-codecs">所有编码</button>
<button class="plain-button sample" data-command="-i input.jpeg -vf vflip output.jpeg"> 垂直翻转图片</button>
<button class="plain-button sample" data-command="-i input.jpeg -vf hflip output.jpeg"> 水平翻转图片</button>
<button class="plain-button sample" data-command="-i input.webm -vf showinfo -strict -2 output.mp4">在线视频转mp4格式</button>
<button class="plain-button sample" data-command="-t 5 -i input.webm -vf showinfo -strict -2 output.gif">在线视频转gif格式</button>
<button class="plain-button sample" data-command="-i input.webm -s 100x100 -f image2 -vf fps=fps=1,showinfo -an out%d.jpeg">视频截图</button>
<button class="plain-button sample" data-command="-i input.webm -vf"showinfo,drawbox=enable='between(n,0,60)' : x=10 : y=10 : w=50 : h=50 : color=red,drawbox=enable='gte(t,1)' : x=100 : y=100 : w=200 : h=200 : color=green" -strict -2 output.mp4">在视频上画个框</button>
<button class="plain-button sample" data-command="-t 3 -i input.webm -vf showinfo -strict -2 -c:v libx264 output.mp4">视频用H.264编码转换</button>
<button class="plain-button sample" data-command="-t 3 -i input.webm -vf showinfo -strict -2 -c:v libvpx-vp9 output.webm">视频用VP9编码转换</button>
</div>
<div id="terminal">
<div class="terminal-top-bar">
...点击查看剩余70%
网友评论0