无法使用 FFMPEG 转码视频
Unable to use FFMPEG to transcode video
我在使用 nzbtomedia (https://github.com/clinton-hall/nzbToMedia/) 自动转码视频时遇到以下错误。
转码器 returned:b"Unknown encoder 'libx264'\n" 失败
如何安装此编码器?
树莓派 (Raspberry PI)
附加信息:
FFMPEG 版本
ffmpeg version N-96192-g2ff687c17f Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 8 (Raspbian 8.3.0-6+rpi1)
configuration:
libavutil 56. 38.100 / 56. 38.100
libavcodec 58. 65.100 / 58. 65.100
libavformat 58. 35.101 / 58. 35.101
libavdevice 58. 9.101 / 58. 9.101
libavfilter 7. 69.101 / 7. 69.101
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
ffmpeg-编码器 | grep 264
ffmpeg version N-96192-g2ff687c17f Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 8 (Raspbian 8.3.0-6+rpi1)
configuration:
libavutil 56. 38.100 / 56. 38.100
libavcodec 58. 65.100 / 58. 65.100
libavformat 58. 35.101 / 58. 35.101
libavdevice 58. 9.101 / 58. 9.101
libavfilter 7. 69.101 / 7. 69.101
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
V..... h264_v4l2m2m V4L2 mem2mem H.264 encoder wrapper (codec h264)
似乎 Raspbian ffmpeg 包缺少 libx264 支持。我建议尝试更改 VCODEC nzbToMedia 配置以使用 "h264_v4l2m2m" 或安装支持 libx264 的 ffmpeg 版本。
这是讨论缺少 libx264 支持问题的论坛帖子https://www.raspberrypi.org/forums/viewtopic.php?t=184425
您似乎遵循了这个 ancient wiki guide,您在没有启用 libx264 的情况下编译了 ffmpeg。
我猜您正在使用 Raspbian Buster,官方存储库目前提供启用了 libx264 的 FFmpeg 4.1.4。所以卸载你编译的ffmpeg:
cd ~/ffmpeg
sudo make uninstall
然后从存储库安装 ffmpeg:
sudo apt install ffmpeg
现在当你 运行 ffmpeg
它应该在输出中显示 --enable-libx264
。
您可能还会看到 --enable-omx --enable-omx-rpi --enable-mmal
这将允许 decoding/encoding 的硬件:
- H.264 编码 (
-c:v h264_omx
) & 解码 (-c:v h264_mmal
)
- MPEG-4 第 2 部分视频编码 (
-c:v mpeg4_omx
) 和解码 (-c:v mpeg4_mmal
)
- MPEG-2 视频解码 (
-c:v mpeg2_mmal
)
- VC-1解码(
-c:v vc1_mmal
)
我在使用 nzbtomedia (https://github.com/clinton-hall/nzbToMedia/) 自动转码视频时遇到以下错误。
转码器 returned:b"Unknown encoder 'libx264'\n" 失败
如何安装此编码器?
树莓派 (Raspberry PI)
附加信息:
FFMPEG 版本
ffmpeg version N-96192-g2ff687c17f Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 8 (Raspbian 8.3.0-6+rpi1)
configuration:
libavutil 56. 38.100 / 56. 38.100
libavcodec 58. 65.100 / 58. 65.100
libavformat 58. 35.101 / 58. 35.101
libavdevice 58. 9.101 / 58. 9.101
libavfilter 7. 69.101 / 7. 69.101
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
ffmpeg-编码器 | grep 264
ffmpeg version N-96192-g2ff687c17f Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 8 (Raspbian 8.3.0-6+rpi1)
configuration:
libavutil 56. 38.100 / 56. 38.100
libavcodec 58. 65.100 / 58. 65.100
libavformat 58. 35.101 / 58. 35.101
libavdevice 58. 9.101 / 58. 9.101
libavfilter 7. 69.101 / 7. 69.101
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
V..... h264_v4l2m2m V4L2 mem2mem H.264 encoder wrapper (codec h264)
似乎 Raspbian ffmpeg 包缺少 libx264 支持。我建议尝试更改 VCODEC nzbToMedia 配置以使用 "h264_v4l2m2m" 或安装支持 libx264 的 ffmpeg 版本。
这是讨论缺少 libx264 支持问题的论坛帖子https://www.raspberrypi.org/forums/viewtopic.php?t=184425
您似乎遵循了这个 ancient wiki guide,您在没有启用 libx264 的情况下编译了 ffmpeg。
我猜您正在使用 Raspbian Buster,官方存储库目前提供启用了 libx264 的 FFmpeg 4.1.4。所以卸载你编译的ffmpeg:
cd ~/ffmpeg
sudo make uninstall
然后从存储库安装 ffmpeg:
sudo apt install ffmpeg
现在当你 运行 ffmpeg
它应该在输出中显示 --enable-libx264
。
您可能还会看到 --enable-omx --enable-omx-rpi --enable-mmal
这将允许 decoding/encoding 的硬件:
- H.264 编码 (
-c:v h264_omx
) & 解码 (-c:v h264_mmal
) - MPEG-4 第 2 部分视频编码 (
-c:v mpeg4_omx
) 和解码 (-c:v mpeg4_mmal
) - MPEG-2 视频解码 (
-c:v mpeg2_mmal
) - VC-1解码(
-c:v vc1_mmal
)