当前位置: 首页 > news >正文

ffmpeg开发者视频剪辑器

5G 时代的来临,加速了视频类作品的创作,由于现在的流量越来越便宜,网速越来越快,特别是流量无限用套餐,大家更愿意去看视频作品,特别是抖音的兴起,更是加速了小视频的流量。不会剪辑的我们该如何来创作自己的短视频?

本期小编来介绍一下最简单的视频处理技术:

视频剪辑

win10自带的视频播放器可以进行剪辑,对于我们这些不是专业水平的人员,此剪辑软件足够我们使用了

首先我们使用win10的电视与电影播放器打开需要进行剪辑的视频,然后点击播放器右下角下的画笔工具

然后,选择裁剪,便可以进行视频的剪辑功能了,是不是特别简单,若想在视频中写文字,可以使用绘制功能,这些简单的功能便可以成功对一个视频进行剪辑,当然不能比拟现在大型的剪辑软件,但是对我们这些剪辑小白足够了,毕竟我们也买不起那么昂贵的剪辑软件。

视频合并

视频剪辑完成后,如何进行视频的合并,当然,有很多的方法,这里小编介绍一下ffmpeg

FFmpeg是一套领先的音视频多媒体处理开源框架,采用LGPL或GPL许可证。它提供了对音视频的采集、编码、解码、转码、音视频分离、合并、流化、过滤器等丰富的功能,包含了非常先进的音频/视频编解码库libavcodec,具有非常高的可移植性和编解码质量。FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。

你可以到官网下载符合自己系统的软件
FFmpeg的功能主要包括视频采集功能、视频格式转换、视频抓图、给视频加水印等,主要包括如下几个命令行:

  1. fmpeg:一个命令行工具,可用于格式转换、解码或电视卡即时编码等;
  2. ffsever:一个 HTTP 、RTSP的实时广播流媒体服务器;
  3. ffplay:是一个简单的播放器,使用ffmpeg 库解析和解码,通过SDL显示;
  4. ffprobe : 一个多媒体流分析工具。 它从多媒体流中收集信息 并且以人类和机器可读的形式打印出来

视频剪辑

获取视频的信息
ffmpeg -i video.avi
采集usb摄像头视频命令:
ffmpeg -t 20 -f vfwcap -i 0 -r 8 -f mp4 cap1111.mp4
简单的抓屏:
ffmpeg -f gdigrab -i desktop out.mpg
将图片序列合成视频
ffmpeg -f image2 -i image%d.jpg video.mpg
把当前目录下的图片(image1.jpg. image2.jpg. 等...)合并成video.mpg
将视频分解成图片序列
ffmpeg -i video.mpg image%d.jpg
上面的命令生成image1.jpg. image2.jpg. ...
图片格式有:PGM. PPM. PAM. PGMYUV. JPEG. GIF. PNG. TIFF. SGI
将.avi转成gif动画
ffmpeg -i video_origine.avi gif_anime.gif
ffmpeg -i capx.mp4 -t 10 -s 320x240 -pix_fmt rgb24 jidu1.gif
从视频抽出声音
从avi提取mp3
ffmpeg -i source_video.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 sound.mp3
说明: 源视频:source_video.avi 音频位率:192kb/s 输出格式:mp3 生成的声音:sound.mp3
从flv提取mp3
ffmpeg -i source.flv -ab 128k dest.mp3
合成视频和音频
ffmpeg -i son.wav -i video_origine.avi video_finale.mpg
视频剪切
ffmpeg -ss 0:1:30 -t 0:0:20 -i input.avi -vcodec copy -acodec copy output.avi -r 提取图像的频率, -ss 开始时间, -t 持续时间

当然ffmpeg还有很多命令,大家可以参考官方教程

对于我们来讲,主要使用的功能便是视频合成,与视频添加背景音乐。

视频合成

首先我们需要下载ffmpeg到自己电脑上,并解压缩到本地,把需要合并的视频放入bin文件夹下并依次命名好:比如1.MP4,2.MP4.......等等,我们可以看到在bin文件夹下有3个exe文件,我们在此新建一个txt文件,这里便于我们输入命令,在txt里面输入如下:

以上顺序,便是我们我们视频合成的顺序,ok,在本文件夹下打开cmd命令框,输入如下命令:

ffmpeg -f concat -i filename.txt -c copy output.mp4
其中 filename.txt 便是我们新建的txt文件,里面写好了我们需要合并的小视频,然后输出output.mp4
这里最好统一一下视频的格式,不需要转码了

ok,以上,便可以成功的把我们的视频合并完成,可以上传到自己抖音或者头条了

视频添加背景音乐

有时候,需要我们添加背景音乐,虽然抖音或者其他平台都可以自动上传时,添加背景音乐,但是有些平台并不支持,且有些背景音乐我们并不喜欢,这里ffmpeg自然可以添加背景音乐

同样,把我们需要添加的背景音乐的视频与音频放到bin文件夹下,然后在本文件夹下打开cmd输入如下命令:

1、先去除源视频的音频轨,这里无论原始视频是否有背景音乐,都要执行如下命令
ffmpeg -i input.mp4 -c:v copy -an input-no-audio.mp4
2、再把新的音频混进去
ffmpeg -i input-no-audio.mp4 -i input.mp3 -c copy output.mp

原来使用ffmpeg来进行视频操作,如此简单,再也不用下载那么大的视频剪辑软件了,其他方面的命令行使用,小伙伴们可以参考以上命令行自行尝试。

当然当视频比较多时,我们便可以使用python+ffmpeg的方式来处理

更多transformer,VIT,swin tranformer
参考头条号:人工智能研究所
v号:启示AI科技

 动画详解transformer  在线教程

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【python】OpenCV—Optical Flow
  • 人工智能的新兴能力:我们是在追逐神话吗
  • 网络协议九 应用层 HTTPS
  • LeetCode 205 同构字符串
  • SpringBoot--05--整合WebSocket,实现全双工通信
  • python 已知x+y=8 求x*y*(x-y)的最大值
  • 一些有趣的XSS注入GAME
  • 【Delphi】中多显示器操作基本知识点
  • vmware安装openEuler操作系统
  • C++(11)类语法分析(2)
  • 【JAVA入门】Day21 - 时间类
  • ThinkPHP中Db事务的使用:删除操作的示例
  • JAVA SpringBoot jar 程序 Systemctl 生产环境部署
  • 函数声明与函数表达式的区别是什么?
  • 【数学建模】趣味数模问题——棋子颜色问题
  • [PHP内核探索]PHP中的哈希表
  • [译]CSS 居中(Center)方法大合集
  • docker-consul
  • eclipse(luna)创建web工程
  • GraphQL学习过程应该是这样的
  • Java 最常见的 200+ 面试题:面试必备
  • js对象的深浅拷贝
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • PAT A1050
  • vue 配置sass、scss全局变量
  • 彻底搞懂浏览器Event-loop
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 前端面试题总结
  • 嵌入式文件系统
  • 小试R空间处理新库sf
  • 【云吞铺子】性能抖动剖析(二)
  • ​1:1公有云能力整体输出,腾讯云“七剑”下云端
  • ​Java基础复习笔记 第16章:网络编程
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • ​数据链路层——流量控制可靠传输机制 ​
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • #微信小程序:微信小程序常见的配置传旨
  • (1)STL算法之遍历容器
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (poj1.3.2)1791(构造法模拟)
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (算法)Game
  • (转)用.Net的File控件上传文件的解决方案
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .gitignore文件使用
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .NET Core6.0 MVC+layui+SqlSugar 简单增删改查
  • .NET 中让 Task 支持带超时的异步等待
  • .NET_WebForm_layui控件使用及与webform联合使用