Python代码生成视频的缩略图的实例讲解


Posted in Python onDecember 22, 2019

Reddit 上目前充斥着各种机器人账号,官方也非常支持这种行为,只要不是无意义的发言,机器人多了还能增加活跃度,吸引真人用户一起来各抒己见,比如说每周都有的一个“烦人的星期二”的帖子,就是大伙儿吐槽生活中种种烦心事的好地方,因此提供了一整套开发者 API ,同时 SDK 也不难找,这里有一个详尽的列表,大家可以根据自己的语言喜好随意取用。

脚本很简单,真正的困难在于视频上传, Reddit 的要求很特殊,有了帖子标题和视频路径还不够,还需要提供一张缩略图, SDK 的文档也说了,如果不提供,就会自动上传一张他们的 Logo 作为视频的缩略图。这个时候,就需要祭出 ffmpeg 了。

安装

brew install ffmpeg

Python 也提供了 ffmpeg 的一层包装—— ffmpy ,这层包装本质上是把传入的参数翻译成命令行,调用 subprocess 来执行。比如说官网的示例

>>> import ffmpy
>>> ff = ffmpy.FFmpeg(
...   inputs={'input.mp4': None},
...   outputs={'output.avi': None}
... )
>>> ff.run()

本质上是在命令行中运行

ffmpeg -i input.mp4 output.avi

生成缩略图

简单写了个函数如下,给定视频路径,取第一帧作为缩略图,保存为 jpg 格式

import ffmpy

def get_thumbnail_from_video(video_path):
  thumbnail_path = video_path.replace(".mp4", ".jpg")
  ff = ffmpy.FFmpeg(
    inputs={video_path: None},
    outputs={thumbnail_path: ['-ss', '00:00:00.000', '-vframes', '1']}
  )
  ff.run()
  return thumbnail_path

在这里我简单假设视频的格式都为 mp4 ,所以在路径上简单替换了下,没有进行更详尽的检查。同样地,本质上是在执行

ffmpeg -i video_path -ss 00:00:00.000 -vframes 1 thumbnail_path

这样发帖的时候同时给出视频和图片,一行命令搞定过去各种点击跳转的操作,十分方便。

如果大家对以上知识点还有任何疑问,可以联系小编,感谢大家对三水点靠木的支持。

Python 相关文章推荐
Python中的exec、eval使用实例
Sep 23 Python
Python实现的监测服务器硬盘使用率脚本分享
Nov 07 Python
Python 实现一个颜色色值转换的小工具
Dec 06 Python
Django如何配置mysql数据库
May 04 Python
Python3 安装PyQt5及exe打包图文教程
Jan 08 Python
更新pip3与pyttsx3文字语音转换的实现方法
Aug 08 Python
python3调用windows dos命令的例子
Aug 14 Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
Feb 18 Python
使用Python构造hive insert语句说明
Jun 06 Python
解决python对齐错误的方法
Jul 16 Python
浅析Python中的随机采样和概率分布
Dec 06 Python
python turtle绘制多边形和跳跃和改变速度特效
Mar 16 Python
python 用 xlwings 库 生成图表的操作方法
Dec 22 #Python
如何将你的应用迁移到Python3的三个步骤
Dec 22 #Python
使用python快速实现不同机器间文件夹共享方式
Dec 22 #Python
python FTP批量下载/删除/上传实例
Dec 22 #Python
python 实现保存最新的三份文件,其余的都删掉
Dec 22 #Python
python中的split()函数和os.path.split()函数使用详解
Dec 21 #Python
python 操作hive pyhs2方式
Dec 21 #Python
You might like
在apache下限制每个虚拟主机的并发数!!!!
2006/10/09 PHP
php 运行效率总结(提示程序速度)
2009/11/26 PHP
使用PHP实现二分查找算法代码分享
2011/06/24 PHP
JavaScript 学习小结(适合新手参考)
2009/07/30 Javascript
Javascript document.referrer判断访客来源网址
2020/05/15 Javascript
JS基础之undefined与null的区别分析
2011/08/08 Javascript
js获取图片大小的函数代码
2011/09/20 Javascript
javascript时间自动刷新实现原理与步骤
2013/01/06 Javascript
webapp框架AngularUI的demo改造之路
2014/12/21 Javascript
js实现鼠标经过时图片滚动停止的方法
2015/02/16 Javascript
JavaScript中的函数声明和函数表达式区别浅析
2015/03/27 Javascript
Javascript中的数据类型之旅
2015/10/18 Javascript
移动端翻页插件dropload.js(支持Zepto和jQuery)
2016/07/27 Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
2016/12/13 Javascript
Bootstrap轮播图的使用和理解4
2016/12/14 Javascript
详解a++和++a的区别
2017/08/30 Javascript
vue移动端实现下拉刷新
2018/04/22 Javascript
node puppeteer(headless chrome)实现网站登录
2018/05/09 Javascript
js replace 全局替换的操作方法
2018/06/12 Javascript
mac上配置Android环境变量的方法
2018/07/08 Javascript
python3.3使用tkinter开发猜数字游戏示例
2014/03/14 Python
自己编程中遇到的Python错误和解决方法汇总整理
2015/06/03 Python
在Python中的Django框架中进行字符串翻译
2015/07/27 Python
Python实现XML文件解析的示例代码
2018/02/05 Python
详解Django的CSRF认证实现
2018/10/09 Python
Python解析、提取url关键字的实例详解
2018/12/17 Python
使用pycharm设置控制台不换行的操作方法
2019/01/19 Python
使用Filter过滤python中的日志输出的实现方法
2019/07/17 Python
用Python爬取QQ音乐评论并制成词云图的实例
2019/08/24 Python
夜不归宿检讨书
2014/02/25 职场文书
商务日语专业毕业生自荐信
2014/03/27 职场文书
冬季施工防火方案
2014/05/17 职场文书
低碳日宣传活动总结
2014/07/09 职场文书
代领学位证书毕业证书委托书
2014/09/30 职场文书
大学教师个人总结
2015/02/10 职场文书
中秋节主题班会
2015/08/14 职场文书