FFmpeg 命令行 音视频格式转换

📚:FFmpeg 提供了丰富的命令行选项和功能,可以用来处理音视频文件、流媒体等,掌握命令行的使用,可以有效提高工作效率。

目录

一、视频转换和格式转换

🔵 将视频文件转换为另一种格式

🔵 指定视频编码器和比特率

二、音频转换和格式转换

🔵 将音频文件转换为另一种格式

🔵 指定音频编码器和比特率

三、合并视频和音频

🔵 合并视频和音频流

四、视频剪切和裁剪

🔵 裁剪视频

五、视频截图和抽取帧

🔵 截取视频帧

六、 屏幕录制和实时流媒体

🔵录制桌面

🔵推送实时流媒体

七、常用参数集合

总结


以下是一些常见的 FFmpeg 命令行用法和示例:

// 一般的 ffmpeg 命令结构如下:ffmpeg [全局选项] [输入选项] -i 输入文件 [输出选项] 输出文件

一、视频转换和格式转换

🔵 将视频文件转换为另一种格式

// 将 input.mp4 文件转换为 output.avi 文件ffmpeg -i input.mp4 output.avi

🔵 指定视频编码器和比特率

// -c:v libx264 指定视频编码器为 H.264,
// -b:v 1000k 指定视频比特率为 1000kbit/sffmpeg -i input.mp4 -c:v libx264 -b:v 1000k output.mp4

二、音频转换和格式转换

🔵 将音频文件转换为另一种格式

// 将 input.wav 转换为 output.mp3ffmpeg -i input.wav output.mp3

🔵 指定音频编码器和比特率

// -c:a libmp3lame 指定音频编码器为 MP3(LAME)
// -b:a 128k 指定音频比特率为 128kbit/sffmpeg -i input.wav -c:a libmp3lame -b:a 128k output.mp3

三、合并视频和音频

🔵 合并视频和音频流

// -i video.mp4 -i audio.wav 分别指定视频和音频输入文件。
// -c:v copy 表示视频流直接复制,
// -c:a aac 指定音频编码为 AAC。
// -strict experimental 是为了支持某些 AAC 编码器ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac -strict experimental output.mp4

四、视频剪切和裁剪

🔵 裁剪视频

// 从原视频中裁剪出5s的视频
// -ss 00:00:05 指定开始裁剪的时间(这里是 5s),
// -to 00:00:10 指定结束时间(这里是 10s)。
// -c:v copy 和 -c:a copy 表示视频和音频流不重新编码,直接复制ffmpeg -i input.mp4 -ss 00:01:00 -to 00:02:00 -c:v copy -c:a copy output.mp4

五、视频截图和抽取帧

🔵 截取视频帧

// -vf "select='eq(n\,100)'" 表示选择第 100 帧作为输出。
// -vsync vfr 设置为可变帧率输出。
// 输出文件是 frame.png。ffmpeg -i input.mp4 -vf "select='eq(n\,100)'" -vsync vfr frame.png

六、 屏幕录制和实时流媒体

🔵录制桌面

// 在linux 系统下进行屏幕录制
// -f x11grab 表示使用 X11 桌面录制,
// -framerate 30 设置帧率为 30fps,
// -video_size 1920x1080 设置视频尺寸,
// -i :0.0+0,0 是屏幕位置参数。ffmpeg -f x11grab -framerate 30 -video_size 1920x1080 -i :0.0+0,0 output.mp4// 在 Windows 系统上进行屏幕录制
// -f gdigrab:使用 gdigrab 输入设备,这是在 Windows 上进行屏幕捕获的一种方法。
// -framerate 30:指定录制的帧率,可以根据需要进行调整。
// -video_size 1920x1080:指定录制的视频尺寸,这里设置为1920x1080,你也可以根据需要调整。
// -i desktop:指定捕获整个桌面。你也可以指定具体的窗口标题或坐标区域进行捕获。
// 停止 ctrl + cffmpeg -f gdigrab -framerate 30 -video_size 1920x1080 -i desktop output.mp4

🔵推送实时流媒体

// -re 表示以实时速率读取输入,
// -i input.mp4 指定输入文件。
// -c:v libx264 和 -c:a aac 分别指定视频和音频编码器。
// rtmp://server/live/streamKey 是推流到的服务器地址和流名ffmpeg -re -i input.mp4 -c:v libx264 -preset fast -maxrate 3000k -bufsize 6000k -pix_fmt yuv420p -g 50 -c:a aac -b:a 128k -f flv rtmp://server/live/streamKey

七、常用参数集合

// 输入和输出选项:-i 输入文件:指定输入文件。
-f 格式:指定输入或输出的格式,例如 -f mp4。
-r 帧率:设置帧率,例如 -r 30。
-s 分辨率:设置视频分辨率,例如 -s 1920x1080。// 视频处理-c:v 编解码器:指定视频编解码器,如 -c:v libx264。
-b:v 比特率:设置视频比特率,例如 -b:v 2M。
-vf 滤镜:应用视频滤镜,例如 -vf scale=1280:720(调整分辨率)或 -vf crop=w:h:x:y(裁剪)。// 音频处理-c:a 编解码器:指定音频编解码器,如 -c:a aac。
-b:a 比特率:设置音频比特率,例如 -b:a 192k。
-ar 采样率:设置音频采样率,如 -ar 44100。// 其他常用选项-ss 开始时间:从指定时间开始处理输入文件。
-t 持续时间:设置处理的持续时间。
-map 选项:映射输入流。
-preset 设置:调整编码速度和质量之间的平衡。

总结

这些是常见的 ffmpeg 命令行选项和功能,能够涵盖大多数基本的视频和音频处理需求。根据具体的任务和需求,可以灵活组合这些选项来完成各种复杂的视频处理任务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/38849.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

12个惊艳的可视化大屏:解锁数据之美,洞见未来趋势

在数字化转型的浪潮中,可视化大屏以其独特的魅力和强大的功能,成为了企业展示数据、洞察趋势的重要窗口。我们将一同探索12个惊艳的可视化大屏案例,感受数据之美,洞见未来趋势。 可视化大屏,作为数据可视化的高级形态…

vue3绘制广东深圳地图使用echarts

<!-- 饼图 --> <template><el-card><template #header> 地级市分类图 </template><div :id"id" :class"className" :style"{ height, width }"></div></el-card> </template><script …

彻底学会Gradle插件版本和Gradle版本及对应关系

看完这篇&#xff0c;保你彻底学会Gradle插件版本和Gradle版本及对应关系&#xff0c;超详细超全的对应关系表 需要知道Gradle插件版本和Gradle版本的对应关系&#xff0c;其实就是需要知道Gradle插件版本对应所需的gradle最低版本&#xff0c;详细对应关系如下表格&#xff0…

Lua、AB包热更新总结

1.AB包热更新 &#xff08;1&#xff09;AB包是一种特定的压缩文件&#xff0c;可以放模型贴图音效等等 &#xff08;2&#xff09;Resources目录下打包时只读 无法修改&#xff1b;而AB包存储的位置是自定义的&#xff0c;能够动态更新&#xff0c;同时可以决定资源包初始的大…

0703_ARM7

练习&#xff1a; 封装exti&#xff0c;cic初始化函数 //EXTI初始化 void hal_key_exti_init(int id,int exticr,int mode){//获取偏移地址int address_offset (id%4)*8;//获取寄存器编号int re_ser (id/4)1;//printf("address_offset%d,re_ser%d\n",address_o…

Excel中按列的首行字母顺序,重新排列(VBA脚本)

排序前 要求对4列数据按照第一行abcd的顺序排列 VB脚本如下&#xff1a; 要使用这个脚本&#xff0c;请按照以下步骤操作&#xff1a; 打开Excel&#xff0c;然后按下 Alt F11 打开VBA编辑器。在VBA编辑器中&#xff0c;选择“插入” > “模块”&#xff0c;在打开的模块…

【Python机器学习】算法链与管道——构建管道

目录 1、首先&#xff0c;我们构建一个由步骤列表组成的管道对象。 2、向任何其他scikit-learn估计器一样来拟合这个管道 3、调用pipe.score 我们来看下如何使用Pipeline类来表示在使用MinMaxScaler缩放数据后&#xff0c;再训练一个SVM的工作流程&#xff08;暂时不用网格搜…

MySQL数据库设计作业 ——《网上书店系统》数据库设计实验报告

数据库设计作业——《网上书店系统》数据库设计 一、功能需求 普通用户&#xff1a;可以进行最基础的登陆操作&#xff0c;可浏览图书、按类别查询图书、查看 图书的详细信息&#xff0c;还可以注册成为会员。会员&#xff1a;需要填写详细信息&#xff08;真实姓名、性别、手…

什么是yum源?如何对其进行配置?

哈喽&#xff0c;大家好呀&#xff01;这里是码农后端。今天来聊一聊Linux下的yum源及其配置相关的内容。简单来说&#xff0c;yum源就相当于一个管理软件的工具&#xff0c;可以想象成一个很大的仓库&#xff0c;里面存放着各种我们所需要的软件包及其依赖。 一、Linux下软件包…

VRPTW(MATLAB):北极海鹦优化(APO)算法求解带时间窗的车辆路径问题VRPTW(提供MATLAB代码)

详细介绍 VRPTW&#xff08;MATLAB&#xff09;&#xff1a;北极海鹦优化&#xff08;Arctic puffin optimization&#xff0c;APO&#xff09;算法求解带时间窗的车辆路径问题VRPTW&#xff08;提供MATLAB代码&#xff09;-CSDN博客 ********************************求解结果…

电源管理芯片PMIC的安全策略

1.概述 PMIC作为系统的电源管理模块&#xff0c;其输入电压一般会比较高&#xff0c;为保证芯片自身的安全&#xff0c;PMIC芯片会有独立的安全域&#xff0c;和功能域完全隔离&#xff0c;拥有独立的电压和电流输入&#xff0c;独立的晶振模块&#xff0c;内部运行监控状态机…

MySQL实战-4 | 深入浅出索引(上)(下)

什么是数据库索引&#xff0c;索引又是如何工作的呢&#xff1f; 一句话简单来说&#xff0c;索引的出现其实就是为了提高数据查询的效率&#xff0c;就像书的目录一样。一本 500 页的书&#xff0c;如果你想快速找到其中的某一个知识点&#xff0c;在不借助目录的情况下&…

试用笔记之-免费的汇通餐饮管理软件

首先下载免费的汇通餐饮管理软件&#xff1a; http://www.htsoft.com.cn/download/htcanyin.exe 安装后的图标 登录软件&#xff0c;默认没有密码 汇通餐饮管理软件主界面 汇通餐饮软件前台系统 点菜

使用 Java Swing 和 XChart 创建多种图表

在现代应用程序开发中&#xff0c;数据可视化是一个关键部分。本文将介绍如何使用 Java Swing 和 XChart 库创建各种类型的图表。XChart 是一个轻量级的图表库&#xff0c;支持多种类型的图表&#xff0c;非常适合在 Java 应用中进行快速的图表绘制。 1、环境配置 在开始之前&…

imx6ull/linux应用编程学习(7)在LCD上显示文字

在linux中&#xff0c;确实可以像裸机一样自己取模、自己写函数打点显示&#xff0c;但是效率很低&#xff0c;不能满足多文字显示&#xff0c;在Linux 系统中&#xff0c; 字体文件通常会放在/usr/share/fonts 目录下&#xff0c;有了字体文件之后&#xff0c;我们就不需要再对…

X86 +PC104+支持WinCE5.0,WinCE6.0,DOS,WinXP, QNX等操作系统,工业控制数据采集核心模块板卡定制

CPU 模块 是一款基于RDC 3306的SOM Express模块。RDC 3306这款X86架构的CPU是一款性能高、稳定性强的处理器。 它是一款灵活精巧的主板&#xff08;尺寸为91.8mm68.6mm&#xff09;&#xff0c;可以灵活的运用于用户的底板&#xff0c;节约开发成本。模块的接插件使用插针形式…

人工智能在音乐创作中的双刃剑:创新与挑战

AI在创造还是毁掉音乐&#xff1f; 简介 最近一个月&#xff0c;轮番上线的音乐大模型&#xff0c;一举将素人生产音乐的门槛降到了最低&#xff0c;并掀起了音乐圈会不会被AI彻底颠覆的讨论。短暂的兴奋后&#xff0c;AI产品的版权归属于谁&#xff0c;创意产业要如何在AI的阴…

全网最全的TTS模型汇总,电商人、自媒体人狂喜

近日TTS语音模型在AI圈内热度不小&#xff0c;今天小编就来给大家做了个TTS模型汇总&#xff01; GPT-SoVITS&#xff08;AI 卖货主播大模型Streamer-Sales销冠用的TTS模型&#xff09; 模型简介&#xff1a;支持英语、日语和中文&#xff0c;零样本文本到语音&#xff08;TT…

Python UUID模块:深入理解与使用技巧

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…