FMUSER Wirless Transmit Video And Audio More Easier !

[email protected] WhatsApp +8618078869184
Language

    FFMPEG hard solution

     

    "< p > copyright notice: This article is a translated article by the blogger and follows the CC 4.0 by-sa copyright agreement. For reprint, please attach the source link of the original text and this notice< Br / > link to this article: < a href = "" https://blog.csdn.net/Tosonw/arTIcle/details/90178195 "" _ src="" https://blog.csdn.net/Tosonw/arTIcle/details/90178195 ""> https://blog.csdn.net/Tosonw/arTIcle/details/90178195 < / a > < br / > < / P > < p > < br / > < / P > < p > original link: < a href = "" https://trac.ffmpeg.org/wiki/HWAccelIntro "" target=""_ blank"" rel=""noopener""> https://trac.ffmpeg.org/wiki/HWAccelIntro & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; < H1 > < a name = "" t0 "" > < / a > I. ffmpeg: hwaccselintro < / H1 > < p > original text (English): https://trac.ffmpeg.org/wiki/HWAccelIntro < br / > many platforms provide access to dedicated hardware to perform a range of video related tasks. The use of such hardware allows some operations such as decoding, encoding or filtering to be completed faster or use less other resources (especially CPU), but may give different or poor results, or impose additional restrictions that do not exist only when using software. On PC like platforms, video hardware is usually integrated into GPU (from AMD, Intel or NVIDIA), while on mobile SOC type platforms, it is usually an independent IP core (many different vendors) < p > the hardware decoder will generate equivalent output for the software decoder, but it can be implemented with less power and CPU. Functional support varies- For more complex codecs with many different profiles, hardware decoders rarely implement all of these (for example, hardware decoders often do not implement YUV at the 8-bit depth of H.264) 4: Anything other than 2:0). A common feature of many hardware decoders is the ability to generate output in a hardware surface suitable for other components (using a separate graphics card, which means a surface in card memory rather than a surface in system memory) - This is often useful for playback because no further replication is required before rendering the output, and in some cases it can also be used with encoders that support hardware surface input to avoid any replication in transcoding situations < p > generally, the output quality generated by hardware encoder is significantly lower than that of software encoder such as x264, but it is usually faster and CPU resources are not much( That is, they need a higher bit rate to make the output have the same perceptual quality, or they output at the same bit rate with a lower perceptual quality.) < p > systems with decoding and / or encoding capabilities can also provide access to other relevant filtering features. Scaling and progressive scanning are common things, and other post-processing may depend on the system. When the hardware surface is available, these filters usually act on them instead of ordinary frames in the system memory < p > there are many different standardized APIs available. Ffmpeg provides access to many of them and provides different support < H3 > < a name = "" T1 "" > < / a > 1. Platform API availability < / H3 > < p > < img SRC = "" https://img-blog.csdnimg.cn/20190513172309489.png?x -oss-process=image/watermark,type_ ZmFuZ3poZW5naGVpdGk,shadow_ 10,text_ aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1Rvc29udw==,size_ 16,color_ FFFFFF,t_ 70 "" ALT = "" insert picture description here "" / > < / P > < H3 > < a name = "" T2 "" > < / a > 2. Ffmpeg API implementation status < / H3 > < p > < img SRC = "" http://file.elecfans.com/web1/M00/AE/56/pIYBAF3U6SKATKr9AACuNbGudBU730.png?x -oss-process=image/watermark,type_ ZmFuZ3poZW5naGVpdGk,shadow_ 10,text_ aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1Rvc29udw==,size_ 16,color_ FFFFFF,t_ 70 "" ALT = "" insert picture description here "" / > < / P > < H5 > use with ffmpeg command line tool < / H5 > < p > the internal hwaccel decoder is enabled through the - hwaccel option. The software decoder starts normally, but if it detects a stream that can be decoded in hardware, it will try to delegate all important processing to the hardware. If the stream is not decodeable in hardware (for example, it is an unsupported codec or profile), it will still be automatically decoded in software. You can use - hwaccel if the hardware requires a specific device to operate (or you need to distinguish multiple devices, such as whether multiple graphics cards are available)_ Device select one < p > use the external wrapper decoder by setting a specific decoder using the - codec: V option. They are usually named codec_ API (e.g. H264)_ cuvid)。 These decoders need to know the codec in advance. If they do not support streaming, they do not support any software fallback < p > encoder wrapper is selected by - codec: v. Encoders usually have many options - check the documentation for a specific encoder for more information < p > hardware filters can be used in filter graphics like any other filter. Note, however, that they may not support any of the same formats as software filters - in this case, you may need to use hwupload and hwdownload filter instances to move frame data between the hardware surface and normal memory

    3.VDPAU

    https://http.download.nvidia.com/XFree86/vdpau/doxygen/html/index.html < br / > the API for video decoding and presentation is UNIX. Unix / Linux system developed by NVIDIA. To enable this feature, you usually need to distribute the libvdpau development kit and a compatible graphics card < p > note that vdpau cannot be used to decode frames in memory. Compressed frames are sent by libavcodec to GPU devices supported by vdpau, and then vdpau can be used API access decoded images. This is not done automatically by ffmpeg, but it must be done at the application level (for example, ffmpeg)_ Vdpau. C by using the file ffmpeg. C). In addition, please note that the decoded frames cannot be moved back to ram using this API, for example, if you need to encode the decoded frames again (for example, when transcoding on the server) < p > at present, several decoders are supported through vdpau in libavcodec, especially H.264, MPEG-1 / 2 / 4 and vc-1

    4.VAAPI

    https://trac.ffmpeg.org/wiki/Hardware/VAAPI < br / > video acceleration API (vaapi) is a non proprietary and royalty free open source software library ("libva") and API specification, originally developed by Intel, but can be used in combination with other devices < p > it can be used to access quick sync hardware in Intel GPU and UVD / VCE hardware in AMD GPU. See vaapi

    5.DXVA2

    https://msdn.microsoft.com/en-us/library/windows/desktop/cc307941 (v = vs.85). ASPX < br / > direct-x video acceleration API, developed by Microsoft (supports windows and Xbox 360) < p > at present, several decoders are supported, especially H.264, MPEG-2, vc-1 and WMV 3 < p > dxva2 hardware acceleration is only applicable to windows. In order to build ffmpeg that supports dxva2, you need to install the dxva2api. H header file. For MinGW, this can be done by downloading the header held by the VLC and (e.g., in / usr / including /) including the patch to install it < p > for mingw64, dxva2api. H is provided by default. One way to install mingw-w64 is through the Pacman repository. You can use one of the following two commands, depending on the architecture: < / P > < pre class = "" prettyprint "" > Pacman & nbsp- S mingw-w64-i686-gcc pacman - S mingw-w64-x86_ 64-gcc12 < / pre > < p > to enable dxva2, use the – enable-dxva2 ffmpeg configuration switch < p > to test decoding, use the following command: < / P > < pre class = "" prettyprint "" > ffmpeg & nbsp- hwaccel dxva2 - threads 1 - i INPUT - f null & nbsp;-& nbsp;& nbsp;- benchmark1

    6.VideoToolbox

    https://developer.apple.com/documentaTIon/videotoolbox < br / > videotoolbox, only supported on MacOS. H. 264 decoding is available in ffmpeg / libavcodec < H3 > < a name = "" T7 "" > < / a > 7. Nvinc / nvdec < / H3 > < p > nvinc and nvdec are NVIDIA's hardware accelerated encoding and decoding APIs. They were once called cuvid. They can be used for encoding and decoding on windows and Linux < H6 > nvenc < / H6 > < p > nvenc can be used for H.264 and hevc coding. Ffmpeg through H264_ Nvenc and hevc_ Nvenc encoder supports nvenc. To enable it in ffmpeg, you need: < / P > < p > a driver that supports GPU < br / > supports your operating system < br / > use the – enable nvenc configuration in NVIDIA codec SDK < / P > < p > ffmpeg (the default value if the driver is detected during configuration) < br / > note: ffmpeg has no effect on NVIDIA CUDA / nvenc/ Nvdec related libraries use their own slightly modified runtime loader. If you complain about the lack of ffnvcodec from a misconfiguration, this project is what you need. It has a working makefile: make with an installation target install PREFIX = / usr。 Ffmpeg looks for a file named ffnvcodec.pc PKG config file. Make sure it's in PKG_ CONFIG_ In path < p > this means that it should be sufficient to run the following before compiling ffmpeg: < / P > < pre class = "" prettyprint "" > git & nbsp; clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git cd nv-codec-headers sudo make sudo make After install1234 < / pre > < p > is compiled, you can use nvenc < p > usage example: < / P > < pre class = "" prettyprint "" > ffmpeg & nbsp- i input - c:v h264_ nvenc - profile high444p - pixel_ format yuv444p - preset default Output.mp41 < / pre > < p > you can use ffmpeg - H encoder = H264_ Nvenc or ffmpeg - H enc

     

     

     

     

    List all Question

    Nickname

    Email

    Questions

    Our other product:

    Professional FM Radio Station Equipment Package

     



     

    Hotel IPTV Solution

     


      Enter email  to get a surprise

      fmuser.org

      es.fmuser.org
      it.fmuser.org
      fr.fmuser.org
      de.fmuser.org
      af.fmuser.org ->Afrikaans
      sq.fmuser.org ->Albanian
      ar.fmuser.org ->Arabic
      hy.fmuser.org ->Armenian
      az.fmuser.org ->Azerbaijani
      eu.fmuser.org ->Basque
      be.fmuser.org ->Belarusian
      bg.fmuser.org ->Bulgarian
      ca.fmuser.org ->Catalan
      zh-CN.fmuser.org ->Chinese (Simplified)
      zh-TW.fmuser.org ->Chinese (Traditional)
      hr.fmuser.org ->Croatian
      cs.fmuser.org ->Czech
      da.fmuser.org ->Danish
      nl.fmuser.org ->Dutch
      et.fmuser.org ->Estonian
      tl.fmuser.org ->Filipino
      fi.fmuser.org ->Finnish
      fr.fmuser.org ->French
      gl.fmuser.org ->Galician
      ka.fmuser.org ->Georgian
      de.fmuser.org ->German
      el.fmuser.org ->Greek
      ht.fmuser.org ->Haitian Creole
      iw.fmuser.org ->Hebrew
      hi.fmuser.org ->Hindi
      hu.fmuser.org ->Hungarian
      is.fmuser.org ->Icelandic
      id.fmuser.org ->Indonesian
      ga.fmuser.org ->Irish
      it.fmuser.org ->Italian
      ja.fmuser.org ->Japanese
      ko.fmuser.org ->Korean
      lv.fmuser.org ->Latvian
      lt.fmuser.org ->Lithuanian
      mk.fmuser.org ->Macedonian
      ms.fmuser.org ->Malay
      mt.fmuser.org ->Maltese
      no.fmuser.org ->Norwegian
      fa.fmuser.org ->Persian
      pl.fmuser.org ->Polish
      pt.fmuser.org ->Portuguese
      ro.fmuser.org ->Romanian
      ru.fmuser.org ->Russian
      sr.fmuser.org ->Serbian
      sk.fmuser.org ->Slovak
      sl.fmuser.org ->Slovenian
      es.fmuser.org ->Spanish
      sw.fmuser.org ->Swahili
      sv.fmuser.org ->Swedish
      th.fmuser.org ->Thai
      tr.fmuser.org ->Turkish
      uk.fmuser.org ->Ukrainian
      ur.fmuser.org ->Urdu
      vi.fmuser.org ->Vietnamese
      cy.fmuser.org ->Welsh
      yi.fmuser.org ->Yiddish

       
  •  

    FMUSER Wirless Transmit Video And Audio More Easier !

  • Contact

    Address:
    No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou China 510620

    E-mail:
    [email protected]

    Tel / WhatApps:
    +8618078869184

  • Categories

  • Newsletter

    FIRST OR FULL NAME

    E-mail

  • paypal solution  Western UnionBank OF China
    E-mail:[email protected]   WhatsApp:+8618078869184   Skype:sky198710021 Chat with me
    Copyright 2006-2020 Powered By www.fmuser.org

    Contact Us