音视频剪辑|FFMPEG|windows10下的音视频格式转换,遮挡填充,GIF动图制作,背景音频抽取,替换

这篇具有很好参考价值的文章主要介绍了音视频剪辑|FFMPEG|windows10下的音视频格式转换,遮挡填充,GIF动图制作,背景音频抽取,替换。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:

最近对于音视频和图像的处理问题比较感兴趣,但发现很多目前需要的功能要么需要付费但不会过于麻烦,要么比较麻烦,很可能某个功能实现需要安装很多软件

例如,视频转GIF动图,该功能的实现要么使用Photoshop全家桶,要么找在线网站,或者是wps充会员,或者找其它方法,但其实FFMPEG这个软件就可以搞定一切了。

那么,选择FFMPEG的理由有哪些呢?

第一,FFMPEG可以跨平台,也就是mac,Linux,windows都可以部署使用,甚至可以使用dockers这样的容器,当然了,在Linux下如果有批量剪辑音视频的需求,会非常方便,虽然可能需要编写脚本

第二,FFMPEG是一个开源的,自由的软件,没有那些使用上的限制,当然,我们在使用的时候还是需要尊重一下软件开源协议

第三,FFMPEG的功能是非常非常多的,可以剪辑音视频,视频转换为图片,图片剪辑,音频混响,音视频的抽取替换,字幕,还有一些不是太常规的功能,比如,录屏,摄像头视频抓取,麦克风音频抓取等等功能;同时,FFMPEG所支持的音视频格式非常多,基本95%的格式都可以支持,除了一些个别的收费格式,例如mflac音频文件这样的不支持。

也是由于FFMPEG的这些强大功能,可以在很多地方大显身手,比如,平常的娱乐方面,动图制作;摄像头的视频流抓取配合人工智能识别;短视频的剪辑制作;音视频的大规模清洗;音视频的翻拍;电子相册,相册转换成视频  等等落地场景,场景多样,就看你的想象力有多好了吧!!!!

那么,这么强大的开源的音视频和图片处理工具自然是不可能一篇文章就讲清楚了,本文将主要就FFMPEG遮挡水印,GIF类型的动图制作,视频内的音频抽取,替换这几个简单的功能做一个讲解。

一,

音视频格式转换

音视频和图片的格式是非常多的,这里我就不废话太多了,只说一下常用的,比如,视频的mov,avi,mp4,ts,mkv,rmvb等等格式;音频的flac,mp3,wma,ape,acc,ogg等等格式;图片的GIF,PNG,SWF,BPM,JPG等等格式

那么,废话这么半天是想说格式对应于文件的编码格式,比如,某个电影视频,它的格式是rmvb,这时候指的的是它的编码格式,那么,我要在Windows播放这个视频,是需要有解码这个编码格式的解码器的软件才可以播放,也就是具有rmvb解码器或者称之为解码引擎,解码库的软件,例如Windows media 播放器或者vlc播放器这样的具有相应解码器的播放器才可以播放

当然了,FFPLAY基本没有这种困扰,95%的文件格式都可以轻松播放,🆗,现在可以聊一聊文件格式转换的问题了

FFMPEG的音视频文件格式转换非常简单,ffmpeg -i 原始音视频文件 转换后的音视频文件  就这么简单粗暴,例如,flac文件转换成MP3文件:

音视频剪辑|FFMPEG|windows10下的音视频格式转换,遮挡填充,GIF动图制作,背景音频抽取,替换,音视频剪辑,ffmpeg,音视频,单片机,stm32,oneflow,AI作画,空间计算

其它的格式转换基本都是这样的,没有什么技巧可言

二,

音视频抽取

例如,原视频是电影武侠,时长1小时57分钟

音视频剪辑|FFMPEG|windows10下的音视频格式转换,遮挡填充,GIF动图制作,背景音频抽取,替换,音视频剪辑,ffmpeg,音视频,单片机,stm32,oneflow,AI作画,空间计算

截取自41分钟0秒开始之后的20秒视频,抽取的视频同时转换成mp4格式:

ffmpeg -i "C:\Users\Administrator\Desktop\武侠 (2011)导演陈可辛 编剧林爱华 主演甄子丹 金城武 汤唯 王羽 惠英红李小冉姜武类型剧情动作悬疑武侠.rmvb" -ss 41:00 -t 20  D:\test2.mp4

可以看到,抽取的视频确实是20秒 

音视频剪辑|FFMPEG|windows10下的音视频格式转换,遮挡填充,GIF动图制作,背景音频抽取,替换,音视频剪辑,ffmpeg,音视频,单片机,stm32,oneflow,AI作画,空间计算

rmvb视频转换成rmvb视频需要强制转换,指定转换格式,强制转换可能会有失败的风险

增加-f 格式即可,例如下面的命令也是可以的:

ffmpeg -i "C:\Users\Administrator\Desktop\武侠 (2011)导演陈可辛 编剧林爱华 主演甄子丹 金城武 汤唯 王羽 惠英红李小冉姜武类型剧情动作悬疑武侠.rmvb" -y  -ss 41:00 -t 20 -f mpeg  D:\test2.rmvb


ffmpeg -i "C:\Users\Administrator\Desktop\武侠 (2011)导演陈可辛 编剧林爱华 主演甄子丹 金城武 汤唯 王羽 惠英红李小冉姜武类型剧情动作悬疑武侠.rmvb" -y  -ss 41:00 -t 20 -f mpeg  D:\test2.mpeg

音频文件的转换相对简单:

ffmpeg -i 222.mp3 333.wav


输出如下:
 


C:\Users\Administrator\Desktop\11111>ffmpeg -i 222.mp3 333.wav
ffmpeg version 6.1.1-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --pkg-config=pkgconf --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-dxva2 --enable-d3d11va --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      58. 29.100 / 58. 29.100
  libavcodec     60. 31.102 / 60. 31.102
  libavformat    60. 16.100 / 60. 16.100
  libavdevice    60.  3.100 / 60.  3.100
  libavfilter     9. 12.100 /  9. 12.100
  libswscale      7.  5.100 /  7.  5.100
  libswresample   4. 12.100 /  4. 12.100
  libpostproc    57.  3.100 / 57.  3.100
Input #0, mp3, from '222.mp3':
  Metadata:
    title           : 有没有人告诉你
    album           : 相爱十年 电视剧原声带
    artist          : 陈楚生
    ID              : 8597091334
    track           : 1
    disc            : 1
    encoder         : Lavf60.16.100
  Duration: 00:04:21.15, start: 0.025056, bitrate: 145 kb/s
  Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 128 kb/s
    Metadata:
      encoder         : Lavc60.31
  Stream #0:1: Video: png, rgb24(pc, gbr/unknown/unknown), 500x500 [SAR 1:1 DAR 1:1], 90k tbr, 90k tbn (attached pic)
    Metadata:
      comment         : Other
Stream mapping:
  Stream #0:0 -> #0:0 (mp3 (mp3float) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, wav, to '333.wav':
  Metadata:
    INAM            : 有没有人告诉你
    IPRD            : 相爱十年 电视剧原声带
    IART            : 陈楚生
    ID              : 8597091334
    IPRT            : 1
    disc            : 1
    ISFT            : Lavf60.16.100
  Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s
    Metadata:
      encoder         : Lavc60.31.102 pcm_s16le
[out#0/wav @ 0000017891270640] video:0kB audio:44982kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000382%
size=   44982kB time=00:04:21.09 bitrate=1411.3kbits/s speed= 748x

使用ffprobe命令查看是否转换成功:

C:\Users\Administrator\Desktop\11111>ffprobe -i 333.wav
ffprobe version 6.1.1-full_build-www.gyan.dev Copyright (c) 2007-2023 the FFmpeg developers
  built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --pkg-config=pkgconf --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-dxva2 --enable-d3d11va --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      58. 29.100 / 58. 29.100
  libavcodec     60. 31.102 / 60. 31.102
  libavformat    60. 16.100 / 60. 16.100
  libavdevice    60.  3.100 / 60.  3.100
  libavfilter     9. 12.100 /  9. 12.100
  libswscale      7.  5.100 /  7.  5.100
  libswresample   4. 12.100 /  4. 12.100
  libpostproc    57.  3.100 / 57.  3.100
Input #0, wav, from '333.wav':
  Metadata:
    artist          : 陈楚生
    title           : 有没有人告诉你
    album           : 相爱十年 电视剧原声带
    track           : 1
    encoder         : Lavf60.16.100
  Duration: 00:04:21.12, bitrate: 1411 kb/s
  Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 2 channels, s16, 1411 kb/s

音频转码:

ffmpeg -i "C:\Users\Administrator\Desktop\Music\陈楚生 - 有没有人告诉你.flac"  -c:a libmp3lame -q:a 6 D:\chen.mp3 #音频转码 ,最高等级的

 

视频内的音频抽取:

vn表示去掉视频,视频去掉了自然就剩下音频了

an表示去掉音频,音频去掉了自然就剩下视频了,an就不演示了

ffmpeg -i D:\555.mp4 -vn D:\333.mp4 #提取音频,可以提取为mp3,也可以mp4

ffmpeg -i D:\555.mp4 -c:v copy -vn D:\333.mp3 -y ###仍然是提取音频,和上面的没什么太大区别


ffmpeg -i D:\555.mp4 -map 0 -map 0:a:1 -copy D:\333.mp3###仍然是提取音频,和上面的没什么太大区别

ffmpeg -i D:\555.mp4 -an D:\333.mp4 #提取视频


ffmpeg -i "C:\Users\Administrator\Desktop\武侠 (2011)导演陈可辛 编剧林爱华 主演甄子丹 金城武 汤唯 王羽 惠英红李小冉姜武类型剧情动作悬疑武侠.rmvb" -vn D:\wuxia.mp3
###提取电影武侠里的所有音频

三,

动图的制作

ffmpeg -i D:\666.mp4 -ss 00:20 -t 12 -r 10 -s 320*250 D:\888.gif -y #截取视频并转换成动图

以上命令是截取666.mp4,从视频的20秒开始,往后接12秒,动图质量为10,动图大小为320*250 ,保存路径为D盘,如果有同名的888.gif文件直接覆盖

这里的-t  可以精确到毫秒,比如-t 12.7  表示12秒零70毫秒,这样也是🆗的

经过实践,可以发现,如果视频直接转动图,动图会很大,因为是保留视频的画面大小了,因此,必须-s参数指定GIF的画面大小

由于GIF动图一般是做表情图使用,一般大小不宜超过2M,制作的时候一般是截取视频的十来秒内容即可,太多也没有必要了。

四,

替换视频内的音频

ffmpeg -i D:\222.mp4  -i D:\chen.mp3  -c copy -map 0:v:0 -map 1:a:0 -shortest D:\test.mp4 -y #222.mp4这个视频有音频的,直接替换

 -map 0:v:0代表视频 -map 1:a:0 代表音频 -c copy 表示仅拷贝,不做任何转码

ffmpeg -i D:\222.mp4  -i D:\chen.mp3  -c copy -map 0:v:0 -map 1:a:0 -c:a libmp3lame -q:a 6 -shortest D:\test.mp4 -y 

###音频重新编码,质量6  最高6,chen.mp3是一首完整的歌曲,222.mp4是十几秒的视频,音频的时间和视频的时间一致裁剪

-c:a libmp3lame -q:a 6表示音频做转码,转码为MP3,质量等级最高,也就是音质最好,6是最高等级,1是最低等级文章来源地址https://www.toymoban.com/news/detail-828469.html

到了这里,关于音视频剪辑|FFMPEG|windows10下的音视频格式转换,遮挡填充,GIF动图制作,背景音频抽取,替换的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java工程使用ffmpeg进行音视频格式转换(ws.schild)

    JAVE (Java Audio Video Encoder)是一个纯Java的音视频编码器和解码器库,它是基于FFmpeg。JAVE库提供了一些简单易用的API,用于音频和视频格式的转换、编码、解码等操作。它对于一些基本的音视频处理任务来说是一个不错的选择。 这些库都是基于FFmpeg的,并允许在Java中处理音频和

    2024年02月14日
    浏览(55)
  • Windows配置编译ffmpeg +音视频地址

    Windows配置MinGW及MinGW-make使用实例 https://blog.csdn.net/Henoiiy/article/details/122550618 ffmpeg安装遇错:nasm/yasm not found or too old. Use --disable-x86asm for a crippled build. https://blog.csdn.net/sayyy/article/details/124337834https://blog.csdn.net/sayyy/article/details/124337834 详细的FFmpeg编译流程与脚本分析https://zhuanla

    2024年02月12日
    浏览(34)
  • 音视频开发三:Windows环境下FFmpeg编译安装

    FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的 开源计算机程序 。采用LGPL或GPL许可证 。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec。 FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环

    2024年02月04日
    浏览(50)
  • 【FFmpeg】ffmpeg 命令行参数 ⑧ ( 使用 ffmpeg 转换封装格式 | 音视频编解码器参数设置 | 视频 帧率 / 码率 / 分辨率 设置 | 音频 码率 / 采样率 设置 )

    音视频 文件 从 采样 - 处理 - 得到原始数据帧队列 - 音视频编码 - 音视频包队列 - 格式封装 的过程如下 : 封装格式 参考 【音视频原理】音视频 “ 采样 - 编码 - 封装 过程 “ 和 “ 解封装 - 解码 - 播放 过程 “ 分析 ( 视频采集处理流程 | 音频采集处理流程 | 音视频文件解封装

    2024年04月17日
    浏览(60)
  • Python音视频剪辑:大小调整的视频变换函数详解

    Python音视频剪辑:大小调整的视频变换函数详解 在音视频编辑中,常常需要对视频文件进行大小调整以适配不同的设备或场景。MoviePy是一款强大的Python库,提供了多种视频变换函数,可以方便地对视频进行大小调整。本文将介绍MoviePy中与大小相关的视频变换函数,并附上相

    2024年02月06日
    浏览(39)
  • Android音视频剪辑器自定义View实战!

    Android音视频剪辑器自定义View实战! - 掘金   Android音视频剪辑器自定义View实战! - 掘金 话不多说,先上一个代码完成效果。 动图好像录成横屏的了,也没找到调整反转 GIF 的位置,下面再补一张设计稿静态图吧 最近这几年音视频应用越来越广泛,随之而来的音视频相关的需

    2024年02月12日
    浏览(26)
  • 抖音视频批量智能剪辑/智能一键成片功能如何技术开发源头?

     抖音seo,视频剪辑,批量发布,账号矩阵管理,无人直播自动询盘锁定客户,想实现以上功能都要有正规的接口权限,这个权限接口已经在前面文章发过。 智能剪辑:咱们研发公司自主研发的,包括算法,算法是阶乘算法,无限产出,六大剪辑模式已经满足当下需求了,当

    2024年02月09日
    浏览(34)
  • 音视频开发:Qt在视频剪辑3D桌面软件获胜, 嵌入式不敌安卓

    1 Qt Android嵌入式应用层开发方向对比   大家都知道啊,做嵌入式linux设备,一些没有屏幕,比如安防摄像头,门铃之类的,另外一些嵌入式设备是有触控屏,在触控屏上还跑应用软件的,这种比如商场各种自动售卖机,铁路卖票,银行自助服务,车载系统等。 10年前,我大学

    2024年02月09日
    浏览(28)
  • ffmpeg@音视频工具@音视频合并

    FFmpeg中文网 (github.net.cn) FFmpeg 是一款强大的开源跨平台音视频处理工具集,它包含了一系列命令行工具以及用于音频和视频编码解码、格式转换、抓取、流化等功能的库。FFmpeg 支持多种视频、音频格式和编解码器,能够进行音视频的压缩、封装、转码、分割、合并、过滤、抓

    2024年03月17日
    浏览(49)
  • 音视频 FFmpeg音视频处理流程

    推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家: 零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核) https://xxetb.xet.tech/s/VsFMs

    2024年02月12日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包