# 【FFmpeg】如何改进我的这组转码配置方案？

**URL:** <https://meta.appinn.net/t/topic/31304>\
**Category:** 问题求助\
**Created:** [2022 年4 月 1 日 02:14 UTC](https://meta.appinn.net/t/topic/31304 "2022-04-01T02:14:15Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![future\_93](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/future_93/32/10174_2.png) [@future\_93](https://meta.appinn.net/u/future_93)\
**Post date:** [2022 年4 月 1 日 02:14 UTC](https://meta.appinn.net/t/topic/31304/1 "2022-04-01T02:14:15Z")

</div>

时隔多日后的更新：

新一轮转码的结果终于出来了。这次使用h.265/crf 24/slower配置进行转码。虽然成功地压缩掉了25%的体积，但大概是因为愚蠢的服务器既不支持硬解、算力也小得可悲的缘故，这次的耗时非常之惨烈：总计 **11天18时39分32秒** 。我大概是能死了这颗用廉价服务器做转码的心了。

* * *

前情提要：

拿腾讯的轻量应用服务器来搞ffmpeg转码一些录播视频。折腾并耐心等待了一段时间之后，第一个结果终于出来了（然后因为服务器只给了4m小水管所以下载又耗了四五个钟头），然而结果却不甚理想：一个约6GB的视频耗时50+小时，转出来的结果还大了1GB。想来主要原因还是因为我出于不损失画质的目的，将转码配置设得过于保守了。

于是想请教一下，参考下面我给出的视频参数（我要转的视频基本上都是同一个源的直播录像，所以参数基本一致），如何修改以下转码方案，以在尽量不出现肉眼可见的画质损失为前提下压缩视频：

`nohup ffmpeg -hide_banner -loglevel warning -i "$1" -c:v libx264 -preset veryslow -crf 18 -pix_fmt yuv420p -r> `

（更新……）等等，这都几天了，才发现命令只拷了一半上来……重发一次完整的吧。

`nohup ffmpeg -hide_banner -loglevel warning -i "$1" -c:v libx264 -preset veryslow -crf 18 -pix_fmt yuv420p -r 30 -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" -map 0:v:0? -c:a aac -q:a 1.6 -ar 44100 -rematrix_maxval 1.0 -ac 2 -map 0:a? -c:s mov_text -map 0:s? -map_chapters 0 -map_metadata 0 -f mp4 "$1_output.mp4" &>> "$1_output.log" &`

以及一个额外问题：因为ffmpeg运行于后台，所以我将其标准输出和错误输出都汇总到了一个log文件中。然而，使用`-loglevel warning`配置，会只输出错误信息，无法查看实时进度；而如果loglevel设为低一级的默认配置，则会导致那个每秒更新一次的底部横幅也被全部写入log，于是耗时数日的转码产生的Log文件之体积也会蔚为壮观。这个问题有什么解决的思路吗？

参考用视频参数：

| 名称 | 参数 |
| --- | --- |
| **概览** | |
| 格式 | Flash Video |
| 文件大小 | 5.95 GiB |
| 时长 | 3 时 25 分 |
| 总体码率模式 | 动态码率 (VBR) |
| 总体码率 | 4 141 kb/s |
| 编码程序 | Lavf58.41.100 |
| **视频** | |
| 格式 | AVC |
| 格式/信息 | Advanced Video Codec |
| 格式配置 (Profile) | High@L3.1 |
| 格式设置 | CABAC / 2 Ref Frames |
| 格式设置, CABAC | 是 |
| 格式设置, 参考帧 | 2 帧 |
| 编解码器 ID | 7 |
| 时长 | 3 时 25 分 |
| 码率模式 | 动态码率 (VBR) |
| 码率 | 4 000 kb/s |
| 宽度 | 1 280 像素 |
| 高度 | 720 像素 |
| 画面比例 | 16:9 |
| 帧率模式 | 恒定帧率 (CFR) |
| 帧率 | 30.000 FPS |
| 色彩空间 | YUV |
| 色度抽样 | 4:2:0 |
| 位深 | 8 位 |
| 扫描类型 | 逐行扫描 (连续) |
| 数据密度 [码率/(像素\*帧率)] | 0.145 |
| 流大小 | 5.74 GiB (97%) |
| 色彩范围 | Limited |
| 色彩原色 | BT.709 |
| 传输特性 | BT.709 |
| 矩阵系数 | BT.709 |
| **音频** | |
| 格式 | AAC LC |
| 格式/信息 | Advanced Audio Codec Low Complexity |
| 编解码器 ID | 10-2 |
| 时长 | 3 时 25 分 |
| 码率 | 256 kb/s |
| 声道数 | 2 声道 |
| 声道格式 | L R |
| 采样率 | 44.1 kHz |
| 帧率 | 43.066 FPS (1024 SPF) |
| 压缩模式 | 有损 |
| 相对视频的延迟 | 66 毫秒 |
| 流大小 | 376 MiB (6%) |

---

<div class="post-metadata">

**Author:** ![allor](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/allor/32/1268_2.png) [@allor](https://meta.appinn.net/u/allor)\
**Post date:** [2022 年4 月 1 日 05:14 UTC](https://meta.appinn.net/t/topic/31304/2 "2022-04-01T05:14:39Z")

</div>

> [@future\_93](#):
>
> 以在尽量不出现肉眼可见的画质损失为前提下压缩视频

每个人的眼睛的分辨能力并不是一致的，要好是分别使用不同的 `-crf` 值裁剪压缩几秒内容作为小样，通过小样确定参数后再压制，免得白费几十个小时。

要小体积，上 H265（`libx265`），具体 `-crf` 参数自测决定，没必要用这么夸张的预设。  
要看进度，用 `-progress`

```bash
ffmpeg -i in.mp4 -c:v libx265 -crf 26 -c:a copy -progress p.txt out.mp4

```

附：[官网H.265压制文档](https://trac.ffmpeg.org/wiki/Encode/H.265)  
有意进一步调整参数的话，可以搜 `-x265-params` 学习。

* * *

当初刚接触 FFmpeg 时也花过50多个小时压视频，不过是把5G压成1G（H265），反正我的狗眼是看不出什么明显区别 :sweat_smile:

---

<div class="post-metadata">

**Author:** ![kli2018](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/kli2018/32/22935_2.png) [@kli2018](https://meta.appinn.net/u/kli2018)\
**Post date:** [2022 年4 月 1 日 05:41 UTC](https://meta.appinn.net/t/topic/31304/3 "2022-04-01T05:41:19Z")

</div>

crf 18太大了吧  
一般23  
极限点26,1080p也几乎看不出来损失

---

<div class="post-metadata">

**Author:** ![Asdzxcyuihjk](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/asdzxcyuihjk/32/23487_2.png) [@Asdzxcyuihjk](https://meta.appinn.net/u/Asdzxcyuihjk)\
**Post date:** [2022 年4 月 1 日 10:47 UTC](https://meta.appinn.net/t/topic/31304/4 "2022-04-01T10:47:10Z")

</div>

我是直接上传到youtube,设置为不公开,等YouTube转好了,再下载下来

---

<div class="post-metadata">

**Author:** ![haitao](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/h/958977/32.png) [@haitao](https://meta.appinn.net/u/haitao)\
**Post date:** [2022 年4 月 1 日 11:16 UTC](https://meta.appinn.net/t/topic/31304/5 "2022-04-01T11:16:27Z")

</div>

我都是直接设码率的：  
1280x720 画面正好，我一般把1920的也缩成1280  
视频4M码率有点高，我一般是：重要的1k，差一点的512k，再差的360k  
帧率一般10就能看，重要的不变也行  
音频10k-40k就行了

便宜的vps上传还勉强，下载就很慢了  
现在是每天用i4590压上百个视频，旧风扇要达到100度自动降频，新风扇基本在60-70度

---

<div class="post-metadata">

**Author:** ![xmmdg](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/xmmdg/32/49001_2.png) [@xmmdg](https://meta.appinn.net/u/xmmdg)\
**Post date:** [2022 年4 月 1 日 14:13 UTC](https://meta.appinn.net/t/topic/31304/6 "2022-04-01T14:13:41Z")

</div>

日志的问题，我没具体操作过。只是提个思路：grep 找出需要的信息，其他信息转到黑洞里去。不知可否

---

<div class="post-metadata">

**Author:** ![future\_93](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/future_93/32/10174_2.png) [@future\_93](https://meta.appinn.net/u/future_93)\
**Post date:** [2022 年4 月 1 日 23:30 UTC](https://meta.appinn.net/t/topic/31304/7 "2022-04-01T23:30:34Z")

</div>

感谢。确实之前没想到用x265。我再去试试。

---

<div class="post-metadata">

**Author:** ![live9999](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/l/e56c9b/32.png) [@live9999](https://meta.appinn.net/u/live9999)\
**Post date:** [2022 年4 月 2 日 02:40 UTC](https://meta.appinn.net/t/topic/31304/8 "2022-04-02T02:40:06Z")

</div>

想文件小,我就直接压码率.

```auto
ffmpeg -i input.avi -b:v 5120k output.mp4

```

5120k 指1分钟 5m大小  
看你视频时长了,自己算一个满意的大小.然后

---

<div class="post-metadata">

**Author:** ![future\_93](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/future_93/32/10174_2.png) [@future\_93](https://meta.appinn.net/u/future_93)\
**Post date:** [2022 年4 月 16 日 11:15 UTC](https://meta.appinn.net/t/topic/31304/9 "2022-04-16T11:15:35Z")

</div>

小更新：

耗时惨烈的H.265转码成果与配置。

---

<div class="post-metadata">

**Author:** ![lilyhcn1](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/l/439d5e/32.png) [@lilyhcn1](https://meta.appinn.net/u/lilyhcn1)\
**Post date:** [2022 年4 月 17 日 12:31 UTC](https://meta.appinn.net/t/topic/31304/10 "2022-04-17T12:31:47Z")

</div>

有个小丸工具箱，压缩视频效果太好了。100m教程视频压成5m，质量还很好

---

<div class="post-metadata">

**Author:** ![haitao](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/h/958977/32.png) [@haitao](https://meta.appinn.net/u/haitao)\
**Post date:** [2022 年4 月 17 日 14:21 UTC](https://meta.appinn.net/t/topic/31304/11 "2022-04-17T14:21:49Z")

</div>

教程的背景基本是不变的，压缩率是可以比较高的
