FFMPEG重编码视频入门过程中的想法

2022-12-01 16:27:46 7点赞 16收藏 0评论

最近在Hao4K上看到有人发布了老版四大名著的分享,但是是阿里云盘的,那时候群晖还没把阿里云盘同步绑上,开始一点点搬运,然后就研究怎么把阿里云盘同步到群晖。网上教程一大堆,选了一个看起来还不错的,就用了。就开始了大规模搬运的过程。搬完了才发现群晖存储池报警了,我是一个轻微的强迫症患者,看到报警就难受,但是还没钱换硬盘,只能研究压缩现有的视频,看来看去,发现了ffmpeg是个神奇的东西,基本上所有媒体文件他都能处理,但是是个命令行工具,也有很多GUI界面,像Shana encoder、Axiom等,但是总是感觉不舒服,不是自己控制的就有点不舒服,又开始了在网上找教程的过程,不能说千辛万苦吧,至少走了挺多弯路。

最开始只是想找个能够批量处理的方法,没想很多,只想把H264的视频转成H265(HEVC)好缩小体积,然后就发现还分CPU解码编码,GPU解码编码,网上的说法是同参数CPU处理的效果要比GPU好,同时CPU处理要比GPU满,我不理解为什么相同参数还会有不同,试过之后也没太看出来大区别,可能是我的原视频比较老,本来就很闹心。

由于当时配电脑的时候中了AMD的毒,CPU显卡都是A家的,而显然FFMPEG对N卡支持更好,又开始细究A卡到底能干啥,最后妥协了,只能用CPU解码,GPU编码,肯定要慢,幸亏我只是干这一点活,不然会疯的。

在网上随便找了一个bat脚本就开始跑,也没太看脚本内容,也看不太懂,然后就发现有部分视频跑完效果不行,又把Axiom打开研究格式、硬解、软解、画面大小、quality、CRF、字幕、音轨等等等等,终于调出来一个适合我的脚本。

跟大家简单分享一下我现在用的一个随时调整的脚本

@echo off

::在下方设置要处理的视频或音频格式,这里列出了一些主要的视频格式
set Ext=*.avi,*.mp4,*.wmv,*.flv,*.mkv,*.rmvb,*.rm,*.3gp,*.ts

md output

echo 开始视频转换

::在下方设置输出格式,这里输出为mp4,可自行更改
for %%a in (%Ext%) do (
echo 正在转换:%%a
ffmpeg -hwaccel d3d11va -i "%%a" -c:v hevc_amf -quality balanced -crf 18 -map 0:v? -attach 1.jpg -metadata:s:t mimetype=IMAGE/jpeg -c:a copy -map 0:a? -c:s copy -map 0:s? -f Matroska -threads 12 "output%%~na.mkv" -y
)

echo 转换完成

pause

简单说明一下我的操作和想法

  1. set Ext=【这句话不太懂啥意思,就是在网上找的脚本原带的,我又把一些小姐姐的格式加上了】

  2. md output【创建一个叫“output”的文件夹

  3. for···【这句也不用太管】

重点是ffmpeg开始这个

  1. -hwaccel d3d11va【这句是从Axiom里抄的,是利用Direct3D 11解码视频】

  2. -i 【输入文件】

  3. -c:v【处理视频轨道(我是这么理解的,有错误的话希望评论区大佬指出来)】

  4. hevc_amf【用amd显卡硬件编码(N卡的在网上随便一搜有的是,A卡的不好搜,从gui软件上抄的),需要用软件编解码的,可以直接用“libx265”,只是速度太慢,一般都不会超过1.5倍】

  5. -quality balanced【质量速度平衡,对我来讲,老片子和小姐姐,用“balanced”就可以了,没再进行调试,有需求的可以自行调试,还有quality和speed,这个选项跟上一个命令有关,由于上一个选的是hevc_amf,这个才只有balanced,具体的可以参看Axiom的选项】

  6. -crf 18【网上说,这个一般用19-28,HEVC转码默认28,这个数值是从0-51中选整数,数值越大,质量越差,也有说法是选18一般就是看不太出来了,我就选了18,可以自己调试】

  7. -map 0:v?【map指的是选择输入视频轨道,具体轨道号可以通过在视频所在文件夹打开cmd或者powershell,利用“ffmpeg -i 输入文件名”查看,输出轨道号见下图,图中stream #0:0就是轨道号,第一个0指的是第一个文件,第二个0指的是第一个轨道,0:0就是第一个文件第一个轨道,0:1是第一个文件第二个轨道。相对应如果有两个文件输入,就是1:0指第二个文件第一个轨道-map中的0指的就是第一个文件,v指的是所有视频轨道,?指没有这类轨道就不选】

  8. 输出轨道输出轨道

  9. -c:a copy -map 0:a?和-c:s copy -map 0:s?【跟上面类似,选择音频(a)、字幕(s)轨道,直接复制,这里我没做处理,有需求的可以自己研究,另外还有一个附件轨道(t),在下面细说】

  10. -f Matroska【输出格式为mkv,也可调成mp4等等,自选】

  11. 剩下的除了mkv这个后缀名需要根据-f参数修改外照抄即可

  12. -attach 1.jpg【添加本文件夹内的“1.jpg”文件为附件】

  13. -metadata:s:t【“-metadata:s”是从ffmpeg的说明里抄来的,具体意思不懂,“:t”是把这个元数据赋值到附件轨道,“t”指的就是附件】

  14. mimetype=IMAGE/jpeg【是这个文件的mimetype值,我是将文件放到MKVToolNix附件栏里查到的,也可以添加字幕的字体,具体的可以自己查看ffmpeg的文档】

  15. 另外如果输入文件本身就有附件,想复制过去,可以直接使用“-map 0:t?”命令,同样复制章节和元数据使用“-map_chapters 0”和“-map_metadata 0”,上述的“0”都是指第一个输入文件

  16. 其余的参数需要调整的就需要自己查看ffmpeg的文档了,我嫌麻烦就没太调试

总的来说就是输入一个文件(-i),选择轨道(-map),处理轨道(-c),输出这么一个流程,其余各种参数,各种编解码器等等等等都可以自定义,还是需要更细致的研究才能搞懂。

上述11、12、13项是我自己摸索的,网上没找到相关教程,从ffmpeg的文档之查到一些蛛丝马迹编进去的,暂时还能运行,但是只是在mkv里运行过,mp4好像不太行,输出mp4时把附件识别为一个视频轨道,

这时候我就用的ffmpeg文档上说的命令

ffmpeg -i in.mp4 -i IMAGE -map 0 -map 1 -c copy -c:v:1 png -disposition:v:1 attached_pic out.mp4

根据说明的解释,这个命令是添加封面或缩略图

引用原文机翻,是如下说的,“但不是所有的复用器都支持嵌入的缩略图,那些支持的复用器只支持几种格式,如JPEG或PNG。”

也可以实现,具体原因和原理没太懂,希望有懂的大佬,可以讲解一下。

本文只是说明和记录一下近期转码视频的一点点心得,不是什么教程之类的,有需要可以参考,这个脚本就是可以使用,具体效果因人而异,具体参数看个人喜好,有不对的地方,希望各位大佬不吝赐教,万分感谢!

ffmpeg官网:http://ffmpeg.org/

ffmpeg文档:http://ffmpeg.org/ffmpeg.html

ffmpeg下载:http://ffmpeg.org/download.html

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

微软 Microsoft 365/高级版Office家庭版1TB云存储Windows Mac iPhone iPad安卓通用密钥15个月电子版6人同享

微软 Microsoft 365/高级版Office家庭版1TB云存储Windows Mac iPhone iPad安卓通用密钥15个月电子版6人同享

299元起

微软 Microsoft 365/高级版Office 家庭版 1TB 云存储 Windows Mac iPhone iPad安卓通用 1年电子版 6人同享

微软 Microsoft 365/高级版Office 家庭版 1TB 云存储 Windows Mac iPhone iPad安卓通用 1年电子版 6人同享

498元起

Microsoft 微软 365/Office 个人版 1TB 云存储 各设备通用 1年盒装 5设备同享

Microsoft 微软 365/Office 个人版 1TB 云存储 各设备通用 1年盒装 5设备同享

398元起

Microsoft 微软 365/Office 家庭版 1TB 云存储 各设备通用 1年盒装版 6人同享

Microsoft 微软 365/Office 家庭版 1TB 云存储 各设备通用 1年盒装版 6人同享

498元起

微软 Microsoft 365/高级版Office 家庭版 1TB 云存储 Windows Mac iPhone iPad安卓通用 1年电子版 6人同享 Office 2021 彩盒包装版 仪式感的盒装版

微软 Microsoft 365/高级版Office 家庭版 1TB 云存储 Windows Mac iPhone iPad安卓通用 1年电子版 6人同享 Office 2021 彩盒包装版 仪式感的盒装版

748元起

微软 Microsoft 365/高级版Office 家庭版 1TB 云存储 Windows Mac iPhone iPad安卓通用 1年电子版 6人同享 M365+松下护眼台灯套装 仪式感的盒装版

微软 Microsoft 365/高级版Office 家庭版 1TB 云存储 Windows Mac iPhone iPad安卓通用 1年电子版 6人同享 M365+松下护眼台灯套装 仪式感的盒装版

618元起

微软 Microsoft 365/高级版Office 家庭版 1TB 云存储 Windows Mac iPhone iPad安卓通用 1年电子版 6人同享 M365 个人版Office 单账号Plus 更环保的电子版

微软 Microsoft 365/高级版Office 家庭版 1TB 云存储 Windows Mac iPhone iPad安卓通用 1年电子版 6人同享 M365 个人版Office 单账号Plus 更环保的电子版

699元起

Microsoft 微软 OFFICE 365 家庭版 会员

Microsoft 微软 OFFICE 365 家庭版 会员

169元起

Microsoft 微软 Office 365 个人版

Microsoft 微软 Office 365 个人版

219元起

Microsoft 微软 Office 2019 家庭学生版 密钥

Microsoft 微软 Office 2019 家庭学生版 密钥

179元起

WPS 金山软件 会员季卡

WPS 金山软件 会员季卡

22元起

WPS 金山软件 WPS 超级会员 3年卡

WPS 金山软件 WPS 超级会员 3年卡

159元起

《国家地理 每日精选》iOS数字版软件

《国家地理 每日精选》iOS数字版软件

暂无报价

《Picsew》iOS数字版软件

《Picsew》iOS数字版软件

暂无报价

WPS 金山软件会员 2年卡

WPS 金山软件会员 2年卡

149元起

Microsoft 微软 OFFICE 365 个人版 办公软件

Microsoft 微软 OFFICE 365 个人版 办公软件

218元起
0评论

当前文章无评论,是时候发表评论了
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
16
扫一下,分享更方便,购买更轻松