zoukankan      html  css  js  c++  java
  • gstreamer-vaapi 之 README

    ———————————————————OVERVIEW———————————————————

    GStreamer-vaapi包含一组基于VA-API的插件,用于GStreamer和helper库

    • vaapi<CODEC>dec

      • 取决于“CODEC”的实际值和底层硬件能力,该插件用于解码JPEG、MPEG-2、MPEG-4:2、H.264 AVC、H.264 MVC、VP8、VP9、VC-1、WMV3、HEVC视频到VA表面。这个插件也可以隐式下载解码表面到原始YUV缓冲区。
    • vaapi<CODEC>enc

      • 取决于“CODEC”的实际值(mpeg2、h264等)以及硬件能力,该插件用于编码成MPEG-2、H.264 AVC、H.264 MVC、JPEG、VP8、VP9、HEVC视频。默认情况下,生成的是原始格式的比特流,因此结果可以通过管道传输到muxer,例如用于MP4容器的qtmux。
    • vaapipostproc

      • 用于过滤VA表面,例如缩放、deinterlacing(bob、运动自适应、运动补偿)、降噪或锐化。这个插件也用于上传原始YUV像素到VA表面。
    • vaapisink

      • 用于将VA表面渲染到X11或Wayland显示器。这个插件还具有一个“无头”模式(DRM),更适合远程转码场景,具有更快的吞吐量。
    • vaapioverlay

      • 是一种加速合成器,可以混合或合成不同的视频流。

    ———————————————————Features————————————————————

    • JPEG、MPEG-2、MPEG-4、H.264 AVC、H.264 MVC、VP8、VC-1、HEVC和VP9专用解码器
    • MPEG-2、H.264 AVC、H.264 MVC、JPEG、VP8、VP9和HEVC专用编码器
    • OpenGL rendering through VA/GLX or GLX texture-from-pixmap + FBO
    • 支持EGL后端
    • 支持Wayland显示服务器
    • Support for headless decode pipelines with VA/DRM
    • 支持Linux上的主要硬件视频解码解决方案(AMD,英特尔、英伟达)
    • 支持Intel HD Graphics硬件上的硬件视频编码
    • 支持VA视频处理APIs (VA/VPP)
      • 缩放和颜色转换
      • 图像增强滤波:锐化,降噪,颜色平衡,Skin-Tone-Enhancement
      • 高级deinterlacing:运动自适应,运动补偿

    ——————————————————Requirements———————————————————

    硬件要求

    • Hardware supported by i965 driver or iHD, such as
      • Intel Ironlake, Sandybridge, Ivybridge, Haswell, Broadwell,Skylake, etc. (HD Graphics)
      • Intel BayTrail, Braswell
      • Intel Poulsbo (US15W)
      • Intel Medfield or Cedar Trail
    • Hardware supported by AMD Radeonsi driver, such as the list below
      • AMD Carrizo, Bristol Ridge, Raven Ridge, Picasso, Renoir
      • AMD Tonga, Fiji, Polaris XX, Vega XX, Navi 1X
    • Other hardware supported by Mesa VA gallium state-tracker

    ———————————————————Usage——————————————————————

    VA元素会自动插入到GStreamer的pipeline中,所以,使用playbin应该是能够正常工作的。然而,还有一些可以手动构造的替代pipeline

    • Play an H.264 video with an MP4 container in fullscreen mode
      gst-launch-1.0 -v filesrc location=/path/to/video.mp4 ! qtdemux ! vaapidecodebin ! vaapisink fullscreen=true
    • Play a raw MPEG-2 interlaced stream
      gst-launch-1.0 -v filesrc location=/path/to/mpeg2.bits !  mpegvideoparse ! vaapimpeg2dec ! vaapipostproc ! vaapisink
    • Convert from one pixel format to another, while also downscaling
      gst-launch-1.0 -v filesrc location=/path/to/raw_video.yuv ! videoparse format=yuy2 width=1280 height=720 ! vaapipostproc format=nv12 height=480 ! vaapisink
    • Encode a 1080p stream in raw I420 format into H.264
      gst-launch-1.0 -v filesrc location=/path/to/raw_video.yuv ! videoparse format=i420 width=1920 height=1080 framerate=30/1 ! vaapih264enc rate-control=cbr tune=high-compression ! qtmux ! filesink location=/path/to/encoded_video.mp4
     
     
     
     
     
     
  • 相关阅读:
    IOException while loading persisted sessions:java.io.EOFException
    Android Studio | 详细安装教程
    Android -- 关闭AsyncTask(异步任务)
    钢铁侠传-文言文
    http协议 get/post 请求 解析XML
    HTTP状态码大全
    jquery+ajax 类百度输入框
    这就是知识点
    关于Eclipse+SVN 开发配置
    企业信息化快速开发平台--JeeSite
  • 原文地址:https://www.cnblogs.com/pgzhanglin/p/15104915.html
Copyright © 2011-2022 走看看