叶子 发表于 2021-11-14 03:47:32

【万能播放器,万能转换器】FFmpeg,神器,神器!!!!!!

FFmpeg是一个开源的音视频转码工具,它提供了录制,转换以及流化音视频的完整解决方案,可以转码,压制,提取,截取,合并,录屏等。暴风影音,格式工厂,QQ影音,KMP,GOM Player,PotPlayer...都是用的它的内核!功能想像不到的强大可以这么说,会这个技术,可以把电脑上的任何视频,音频播放器以及任何转换器,全部删掉!但是对编码要求有点,所以上手需要一定时间,以下是我提供的相关笔记,相信你半天时间即可掌握如何运用!

FFmpeg三个版本:Static,Shared,Dev,前两个版本可以直接在命令行中使用。
1.Static:exe体积较大,那是因为相关的Dll都已经编译进exe里面去了。该版本提供了静态版本的FFmpeg工具,将依赖的库生成在了最终的可执行文件中,作为工具而言此版本就可以满足我们的需求。
2.Shared:exe的体积相对小很多,程序运行过程必须依赖于提供的dll文件。
3.Dev:用于开发,里面包含了库文件xxx.lib以及头文件xxx.h。
官网:http://ffmpeg.org,下载:https://ffmpeg.org/download.html,https://github.com/BtbN/FFmpeg-Builds/releases
————————————————
需要了解的是子目录bin的几个程序:
ffmpeg.exe:fast forword mpeg,音视频转码,转换器
ffplay.exe:fast forword play,简单的音视频播放器
ffserver.exe:fast forword server,流媒体服务器
ffprobe.exe: fast forword probe,简单的多媒体码流分析器,比如查看文件格式
————————————————
安装,下载好安装包,解压到安装盘!
1.电脑>属性>高级系统设置>环境变量,在系统变量的path变量里添加bin的路径:
例如我的 “C:\Program Files\FFmpeg\bin”
2,Win+R,运行cmd,输入“ffmpeg -version”,若显示相关信息界面,则说明配置成功。
————————————————【视频常用的编码值和参数】
-vcodec:编码器,常用libx264(文件小,画质清晰),libxvid,其他:libdivx,libxvid,libx264,libx265, 写法:-vcodec libx264,-c copy表示复制
-s:分辨率,单位宽x高(宽*高也可),其他:720*480,800*480,1280*720,1920*1080 写法:-s 720x480或-s 720*480
-r:frames per second,帧率,单位fps/s,常用29.97,其他:23.976fps/s,25fps/s 写法:-r 29.97
-b:bit rate,比特率,单位kb/s,常用2500,5000...写法:-b: v 2500;还可以用动态码率,取值0.01-255,越小画质越高,写法:-qscale 1和-qscale 2
-preset:对编码器的预设,精度越高编码速度越慢,占用cpu性能越高,默认是medium,其他:ultrafast,superfast,veryfast,faster,fast,slow,slower,veryslow,placebo,写法:-preset medium
-vn:禁止视频输出

【音频常用的编码值和参数】
-acodec:编码器,一般是:libmp3lame,未设定时则使用与输入流相同的编码器,写法:-acodec libmp3lame,-acodec copy表示复制
-ab:bit rate,比特率,64kbps/s,32kbps/s,64kbps/s,96kbps/s,128kbps/s,192kbps/s,224kbps/s,256kbps/s,最好的是320kbps/s,写法:-ab 320或-b: a 320,默认VBR(动态码率),其他有CBR(恒定码率),ABR(平均码率)
-ac:channels,声道,常用是2立体声,1是单声道,缺省为1,写法:-ac 2
-ar:frequency,采样率,常用是44100,最高48000,其他22050,11025,PSP只认24000,写法:-ar 44100
-an:禁止音频输出
-vol:常用不变,200%的音量,表示音量翻倍

二.【代码含义】
-i:源文件名目标文件
-f:强迫输出格式
-s:尺寸
-l:license
-h:help,帮助
-c:编码
-y:若输出文件已存在时则覆盖文件
-n:表示结束处理过程,不覆盖输出
-fs:超过指定的文件大小时则结束转换
-ss:截取的起点时间,以秒为单位
-t:截取的终点时间,以秒为单位
-t从-ss时间开始转换(如-ss 00:00:01.00 -t 00:00:10.00即从00:00:01.00开始到00:00:11.00)
-vf:和-r一样,区别是使用了过滤器
-qp:恒定量化器模式
-level:v 对视频编码器配置的限制
-title:设置标题
-vframes:前多少帧
-timestamp:设置时间戳
-qscale:是视频输出质量,后边的值越小画质越高
-target:表示针对指定设备进行转码处理
-vsync:增减Frame使影音同步
-bitexact:使用标准比特率
-metadata:更改输出文件的元数据
"1.***"(输出文件名,也可以加路径改文件名)
-aspect:横纵比,4:3,16:9或1.3333,1.7777
-target type:设置目标文件类型(vcd,svcd,dvd)
-sameq:使用和源同样的质量
-encoders:查看一下所有可选的编码格式
-pix_format:视频使用的颜色空间,如yuv420p,YUV表示明亮度,色度和浓度
-profile:编码器配置,实时通信领域采用baseline,流媒体领域使用main,超清视频使用high
-crf:恒定速率因子模式,相当于浮动值的qp模式,范围是0-51,常用是23
pcmformat:选项有:pcm_u8,pcm_s16le,pcm_s16be,pcm_u16le,pcm_u16be

二.【示例】
[获取信息]
ffmpeg -i 路径\输出文件名.格式

[示例:视频转换]
ffmpeg -i 路径\源文件名.格式 -qscale 0 路径\输出文件名.格式
[示例:视频批量转mp4]
for %%v in (*.mkv) do ffmpeg -i "%%~v" -vcodec libx264 -r 29.97 -qscale 1 -acodec copy "%%~na.mp4"

解读:
for %%a in (*.mkv) do:此段代码表示选择该目录下所有
*..mkv:可以指定路径比如,D:\*..mkv,mkv换成其他格式也可
-i "%%~v":所有视频
-vcodec libx264 -r 29.97 -qscale 1 -acodec copy:编码器libx264,帧数29.97/s,动态码率-qscale 1,音频复制-acodec copy,最佳转换
"%%~na.mp3":根据原文件名写入新的转换文件名

[示例:音频转换]
ffmpeg -i 路径\源文件名.格式 -acodec libmp3lame -ab 320k -ar 44100 -ac 2 -map_metadata 0 -id3v2_version 3 路径\输出文件名.格式

[示例:flac批量转mp3]
**** Hidden Message *****
另再共享自用的几个命令代码:
Flac批量转MP3_叶猫猫出品
NCM格式转换器(把文件拖进软件即可)
文件目录(不包含子目录)


FFmpeg博大精深,想要玩精,需要更多学习!

need47ac6 发表于 2021-11-14 03:56:34

不知该说些什么....就是谢谢,支持一下:lol

wwqq 发表于 2021-11-14 04:03:28

我是个凑数的,找到好贴不容易,我顶你了,谢了

☆→wǒイ?豸苗 发表于 2021-11-14 04:32:52

有竞争才有进步嘛,学习了,谢谢分享、、、

shail2j3d 发表于 2021-11-14 04:38:26

梅花。 发表于 2021-11-14 05:02:53

帮你顶下哈!!相当不错,感谢无私分享精神!

SwaggyZ 发表于 2021-11-14 05:15:14

我是个凑数的,找到好贴不容易,我顶你了,谢了

DJHeiDSai 发表于 2023-1-3 00:10:10

不知该说些什么....就是谢谢,支持一下
页: [1]
查看完整版本: 【万能播放器,万能转换器】FFmpeg,神器,神器!!!!!!