统计
  • 文章总数:256 篇
  • 评论总数:0 条
  • 分类总数:14 个
  • 最后更新:2天前
头条套件教程

【转载】群晖FFmpeg套件的一些特定常见问题解答

本文阅读 3 分钟
首页 套件教程 正文

SynoCommunity 包 FFmpeg 特定常见问题解答

FFmpeg提供了一组命令行工具来处理音频和视频媒体文件。

命令位于 /usr/local/ffmpeg/bin,以及其他包需要的库。在 DSM 7.0 中,它们位于 /volume1/@appstore/ffmpeg/bin。

通过 /usr/local/bin 提供符号链接,如下所示,其中最新安装的版本将成为默认的 ffmpeg:

  • ffmpeg4
  • ffmpeg5
  • ffmpeg6
  • ffmpeg7
  • ffmpeg -> 最新安装的版本

FFMPEG终极指南:https://img.ly/blog/ultimate-guide-to-ffmpeg/

如何检查支持的格式和编码器

参考:https://dev.to/drsensor/list-of-helpful-ffmpeg-command-for-checking-capabilities-1110

如何列出所有过滤器选项:

$ ffmpeg7 -hide_banner -filters
Filters:
  T.. = Timeline support
  .S. = Slice threading
  ..C = Command support
  A = Audio input/output
  V = Video input/output
  N = Dynamic number and/or type of input/output
  | = Source or sink filter
 T.. adelay           A->A       Delay one or more audio channels.
 ... aecho            A->A       Add echoing to the audio.
...

如何列出硬件加速:

$ ffmpeg7 -hide_banner -hwaccels
Hardware acceleration methods:
vaapi
qsv
drm
opencl

如何验证 ffmpeg OpenCL 加速(仅适用于具有较新 Intel 处理器的 DSM >=7):

$ ffmpeg7 -hide_banner -filters | grep opencl
 ... avgblur_opencl    V->V       Apply average blur filter
 ... boxblur_opencl    V->V       Apply boxblur filter to input video
 ... colorkey_opencl   V->V       Turns a certain color into transparency. Operates on RGB colors.
 ... convolution_opencl V->V       Apply convolution mask to input video
 ... deshake_opencl    V->V       Feature-point based video stabilization filter
 ... dilation_opencl   V->V       Apply dilation effect
 ... erosion_opencl    V->V       Apply erosion effect
 ... nlmeans_opencl    V->V       Non-local means denoiser through OpenCL
 ... overlay_opencl    VV->V      Overlay one video on top of another
 ... pad_opencl        V->V       Pad the input video.
 ... prewitt_opencl    V->V       Apply prewitt operator
 ... program_opencl    N->V       Filter video using an OpenCL program
 ... remap_opencl      VVV->V     Remap pixels using OpenCL.
 ... roberts_opencl    V->V       Apply roberts operator
 ... scale_opencl      V->V       Scale the input video size through OpenCL.
 ... sobel_opencl      V->V       Apply sobel operator
 ... tonemap_opencl    V->V       Perform HDR to SDR conversion with tonemapping.
 ... transpose_opencl  V->V       Transpose input video
 ... unsharp_opencl    V->V       Apply unsharp mask to input video
 ... xfade_opencl      VV->V      Cross fade one video with another video.
 ... openclsrc         |->V       Generate video using an OpenCL program

在 Intel 类型的处理器上,验证硬件加速:

  • 对视频设备文件的访问权限是根据每个应用程序授予的。这允许诸如 tvheadend 之类的应用程序在调用 ffmpeg 时被授予使用硬件加速的访问权限。
  • 作为默认用户,您必须以已授予访问权限的用户身份与 ffmpeg 交互(请参见下面的示例),或者将您的用户帐户添加到 videodriver 组。

    $ sudo su -s /bin/bash sc-ffmpeg7 -c '/var/packages/synocli-videodriver/target/bin/vainfo'
    Trying display: drm
    libva info: VA-API version 1.22.0
    libva info: Trying to open /var/packages/synocli-videodriver/target/lib/iHD_drv_video.so
    libva info: Found init function __vaDriverInit_1_22
    libva info: va_openDriver() returns 0
    vainfo: VA-API version: 1.22 (libva 2.22.0)
    vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 24.2.5 (a20bb2e)
    vainfo: Supported profile and entrypoints
        VAProfileNone                   :    VAEntrypointVideoProc
        VAProfileNone                   :    VAEntrypointStats
        VAProfileMPEG2Simple            :    VAEntrypointVLD
        VAProfileMPEG2Main              :    VAEntrypointVLD
        VAProfileH264Main               :    VAEntrypointVLD
        VAProfileH264Main               :    VAEntrypointEncSlice
        VAProfileH264Main               :    VAEntrypointFEI
        VAProfileH264Main               :    VAEntrypointEncSliceLP
        VAProfileH264High               :    VAEntrypointVLD
        VAProfileH264High               :    VAEntrypointEncSlice
        VAProfileH264High               :    VAEntrypointFEI
        VAProfileH264High               :    VAEntrypointEncSliceLP
        VAProfileVC1Simple              :    VAEntrypointVLD
        VAProfileVC1Main                :    VAEntrypointVLD
        VAProfileVC1Advanced            :    VAEntrypointVLD
        VAProfileJPEGBaseline           :    VAEntrypointVLD
        VAProfileJPEGBaseline           :    VAEntrypointEncPicture
        VAProfileH264ConstrainedBaseline:    VAEntrypointVLD
        VAProfileH264ConstrainedBaseline:    VAEntrypointEncSlice
        VAProfileH264ConstrainedBaseline:    VAEntrypointFEI
        VAProfileH264ConstrainedBaseline:    VAEntrypointEncSliceLP
        VAProfileVP8Version0_3          :    VAEntrypointVLD
        VAProfileVP8Version0_3          :    VAEntrypointEncSlice
        VAProfileHEVCMain               :    VAEntrypointVLD
        VAProfileHEVCMain               :    VAEntrypointEncSlice
        VAProfileHEVCMain               :    VAEntrypointFEI
        VAProfileHEVCMain10             :    VAEntrypointVLD
        VAProfileVP9Profile0            :    VAEntrypointVLD

请注意,较旧的 Intel 处理器将回退到 vainfo 输出的旧版 i965 驱动程序部分:

vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Intel i965 driver for Intel(R) CherryView - 2.4.1

如果访问受限或不存在,例如在虚拟 DSM 上:

$ vainfo 
Trying display: drm
error: failed to initialize display

如何验证 OpenCL 硬件加速(下面的截断输出 - 仅适用于具有较新 Intel 处理器的 DSM >=7):

$ sudo su -s /bin/bash sc-ffmpeg7 -c '/var/packages/synocli-videodriver/target/bin/clinfo'
Number of platforms                               1
  Platform Name                                   Intel(R) OpenCL Graphics
  Platform Vendor                                 Intel(R) Corporation
  Platform Version                                OpenCL 3.0 
  Platform Profile                                FULL_PROFILE
...

如何列出编码器|解码器|编解码器

$ ffmpeg7 -hide_banner -encoders
$ ffmpeg7 -hide_banner -decoders
$ ffmpeg7 -hide_banner -codecs

如何列出特定编码器|解码器|编解码器的详细信息

$ ffmpeg7 -hide_banner -h encoder=<encoder>
$ ffmpeg7 -hide_banner -h decoder=<decoder>

HEVC 示例:

$ ffmpeg7 -hide_banner -h decoder=hevc
Decoder hevc [HEVC (High Efficiency Video Coding)]:
    General capabilities: dr1 delay threads 
    Threading capabilities: frame and slice
    Supported hardware devices: vaapi 
HEVC decoder AVOptions:
  -apply_defdispwin  <boolean>    .D.V....... Apply default display window from VUI (default false)
  -strict-displaywin <boolean>    .D.V....... stricly apply default display window size (default false)

VVC 示例(ffmpeg7 的新功能):

$ ffmpeg7 -hide_banner -h decoder=vvc
Decoder vvc [VVC (Versatile Video Coding)]:
    General capabilities: dr1 delay exp threads 
    Threading capabilities: other

x265特定

对于 HEVC 中的 10 位支持等特定功能:

$ /var/packages/ffmpeg7/target/bin/x265 -V -D10
x265 [info]: HEVC encoder version 3.6+1-aa7f602f7
x265 [info]: build info [Linux][GCC 8.5.0][64 bit] 10bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2

请在线搜索您的需求,您应该找到要运行的命令来获得您的具体答案。

如何在 VideoStation 中使用 SynoCommunity FFmpeg

警告:未经测试,如果您不知道这些命令的作用,可能会造成损坏。

https://gist.github.com/BenjaminPoncet/bbef9edc1d0800528813e75c1669e57e

sudo mv /var/packages/VideoStation/target/bin/ffmpeg /var/packages/VideoStation/target/bin/ffmpeg.old
# /var/packages/ffmpeg/target/bin/ffmpeg 这个路径按照自己安装的版本修改 比如 ...ffmpeg7/target...
sudo ln -sf /var/packages/ffmpeg/target/bin/ffmpeg /var/packages/VideoStation/target/bin/ffmpeg
sudo cp -p /var/packages/VideoStation/target/lib/libsynovte.so /var/packages/VideoStation/target/lib/libsynovte.so.old
sudo sed -i 's/eac3/ZXXZ/' /var/packages/VideoStation/target/lib/libsynovte.so
sudo sed -i 's/dts/ZXZ/' /var/packages/VideoStation/target/lib/libsynovte.so
sudo sed -i 's/truehd/ZXZZXZ/' /var/packages/VideoStation/target/lib/libsynovte.so

撤消上述更改:

sudo mv -f /var/packages/VideoStation/target/bin/ffmpeg.old /var/packages/VideoStation/target/bin/ffmpeg
sudo mv -f /var/packages/VideoStation/target/lib/libsynovte.so.old /var/packages/VideoStation/target/lib/libsynovte.so

(感谢 @GermanChap)

最近的 VideoStation 版本不再原生加载 SynoCommunity ffmpeg 库。 有一个基于以前的 Gist 的维护自动补丁程序:https://github.com/AlexPresso/VideoStation-FFMPEG-Patcher

本站转载、机器翻译日期:2024.10.5 版本:41a954f

修复群晖VideoStation对DTS、EAC3和TrueHD的支持

此修补程序旨在通过使用ffmpeg套件替换VideoStation中的ffmpeg库文件来支持DTS、EAC3和TrueHD。 #####DSM6.x请提前安装ffmpeg套件!!! #####DSM7.x请....

黑群晖DSM7 Synology Photos人脸识别补丁、视频缩略图修复

仅适用于X86_64的黑群晖7.0-7.2机型,目前测试识别正常,索引期间CPU占用率也不高。 原理修改为不调用GPU显卡,只用CPU,所以不算完美!仅测试了DS918+、....

本文来自转载,文中观点不代表本站立场,文章出自:https://github.com/SynoCommunity/spksrc/wiki/FAQ-FFmpeg
群晖套件:RustDesk服务器 更新1.1.12 搭建远程桌面
« 上一篇 09-27
qBittorrent三款主题Web UI:qb-web、VueTorrent、iQbit
下一篇 » 10-07