brew install x264
Warning: x264 r3048 is already installed and up-to-date.
To reinstall r3048, run:
brew reinstall x264
brew install x265
Warning: x265 3.5 is already installed and up-to-date.
To reinstall 3.5, run:
brew reinstall x265
ffmpeg \
-c:v x265 -i ./A.mp4 \
-c:v x265 -i ./B.mp4 \
-filter_complex "[0:v]pad=iw*2:ih[v_wide];[v_wide][1:v]overlay=W/2:0[out_video]" \
-map "[out_video]" \
-c:v x265 \
-crf 18 \
-map 0:a:0 \
-c:a copy -y \
./C.mp4
ffmpeg version 4.3.2 Copyright (c) 2000-2021 the FFmpeg developers
built with Apple clang version 12.0.0 (clang-1200.0.32.21)
configuration: --prefix=/usr/local/Cellar/ffmpeg/4.3.2-with-options_1 --enable-shared --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libaom --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-demuxer=dash --disable-libjack --disable-indev=jack --enable-opencl --enable-videotoolbox --disable-htmlpages
libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
libpostproc 55. 7.100 / 55. 7.100
Unknown decoder 'x265'
我是直接
brew tap homebrew-ffmpeg/ffmpeg
brew install homebrew-ffmpeg/ffmpeg/ffmpeg
安装的,github 页面也说了默认已经包括了 x264 和 x265
1
ynyounuo 2021-03-31 13:42:57 +08:00
libx265
|
3
momocraft 2021-03-31 13:54:10 +08:00
我用的 https://evermeet.cx/ffmpeg/ 这里下的静态链接版 , 看-encoder 有 libx265 要不要试一下
|
4
minami 2021-03-31 13:54:30 +08:00
decoder ? x265 怎么会是 decoder 呢,它是 encoder 啊。转码的话,你要这么用 ffmpeg -i input -c:v libx265 output,会先调用软解解码器,然后再用 x265 编码器进行编码。videotoolbox 你可以这么用,是因为它既可以解码又可以编码
|
5
EridanusSora 2021-03-31 14:01:04 +08:00 via Android
参数顺序问题吧,-c:v 放-i 后面(而且你重复了)
|
6
movq OP |
7
hello2060 2021-03-31 14:34:54 +08:00 via iPhone
@movq 你已经用 videotoolbox 压过那画质就没有原来好了,你再用 x265 最多也就 videotoolbox 输出这画质
|
8
movq OP @hello2060 我的意思是源视频不变,先用 videotoolbox 解码,然后用 x265 来输出,因为我看 videotoolbox 有硬件加速
|
9
jifengg 2021-03-31 15:54:16 +08:00
使用命令行:
ffmpeg.exe -v 0 -codecs | grep 265 查看支持的 codec 里是否有 h265 的。 我的 win 4.2.1 static 的返回: DEV.L. hevc H.265 / HEVC (High Efficiency Video Coding) (decoders: hevc hevc_qsv hevc_cuvid ) (encoders: libx265 nvenc_hevc hevc_amf hevc_nvenc hevc_qsv ) 说明支持 Decode 和 Encode, 其中 decoders 支持:hevc hevc_qsv hevc_cuvid encoders 支持: libx265 nvenc_hevc hevc_amf hevc_nvenc hevc_qsv 另:-c:v xxx -i xxx 表示这个输入文件的视频解码器用指定的 xxx,但是你的 ffmpeg 不支持,所以提示的是“Unknown decoder”而不是“Unknown encoder” ffmpeg 建议用 static 编译的,免去依赖的问题。 |
10
hello2060 2021-03-31 15:55:37 +08:00 via iPhone
@movq 原视频是什么?一个视频文件吗?那就 ffmpeg 里-i 指定,或者如果他已经是 h.265 的视频,那只要重新转换格式就行了,-vocodec copy 。
你用 ffmpeg 的话看下有哪些解码器,有没有硬件解码器。 你用苹果工具解码的话就存成 raw 格式再 ffmepg -c libx265 转 |
12
jim9606 2021-03-31 16:54:40 +08:00
因为 -c:v (等价于-vcodec) 用的值是 libx264 和 libx265 。
ffmpeg 默认动态链接 libx264,brew 应该是自动安装这个依赖的,brew install x264 装的是另一个只能处理 h264 的命令行工具 x264 。 运行 ffmpeg -codecs 可以看到支持的 encoder/decoder 的名字,如果直接用 h264 或者 hevc 默认就是选择 libx264 和 libx265 。 你这里-i 前面的-c:v 是多余的 @hello2060 这里用了 filters,必须重编码的。 |
13
shonnliberty 2021-03-31 17:57:19 +08:00
-crf 参数我一般不写默认 28 质量,越小质量越好但是视觉上 28 已经和原视频差不多,速度参数一般我写 faster 这个速度比较平衡不然就太慢了接受不了,
音频参数-c:a copy 直接复制原视频,我测试了结果如果用-c:a aac -b:a 128k 文件反而更大一些。 ffmpeg -i input.mp4 -c:v libx265 -crf 26 -preset faster -c:a aac -b:a 128k output.mp4 所以我一般用这个 ffmpeg -i input.mp4 -c:v libx265 -preset faster -c:a copy output.mp4 参考: https://trac.ffmpeg.org/wiki/Encode/H.265 |
14
movq OP @jifengg
ffmpeg -v 0 -codecs | grep 265 DEV.L. hevc H.265 / HEVC (High Efficiency Video Coding) (encoders: libx265 hevc_videotoolbox ) ffmpeg -v 0 -codecs | grep 264 DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (encoders: libx264 libx264rgb h264_videotoolbox ) 不知道为啥我这里的 h264 和 h265 都只能编码不能解码。。。。 |
15
jifengg 2021-04-01 11:51:13 +08:00
@movq 具体原因我也不是很懂,还是建议下载静态编译的二进制文件。楼上已经给出链接 https://evermeet.cx/ffmpeg/
|
16
msg7086 2021-04-01 13:37:57 +08:00
x265 就是用 CPU 的。你要用硬件编码器那就改用硬件编码器。
「显卡加速」有,但因为显卡并没有比 CPU 快多少,所以实际上并不能加速,也没人用。 要么就直接用显卡内部的硬件编码器来编码。这种和加速无关,是直接调用专门的电路来编码。 比如 qsv 或者 nvenc,就是调用核显或者独显内部的电路来编码的。 |