首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用ffmpeg+Python批量剪辑视频&伪原创消重

说到视频剪辑,我们在用的和想到的都是Premiere、DaVinci这样的专业工具,或更便捷的剪映等。

在做短视频运营过程中,很多时候都会“搬运”视频,会对大量视频进行“轻剪辑”,以实现优化和“去重”的目的。

这时使用专业的剪辑软件,去做简单的、机械重复的剪辑工作,会很繁琐且效率低下。

这样批量剪辑的任务完全可以交给ffmpeg,一行命令,即可完成视频的剪辑。编写一段Python代码,调用ffmpeg,即可对大量视频进行批量剪辑。

下载安装、帮助文档,进官网:https://ffmpeg.org

下面抛砖引玉,讲解一个乐思蜀的ffmpeg+Python剪辑方案,需要的朋友可以作为参考。

ffmpeg命令行:

ffmpeg -hide_banner -y -i 01.mp4 -vf "eq=contrast=1.06:brightness=0.03:saturation=1.06:brightness=0.01:contrast=1.01:gamma=1.01,crop=iw\*0.99:ih\*0.99:ow-iw:oh-ih,unsharp,trim=start_frame=6,hflip,hqdn3d,setpts=PTS/1.06,drawtext=text='@puppylove':x=w-mod(t\*30\\,w+tw):y=h-th-168:fontsize=36:fontcolor=white" -b:v 20000k -bufsize 20000k -maxrate 20000k -vcodec libx264 -acodec aac -shortest -force_key_frames "expr:gte(t,n_forced*0.99)" -r 60 -s 1080x1920 -preset slow -metadata title="My Title" output_$(date +"%Y%m%d_%H%M%S").mp4

参数详解:

-hide_banner 命令行执行时隐藏Banner,简化输出信息

-vf 视频滤镜

hqdn3d 画质增强

eq=contrast=1.06 对比度增加到 1.06 倍

brightness=0.03 亮度提升0.03

saturation=1.06 饱和度增加1.06

contrast=1.01 白色(Whites)增加0.01

brightness=0.1 黑色(Blacks)增加0.01

gamma=1.5 阴影(Shadows)

hflip 水平翻转画面

crop=iw0.99:ih0.99:ow-iw:oh-ih 生成的视频只要原视频右下角 99% 的内容,裁剪掉左上角的部分

unsharp 锐化(使用默认参数,可更详细的定义参数)

trim=start_frame=6 掐头,从原视频第6帧开始

drawtext=text='@test':x=168:y=1680:fontsize=32:fontcolor=white" 插入文字字幕

-r 60 输出帧率60fps

-y 直接覆盖输出同名文件

-b:v 20000k 输出视频码率

-bufsize 20000k 输出Buffer缓存,和-b:v搭配用,让码率更稳定

-maxrate 20000k 最大码率

-force_key_frames "expr:gte(t,n_forced*0.99)" 每间隔0.99秒,强制关键帧

-s 1080x1920 输出视频尺寸

-preset slow 编码速度和质量,Slow为最高

-vcodec libx264 视频使用Libx264编码

-acodec aac 音频使用AAC编码

(-an 输出不带音频【不需要声音时使用这个参数】)

-metadata title="My Title" 设置视频文件头信息:Title

-shortest 音视频适配(因为从第6帧开始掐头,加上视频加速了,音频会比视频长,使用这个参数把音频按视频长度截断)

-filter:v "setpts=1.03*PTS" 变速,1.03倍

output_$(date +"%Y%m%d_%H%M%S").mp4 输出文件名:output_年月日_时分钟秒.mp4

看了这些参数就会发现,加入了很多“去重”方法,这样剪辑出来的搬运视频,重复内容辩识度已经相当低了,经长期实测,过审率达90%以上。

ffmpeg+Python

命令行使用起来不方便,下一步我们可以把这些参数写到Python脚本中,在Python中调用ffmpeg处理视频,可以更方便的使用和随时修改参数。

我把Python脚本放到了Github上,方便后续完善代码和更新,通过下面网址访问:

https://github.com/lesishu/ffmpeg_video_cut/

有两个Python脚本:

1、single_video_cut.py 剪辑单视频,用法:

python3 single_video_cut.py 视频文件名

2、batch_video_cut.py 批量剪辑,读取input文件夹中的所有视频文件,剪辑后将输出文件放到output文件夹中。

分享结束,有不明白的地方在下方评论,欢迎讨论交流

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O22LNUvzaxB7HszAQ8995oxQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券