UNPKG

web-video-creator

Version:

A framework for creating videos based on Node.js + Puppeteer + FFmpeg.

226 lines (205 loc) 6.02 kB
# 视频编码器 从模块引入视频编码器常量即可使用。 ```javascript import { VIDEO_ENCODER } from "web-video-creator"; console.log(VIDEO_ENCODER.CPU.H264); // 输出 libx264 console.log(VIDEO_ENCODER.NVIDIA.H264); // 输出 h264_nvenc ``` ## CPU 软编码器 软编码器通常较慢,建议根据您的设备支持情况选用其它硬编码器。 <table width="100%"> <thead> <tr> <th>常量名</th> <th>编码器名称</th> <th>编码器说明</th> </tr> </thead> <tbody> <tr> <td>CPU.H264</td> <td>libx264</td> <td>使用CPU进行H264软编码,适配容器:mp4</td> </tr> <tr> <td>CPU.H265</td> <td>libx265</td> <td>使用CPU进行H265软编码,适配容器:mp4</td> </tr> <tr> <td>CPU.VP8</td> <td>libvpx</td> <td>使用CPU进行VP8软编码,适配容器:webm</td> </tr> <tr> <td>CPU.VP9</td> <td>libvpx-vp9</td> <td>使用CPU进行VP9软编码,适配容器:webm</td> </tr> </tbody> </table> ## Intel QSV 编码器 <table width="100%"> <thead> <tr> <th>常量名</th> <th>编码器名称</th> <th>编码器说明</th> </tr> </thead> <tbody> <tr> <td>INTEL.H264</td> <td>h264_qsv</td> <td>使用Intel核显或独显的QSV加速H264编码,适配容器:mp4</td> </tr> <tr> <td>INTEL.H265</td> <td>hevc_qsv</td> <td>使用Intel核显或独显的QSV加速H265编码,适配容器:mp4</td> </tr> <tr> <td>INTEL.VP8</td> <td>vp8_qsv</td> <td>使用Intel核显或独显的QSV加速VP8编码,适配容器:webm</td> </tr> <tr> <td>INTEL.VP9</td> <td>vp9_qsv</td> <td>使用Intel核显或独显的QSV加速VP9编码,适配容器:webm</td> </tr> </tbody> </table> ## AMD AMF 编码器 <table width="100%"> <thead> <tr> <th>常量名</th> <th>编码器名称</th> <th>编码器说明</th> </tr> </thead> <tbody> <tr> <td>AMD.H264</td> <td>h264_amf</td> <td>使用AMD核显或独显的AMF加速H264编码,适配容器:mp4</td> </tr> <tr> <td>AMD.H265</td> <td>h265_amf</td> <td>使用AMD核显或独显的AMF加速H265编码,适配容器:mp4</td> </tr> </tbody> </table> ## Nvidia NvENC编码器 消费级显卡会遇到最高并行两路NVENC编码的限制,需通过[补丁](https://github.com/keylase/nvidia-patch)解决。 <table width="100%"> <thead> <tr> <th>常量名</th> <th>编码器名称</th> <th>编码器说明</th> </tr> </thead> <tbody> <tr> <td>NVIDIA.H264</td> <td>h264_nvenc</td> <td>使用Nvidia显卡NVENC加速H264编码,适配容器:mp4</td> </tr> <tr> <td>NVIDIA.H265</td> <td>hevc_nvenc</td> <td>使用Nvidia显卡NVENC加速H265编码,适配容器:mp4</td> </tr> </tbody> </table> ## OpenOMX 编码器 <table width="100%"> <thead> <tr> <th>常量名</th> <th>编码器名称</th> <th>编码器说明</th> </tr> </thead> <tbody> <tr> <td>OMX.H264</td> <td>h264_omx</td> <td>使用OpenOMX加速H264编码,适用于嵌入式平台,适配容器:mp4</td> </tr> </tbody> </table> ## V4L2 编码器 <table width="100%"> <thead> <tr> <th>常量名</th> <th>编码器名称</th> <th>编码器说明</th> </tr> </thead> <tbody> <tr> <td>V4L2.H264</td> <td>h264_v4l2m2m</td> <td>使用V4L2加速H264编码,适配容器:mp4</td> </tr> </tbody> </table> ## VAAPI 编码器 <table width="100%"> <thead> <tr> <th>常量名</th> <th>编码器名称</th> <th>编码器说明</th> </tr> </thead> <tbody> <tr> <td>VAAPI.H264</td> <td>h264_vaapi</td> <td>使用VAAPI加速H264编码,适配容器:mp4</td> </tr> <tr> <td>VAAPI.H265</td> <td>hevc_vaapi</td> <td>使用VAAPI加速H265编码,适配容器:mp4</td> </tr> <tr> <td>VAAPI.VP8</td> <td>vp8_vaapi</td> <td>使用VAAPI加速VP8编码,适配容器:webm</td> </tr> <tr> <td>VAAPI.VP9</td> <td>vp9_vaapi</td> <td>使用VAAPI加速VP9编码,适配容器:webm</td> </tr> </tbody> </table> ## VIDEOTOOLBOX 编码器 <table width="100%"> <thead> <tr> <th>常量名</th> <th>编码器名称</th> <th>编码器说明</th> </tr> </thead> <tbody> <tr> <td>VIDEOTOOLBOX.H264</td> <td>h264_videotoolbox</td> <td>使用VIDEOTOOLBOX加速H264编码,适用于MAC,适配容器:mp4</td> </tr> <tr> <td>VIDEOTOOLBOX.H265</td> <td>hevc_videotoolbox</td> <td>使用VIDEOTOOLBOX加速H265编码,适用于MAC,适配容器:mp4</td> </tr> </tbody> </table>