ffmpeg使用安装使用教程(命令行-Python)

2024-09-07 12:44

本文主要是介绍ffmpeg使用安装使用教程(命令行-Python),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

安装教程 https://blog.csdn.net/yuanmomoya/article/details/141992114

ffmpeg转换操作视频十分的占用cpu,会把cpu打满,线上使用的话需要注意下

命令行操作

一、视频转码
将视频从一种格式转换为另一种格式:
ffmpeg -i input_video.mp4 output_video.avi

这将把输入的 MP4 视频文件input_video.mp4转换为 AVI 格式的视频文件output_video.avi

指定视频编码格式
ffmpeg -i input.mp4 -c:v libx264 output.mp4

这里将输入视频用 H.264 编码格式进行转码输出。

二、提取音频
从视频中提取音频
ffmpeg -i video_with_audio.mp4 -vn output_audio.mp3

-vn表示不处理视频流,只提取音频流输出为 MP3 文件。

三、裁剪视频
按时间裁剪视频:
ffmpeg -i input_video.mp4 -ss 00:00:10 -to 00:00:20 output_video.mp4

从输入视频中从第 10 秒开始到第 20 秒结束裁剪出一段视频输出。

按尺寸裁剪视频:
ffmpeg -i input_video.mp4 -filter:v "crop=width:height:x:y" output_video.mp4

例如crop=640:480:100:100表示裁剪出一个宽 640、高 480,从坐标 (100,100) 开始的视频区域。

四、合并视频
多个视频文件按顺序合并

首先创建一个文本文件list.txt,内容为要合并的视频文件路径,每行一个路径,例如:

file 'video1.mp4'file 'video2.mp4'file 'video3.mp4'

然后执行以下命令:

ffmpeg -f concat -safe 0 -i list.txt -c copy output_video.mp4

五、调整视频参数

改变视频分辨率:
ffmpeg -i input_video.mp4 -vf scale=width:height output_video.mp4

例如scale=640:480将视频分辨率调整为 640x480。

调整视频帧率:
ffmpeg -i input_video.mp4 -r new_framerate output_video.mp4

例如-r 30将视频帧率调整为 30 帧 / 秒。

六、截图
从视频中截取一帧图像:
ffmpeg -i input_video.mp4 -ss 00:00:10 -vframes 1 output_image.jpg

从视频的第 10 秒处截取一帧图像输出为 JPEG 格式。

七、添加水印
为视频添加图片水印:
ffmpeg -i input_video.mp4 -i watermark.png -filter_complex "overlay=x=10:y=10" output_video.mp4

在输入视频的坐标 (10,10) 处添加一个图片水印。

为视频添加文字水印:
ffmpeg -i input_video.mp4 -vf "drawtext=text='Watermark Text':fontfile=/path/to/font.ttf:fontsize=50:x=100:y=100:fontcolor=white:shadowy=2" output_video.mp4

在视频的坐标 (100,100) 处添加文字水印,设置字体、字号、颜色和阴影等参数。

Python操作

给出一个简单的示例,将视频转为720p

主要是用subprocess来执行拼接构建的ffmpeg命令

import subprocessdef convert_video(input_file, output_file, target_width=720, target_height=1280):# 构建 FFmpeg 命令ffmpeg_cmd = ['ffmpeg','-i', input_file,'-y',  # 添加此行来自动覆盖现有文件'-vf',f"scale='{target_width}':'{target_height}':force_original_aspect_ratio=increase,crop='{target_width}':'{target_height}'",output_file]# 执行 FFmpeg 命令subprocess.run(ffmpeg_cmd, check=True)

这篇关于ffmpeg使用安装使用教程(命令行-Python)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1145095

相关文章

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

springboot security使用jwt认证方式

《springbootsecurity使用jwt认证方式》:本文主要介绍springbootsecurity使用jwt认证方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录前言代码示例依赖定义mapper定义用户信息的实体beansecurity相关的类提供登录接口测试提供一

go中空接口的具体使用

《go中空接口的具体使用》空接口是一种特殊的接口类型,它不包含任何方法,本文主要介绍了go中空接口的具体使用,具有一定的参考价值,感兴趣的可以了解一下... 目录接口-空接口1. 什么是空接口?2. 如何使用空接口?第一,第二,第三,3. 空接口几个要注意的坑坑1:坑2:坑3:接口-空接口1. 什么是空接

springboot security快速使用示例详解

《springbootsecurity快速使用示例详解》:本文主要介绍springbootsecurity快速使用示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录创www.chinasem.cn建spring boot项目生成脚手架配置依赖接口示例代码项目结构启用s

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则