1
iGmainC 2023-10-24 12:12:56 +08:00
arm 的好像要加参数 -hwaccel videotoolbox
|
2
lbp0200 2023-10-24 12:14:24 +08:00
|
3
cutecore 2023-10-24 13:44:03 +08:00
使用硬件编码器,如果你有 n 卡,用 h264_nvenc 会比用 libx264 快很多,十几倍。同样 intel 集显 和 amd 显卡又有对应的编码器
|
4
RangerWolf 2023-10-24 13:46:30 +08:00
根据我的经验,不会
|
5
thevita 2023-10-24 13:55:13 +08:00
是的,楼上说得对,你需要选一个硬件编码器
比如我的电脑上 ``` ➜ projects ffmpeg -codecs|grep videotoo ffmpeg version 6.0 Copyright (c) 2000-2023 the FFmpeg developers built with Apple clang version 14.0.3 (clang-1403.0.22.14.1) configuration: **** libavutil 58. 2.100 / 58. 2.100 libavcodec 60. 3.100 / 60. 3.100 libavformat 60. 3.100 / 60. 3.100 libavdevice 60. 1.100 / 60. 1.100 libavfilter 9. 3.100 / 9. 3.100 libswscale 7. 1.100 / 7. 1.100 libswresample 4. 10.100 / 4. 10.100 libpostproc 57. 1.100 / 57. 1.100 DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (encoders: libx264 libx264rgb h264_videotoolbox ) DEV.L. hevc H.265 / HEVC (High Efficiency Video Coding) (encoders: libx265 hevc_videotoolbox ) DEVIL. prores Apple ProRes (iCodec Pro) (encoders: prores prores_aw prores_ks prores_videotoolbox ) ➜ projects jenv ➜ projects ffmpeg -i sss.wmv -c:v hevc_videotoolbox -b:v 5000k -c:a aac sss.mp4 ``` 可用的 videotoolbox ( 这应该是 apple 视频编码的 api ) encoder 有 这三个 选 一个就行 也可以按目标编码看 ``` ➜ projects ffmpeg -codecs|grep hevc ffmpeg version 6.0 Copyright (c) 2000-2023 the FFmpeg developers built with Apple clang version 14.0.3 (clang-1403.0.22.14.1) configuration: **** ....... DEV.L. hevc H.265 / HEVC (High Efficiency Video Coding) (encoders: libx265 hevc_videotoolbox ) ``` 一般 *_videotoolbox 是 mac 平台的编码器, *_qsv 是 intel 核显的编码器, *_nvenc, *_cuda 是 nv 的硬件编码器,libx265 是软件编码器 |
6
xmap 2023-10-24 14:32:23 +08:00
硬件编码器的速度快,但是效果是弱于软件编码器的。
同等码率下硬件编码器的视频质量更低,同等质量下硬件编码器的体积更大,不可兼得 |
7
1dian01 OP |
8
jim9606 2023-10-25 01:02:56 +08:00
-hwaccel 只影响解码是否使用硬件,不影响编码。
你如果没有指定编码参数(例如 x264/x265 的 crf/bitrate/qp/preset )会有一套比较快但质量一般的参数,例如 x264 默认用 medium preset 。软件编码器上一般存档和流通用途的话推荐 crf 模式,preset 追求质量一般以 slow 为标杆,具体 crf 数值看 ffmpeg wiki 或者编码器的文档,有推荐经验值。 硬件编码器也有类似 preset 的选择,通常都很快,例如 NVIDIA 宣称 Turing 架构的 h.264 nvenc high quality preset 可以达到 libx264 medium preset 的水平。除非直播,一般尽量用最高质量的 preset ffmpeg -h encoder=编码器名 可以查询可用参数 评测编码质量是个比较麻烦的事,一般是比 psnr/ssim/vmaf 分数,比较少媒体测这个。 |
9
yinmin 2023-10-25 01:16:51 +08:00 via Android
加参数 -c:v h264_videotoolbox 试试
|