统计
  • 文章总数:269 篇
  • 评论总数:0 条
  • 分类总数:14 个
  • 最后更新:4天前

【转载】群晖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

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

  1. $ ffmpeg7 -hide_banner -filters
  2. Filters:
  3. T.. = Timeline support
  4. .S. = Slice threading
  5. ..C = Command support
  6. A = Audio input/output
  7. V = Video input/output
  8. N = Dynamic number and/or type of input/output
  9. | = Source or sink filter
  10. T.. adelay A->A Delay one or more audio channels.
  11. ... aecho A->A Add echoing to the audio.
  12. ...

如何列出硬件加速:

  1. $ ffmpeg7 -hide_banner -hwaccels
  2. Hardware acceleration methods:
  3. vaapi
  4. qsv
  5. drm
  6. opencl

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

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

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

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

    1. $ sudo su -s /bin/bash sc-ffmpeg7 -c '/var/packages/synocli-videodriver/target/bin/vainfo'
    2. Trying display: drm
    3. libva info: VA-API version 1.22.0
    4. libva info: Trying to open /var/packages/synocli-videodriver/target/lib/iHD_drv_video.so
    5. libva info: Found init function __vaDriverInit_1_22
    6. libva info: va_openDriver() returns 0
    7. vainfo: VA-API version: 1.22 (libva 2.22.0)
    8. vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 24.2.5 (a20bb2e)
    9. vainfo: Supported profile and entrypoints
    10. VAProfileNone : VAEntrypointVideoProc
    11. VAProfileNone : VAEntrypointStats
    12. VAProfileMPEG2Simple : VAEntrypointVLD
    13. VAProfileMPEG2Main : VAEntrypointVLD
    14. VAProfileH264Main : VAEntrypointVLD
    15. VAProfileH264Main : VAEntrypointEncSlice
    16. VAProfileH264Main : VAEntrypointFEI
    17. VAProfileH264Main : VAEntrypointEncSliceLP
    18. VAProfileH264High : VAEntrypointVLD
    19. VAProfileH264High : VAEntrypointEncSlice
    20. VAProfileH264High : VAEntrypointFEI
    21. VAProfileH264High : VAEntrypointEncSliceLP
    22. VAProfileVC1Simple : VAEntrypointVLD
    23. VAProfileVC1Main : VAEntrypointVLD
    24. VAProfileVC1Advanced : VAEntrypointVLD
    25. VAProfileJPEGBaseline : VAEntrypointVLD
    26. VAProfileJPEGBaseline : VAEntrypointEncPicture
    27. VAProfileH264ConstrainedBaseline: VAEntrypointVLD
    28. VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
    29. VAProfileH264ConstrainedBaseline: VAEntrypointFEI
    30. VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
    31. VAProfileVP8Version0_3 : VAEntrypointVLD
    32. VAProfileVP8Version0_3 : VAEntrypointEncSlice
    33. VAProfileHEVCMain : VAEntrypointVLD
    34. VAProfileHEVCMain : VAEntrypointEncSlice
    35. VAProfileHEVCMain : VAEntrypointFEI
    36. VAProfileHEVCMain10 : VAEntrypointVLD
    37. VAProfileVP9Profile0 : VAEntrypointVLD

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

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

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

  1. $ vainfo
  2. Trying display: drm
  3. error: failed to initialize display

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

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

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

  1. $ ffmpeg7 -hide_banner -encoders
  2. $ ffmpeg7 -hide_banner -decoders
  3. $ ffmpeg7 -hide_banner -codecs

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

  1. $ ffmpeg7 -hide_banner -h encoder=<encoder>
  2. $ ffmpeg7 -hide_banner -h decoder=<decoder>

HEVC 示例:

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

VVC 示例(ffmpeg7 的新功能):

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

x265特定

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

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

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

如何在 VideoStation 中使用 SynoCommunity FFmpeg

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

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

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

撤消上述更改:

  1. sudo mv -f /var/packages/VideoStation/target/bin/ffmpeg.old /var/packages/VideoStation/target/bin/ffmpeg
  2. 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.14 搭建远程桌面
« 上一篇 09-27
Transmission4.0 三款中文WebUI:TWC、TrguiNG、Transmissionic
下一篇 » 10-07