FFmpeg转音视频相关使用教程

news/2025/3/17 9:50:57/文章来源:https://www.cnblogs.com/tianming18/p/18776212

1.使用 FFmpeg 将视频转换为 MP3 及常规音频方法

   (1)将视频转换为 MP3 的基本命令(打开终端并导航到音频文件所在的目录,然后运行以下 FFmpeg 命令:)

ffmpeg -i input_video.mp4 output_audio.mp3

  (2)调整 MP3 音频质量

 

ffmpeg -i input_video.mp4 -q:a 2 output_audio.mp3

2.使用 FFmpeg 批量转换音视频的高级用法

  (1)设置目录结构

  • 创建一个名为 batch 的主文件夹。
  • 在批处理文件夹中,创建两个名为输入和输出的子文件夹。
  • 将所有要转换的视频放入输入文件夹。
  • 在执行任何命令前,请确保导航到 batch 的父目录。

      为了执行批量转换,我们将使用 for 循环迭代处理输入文件夹中的每个视频。具体语法因操作系统而异。

  (2)使用 FFmpeg 将 MP4 批量转换为 MP3

     导航至批处理目录并执行以下命令:

FOR /F "usebackq delims=|" %F IN (`dir /s /b /A:-D "input\*.mp4"`) DO ffmpeg -i "%F" -acodec mp3 "output\%~nF.mp3"

 

    该命令的作用如下:  

  • 循环播放输入目录中的 .mp4 文件。%F 代表循环中的每个文件。我们使用 dir /s /b /A:-D 来获取目录中的 .mp4 视频。
  • 每次迭代都会执行 ffmpeg -i “%F” -acodec mp3 “output\%~nF.mp3” 命令。
  • 我们使用 -i 选项指定输入文件,使用 -acodec 选项指定 mp3 音频编解码器。
  • 最后,我们使用 output\%~nF.mp3 将转换后的文件存储在输出目录中,并使用原始视频的名称为每个文件命名。

3.使用 FFmpeg 将多种格式文件批量转换为 MP3

源文件可能不全是 mp4 文件,也可能是不同的文件,例如 .mp4、.mov.avi 文件的集合。要批量转换多种格式,我们可以修改命令如下:

FOR /F "usebackq delims=|" %F IN (`dir /s /b /A:-D "input\*.mp4" "input\*.mov" "input\*.avi"`) DO ffmpeg -i "%F" -acodec mp3 "output\%~nF.mp3"

 

4.使用 FFmpeg 将通配符批量转换为 MP3

在 Windows 上,还可以转换一个目录中的所有文件,无论其扩展名是什么。让我们看看如何做到这一点:

FOR /F "usebackq delims=|" %F IN (`dir /s /b /A:-D "input\*.*"`) DO ffmpeg -i "%F" -acodec mp3 "output\%~nF.mp3"

 

我们使用 input\*.* 表达式来处理和转换输入目录内的所有文件,无论其表达式如何。

5.使用 FFmpeg 将多种格式文件批量转换为 MP4 格式

在第二个用例中,我们将把多种视频格式转换为 MP4。

如果你想用一种格式编辑所有文件,或想在浏览器或特定播放器中支持视频文件,这可能会很有用。

FFmpeg 可让你轻松转换文件格式,还能循环运行,批量处理转换过程。

在 Windows 上:

FOR /F "usebackq delims=|" %F IN (`dir /s /b /A:-D "input\*.mov" "input\*.mkv" "input\*.avi" "input\*.flv"`) DO ffmpeg -i "%F" -c:v libx264 -c:a aac "output\%~nF.mp4"

 

6.使用 FFmpeg 批量压缩多种格式文件

视频文件会占用大量磁盘空间。

清理空间的方法之一是转换视频、调整大小并使用有损压缩编解码器。

MP4 是压缩效果最好的格式之一,当分辨率标准化后,文件大小会更小。

在下面的示例中,我们将批量转换视频,把它们的大小调整为 720p,使用 h264 MP4 压缩算法,恒定速率系数 (CFR) 为 23(高压缩,低视觉质量损失)。

在 Windows 上:

FOR /F "usebackq delims=|" %F IN (`dir /s /b /A:-D "input\*.mov" "input\*.mkv" "input\*.avi" "input\*.flv"`) DO ffmpeg -i "%F" -vf "scale=-1:720" -c:v libx264 -crf 23 -c:a aac "output\%~nF_720p.%~xF"

 

7.如何使用 FFmpeg 对视频进行压缩高级教程

关于示例 MOV 文件

    样本视频时长 28 秒,大小为 269MB,分辨率为 1920×1080 像素,帧频为 23.976,比特率为 78,270 kb/s。

    它使用 Apple ProRes 422 LT 编解码器压缩,类似于现代 iPhone、大疆无人机或高端摄像机录制视频的方式。

    音频编解码器为 PCM (pcm_s161e),这是一种无损音频压缩算法。

由于视频时间短,文件大小,因此非常有必要将视频压缩到更小的大小,同时保持较高的视觉质量

通过更改编解码器压缩视频

压缩视频的第一步是使用不同的视频压缩编解码器。

编解码器只是一种算法,用于将视频编码和压缩到更小的文件大小,同时不损失视觉质量。MP4 是最流行、最受广泛支持的视频格式之一。

这主要归功于它使用 H.264 编解码器提供的视频压缩选项–这是一种高效的开源压缩算法,可以创建非常小的文件大小,同时将视觉质量损失降到最低。

要将 MOV 文件转换为 MP4 并使用 H.264 编解码器进行压缩,请在保存 input.mov 示例文件的文件夹中运行以下命令:

ffmpeg -i input.mov -c:v libx264 -pix_fmt yuv420p output.mp4

 以下是该命令的详细说明:

  • -i input.mov:- 指定输入的视频文件。
  • -c:v libx264: – 将视频压缩编解码器设置为 H.264 (libx264)。
  • -pix_fmt yuv420p – 将 ProRes 像素格式(4:2:2)更改为 H.264 兼容像素格式(4:2:0)。
  • output.mp4 – 输出文件的名称。

值得注意的是,你还可以使用其他编解码器和文件格式(容器)来压缩视频。

例如,你可以使用 H.265 编解码器作为 MP4 文件,也可以使用 VP9 编解码器作为 WebM 文件。

H265 编解码器和 MP4 容器

ffmpeg -i input.mov -c:v libx265 -pix_fmt yuv420p output.mp4

 

VP9 编解码器和 WEBM 容器

ffmpeg -i input.mov -c:v libvpx-vp9 -pix_fmt yuv420p output.webm

 更多方法参考:https://www.dayanzai.me/ffmpeg-compress-video.html

 格式转换之 FFmpeg 常用命令使用汇总:https://www.dayanzai.me/ffmpeg-command.html

 

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

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

相关文章

开源!Django-Vue3-Admin的Python后台管理系统

DjangoAdmin 是一个基于 Django + Vue3 的前后端分离的后台管理系统,采用了最新的前后端技术栈,内置了丰富的功能模块,可以帮助开发者快速搭建企业级中后台产品。Django-Vue3-Admin 项目简介 Django-Vue3-Admin 是一个基于 Django + Vue3 的前后端分离的后台管理系统,采用了…

陕西人文:1964年陕西14座古县因何纷纷“改县名”?

2016年11月西安市户县撤县设区,改名鄠邑区。其中有一节简介:”1964年“鄠县”改名“户县”,实际上在同一时期改名的还有:盩厔,邠县,醴泉,栒邑,汧阳,郿县,郃阳,雒南,商雒、洵阳,沔县,鄜县,葭县,这13个古县。 【户县老县城】鄠县(hu xian)就是现在之西安市鄠邑区…

在鸿蒙NEXT中实现完全自定义导航栏

在日常app开发中,导航栏扮演着重要的角色。鸿蒙提供了系统导航栏Navigation,它支持很多属性的修改,但是应用需求更加灵活多变,比如有的导航栏有背景图片,有的导航栏要求渐变色,有的导航栏需要随时隐藏和显示等等。 遇到这些需求系统的Navigation就无法实现,这时候我们就需…

鸿蒙开发中console.log和hilog的区别

在日常开发中打印日志是调试程序非常常用的操作,在鸿蒙的官方文档中介绍了hilog这种方式,有些前端转过来的友友发现console.log也可以进行日志打印。有一段时候幽蓝君也非常喜欢使用console.log,因为它看起来好像更加简单方便。 那么今天幽蓝君就来和大家说一说console.log和…

HarmonyOS NEXT开发实战教程--招聘app

这一周忙到起飞,只能在周末发个文章。今天的内容比较简单,是一个招聘app,适合新手友友参考,大佬们可以直接忽略。 看一下效果图:这是一个比较常见的应用,大家做这类应用建议大家先分析一下应用和页面的结构,避免写完发现错了又改。 这个应用首先有4个tabbaritem,是很常…

解决vscode XHR failed

问题:主要流程: 获取自己的COMMIT_ID(就是一串数字,每个人的不一样) 下载vscode-server-linux-x64.tar.gz文件 解压vscode-server-linux-x64.tar.gz,移动解压后的所有文件到~/.vscode-server/bin/COMMIT_ID目录获取COMMIT_ID cd ~/.vscode-server/bin && ls # 那串数字…

下载神器!支持视频号、抖音等多平台资源下载!

res-downloader —— 一款基于 Go + Wails + Vue 实现的,支持下载视频、音频、图片、m3u8、直播流等常见网络资源的软件工具。大家好,我是 Java陈序员。 今天,给大家介绍一款支持视频号、抖音等多平台资源下载的开源软件,开箱即用!关注微信公众号:【Java陈序员】,获取开…

零经验选手,Compose 一天开发一款小游戏!

什么,Compose 也能做游戏?!不会 Unity 没关系!游戏开发零经验选手手把手带你飞,一天写出一个4399小游戏!是兄弟就一起来!猛男翻卡牌 猛男启动 继上一个 Compose 练习项目 SimpleTodo 之后,又尝试用 Compose 来做了一个翻牌记忆游戏【猛男翻卡牌】。这次是零经验写游戏项…

ftp替代品,如何提升数据交换的安全性与高效性?

文件传输协议(FTP)是一个跨平台的、简单且易于实现的协议,用于在网络上的服务器和客户端之间传输文件,也是企业会经常选择的一种传输方式。 业务场景一: 基于信息相关安全要求,医院会采用防火墙、网闸等将网络隔离为内网和外网,但网络隔离后,医院仍存在将报告资料等文…

【分享】常见的几种数据摆渡系统介绍

随着企业数字化转型的逐步深入,企业投入了大量资源进行信息系统建设,信息化程度日益提升。在这一过程中,企业也越来越重视核心数据资产的保护,数据资产的安全防护成为企业面临的重大挑战。 一、网络隔离实施的背景 1、互联网的广泛应用:随着互联网的飞速发展,企业与外部的…

010 Element-Plus集成

React+AntDesign+MUI Vue3+VantUI UI组件库(框架)->封装通用组件->后台管理系统=>element(UI(vue2)/Plus(vue3))=>饿了么团队(阿里)=>Vue AntDesignUI=>蚂蚁金服=>React框架 AntDesignVue=>Vue框架一、Element Plus UI组件库 Element Plus 基于Vue3、…

『Plotly实战指南』--折线图绘制基础篇

在数据分析的世界中,折线图是一种不可或缺的可视化工具。 它能够清晰地展示数据随时间或其他变量的变化趋势,帮助我们快速发现数据中的模式、趋势和异常。 无论是金融市场分析、气象数据监测,还是业务增长趋势预测,折线图都能以直观的方式呈现关键信息。 本文将从基础开始,…