Mas OpenCL en video, FFMPEG2 y HandBrake.

Esto si me esta gustando mas...

Ya hable de que hay un decoder h265 por OpenCL, el cual permite decodificar video en cualquier GPU compatible con esa API de computo [OpenCL], lo cual es ganancia y no restringe a tener GPUs recientes, pues los de hace 5 años son compatibles.

http://www.elotrolado.net/hilo_por-fin- ... cl_2027100


FFMPEG.

Ahora AMD se mete a dotar a la biblioteca FFMPEG version 2.0 de soporte a OpenCL y DXVA2, con lo cual esta biblioteca mejora notablemente su rendimiento y aprovechamiento del hardware actual, que ya FFMPEG version 1.x contaba con soporte DXVA con lo que ya podia usar el GPU en la decodificacion de video h264, pero con la nueva version se podra usar el GPU en la decodificacion de video MPEG-2, y demas variantes de MPEG-4 [SP: DivX/XviD] o VP8/VP9, es decir, enc asi la totalidad de videos que hay por internet.

Imagen

Asi DXVA se usara en la decodificacion del formato de video, mientras OpenCL se usara para los filtros de mejora visual, como denoise o unsharp, y esto libera mucho al CPU, y tambien se usara OpenCL para la codificacion de video a diferentes formatos, con lo que equipos de CPU de gama baja pero con un GPU moderado tendran mucho de estabilidad y de calidad de imagen.

¿Y que con eso de FFMPEG?, pues que FFMEPG es la biblioteca CODEC mas usada por el software multimedia gratuito que hay, usado en MPC-HC, XBMC, LAVFilters, FFDShow-TryOuts o VLC, asi que mejoerando FFMPEG automaticamente se mejoran las versiones mas recientes de estos programas obteniendose todos esos beneficios.

Imagen

Imagen



HandBrake

Tambien pone OpenCL en este codificador de video, con lo que se obtienen varios beneficios, como es menores tiempo de codificacion, la decodificacion del video tambien esta acelerada con DXVA.

Imagen

Imagen

Imagen

http://es.slideshare.net/DevCentralAMD/ ... di#btnNext

http://www.geeks3d.com/20130711/ffmpeg- ... ort-added/


.
Muy interesante toda la información compañero Trastaro yo como usuario de Media player classic+ Lav+Madvr estoy esperando esa actualización ya [+risas]
Sera que lo pidas en sus foros y los atosigues pidiendo compilen la biblioteca con el OpenCL habilitado, y asi comienzen a usar esta opcion.

Que por cierto, he estado viendo algunas paginas de programadores donde aun tienen algunas dudas y confusiones para su compilacion, pero poco a poco se van habituando.
Otro filtro decoder con OpenCL para descargar gratuitamente y segun entiendo seria compatible con cualquier software reproductor como MPC-HC o PotPlayer, KMPlayer. Sirve para video en formato MPEH-4 HEVC [h265]

http://www.strongene.com/en/downloads/d ... Center.jsp
Parece hay nueva build de FFMPEG2
Yo estuve ayer buscando algo sobre procesamiento por GPU con HandBrake, me vendría bien porque estoy tratando con algunos vídeos un tanto pesados y ayer estuve como 6 horas comprimiendo un vídeo [jaja] y eso que tengo una cpu de 6 núcleos, aunque tampoco es de lo mejor pero bueno. Pero hablo de un vídeo que dura 1 hora.
Pues quien sabe que configuraciones usarias, porque pasar 6hrs en un video de 1hr es demasiado, aun con efectos o filtros de mejoras visuales.

Como sea, aunque esto lo dejare como rumor, parece que saldra una nueva version de MPC-HC que use una version compilada de FFMPEG que use las nuevas normas de OpenCL2, las cuales mejoran mucho el desempeño GPU-CPU, esto como algun tipo de beta, y quiza tambien comienzen a experimentar con actualizar el soporte de MPC-HC a la nueva version de OpenGL, llamada Vulkan, con lo que se mejora aun mas el uso de OpenCL, aparte de que Vulkan mejoriaria por si solo el uso del CPU sacandole mejor provecho.
TRASTARO escribió:Pues quien sabe que configuraciones usarias, porque pasar 6hrs en un video de 1hr es demasiado, aun con efectos o filtros de mejoras visuales.


Nah a ver, me olvidé de comentarlo, tengo la opción de codificado de h264 que trae Handbrake para que lo haga lento (y no es la opción más lenta [+risas] ) pero los vídeos tienen un resultado mejor, mayor calidad y menor tamaño (no proporcionalmente estas dos magnitudes por supuesto, pero es la premisa que cumple este parámetro en general).
Aun asi es demasiado tiempo 6hr con un procesador de 6 nucleos [o 3 modulos de los AMD FX] y usando el PRESET VERY-LOW
TRASTARO escribió:Aun asi es demasiado tiempo 6hr con un procesador de 6 nucleos [o 3 modulos de los AMD FX] y usando el PRESET VERY-LOW


Ni idea, quizás haya algunas configuraciones que haya pasado por alto... o quizás el archivo original sea demasiado "pesado", ni idea ein?

De hecho estuve ayer investigando un poco sobre configuraciones para subir mis vídeos a la Yutuba, gameplays más concretamente. Aunque no me convence mucho, estoy usando H264 tanto con contenedores MKV como MP4, y no los acabo de ver muy bien. Probé ConstantQuality con RF de 20, y Constant Bitrate con 20.000kbps (el original es por ahí más o menos) y al subirlos no se acaban de ver muy finos, un poquitillo "borrosos/pixelados" [fiu]

Y de hecho también, estuve probando en Windows a usar opencl=1 y la gráfica trabajaba con Handbrake, aunque tengo que hacer para la próxima una comparación entre un vídeo convertido con y sin openCL a ver qué diferencia de tiempos hay. En Linux aparentemente no funcionó esa opción, creo que tengo que instalar algo a mayores para activar OpenCL.

Salud!
OpenCL viene con el controlador de video y aparte una serie de bibliotecas o modulos tambien hay que tener.
Nuevo DSK de OpenCL por AMD.
FFMPEG ofrecera tambien la aceleracion por hardware para la decodificacion de H265 [MPEG-4 HEVC]. Intel [y posiblemente AMD y NVIDIA] dara soporte a esta aceleracion por decodificadores como el FFMPEG, que es el mas popular, tanto para sistemas windows como gnu/linux, con esto las ultimas versiones de la biblioteca 'libavcodec' podra usar las APIs graficas de intel.
Otro organismo independiente que promueve y estudia tecnologias usando computo heterogeneo

http://lpgpu.org

La cual muestra un trabajo de estudio [articulo] sobre procesamiento de video h264 empleando OpenCL, especificamente un filtro de compensacion de movimiento. Quiza con la llegada de este tipo de organismos y la promocion de sus investigaciones y publicaciones, los desarrolladores tengan mas herramientas e ideas para crear decodificadores [y cualquier otro software] que le saque el maximo provecho a los GPUs actuales.

http://ieeexplore.ieee.org/stamp/stamp. ... er=4358651
Version del FFMPEG para sistemas de 32bit y de 64bit con OpenCL soportado.

https://ffmpeg.zeranoe.com/blog/?p=450#more-450

Haber si dentro de poco el software que emplea FFMPEG saca versiones nuevas incorporando estas ultimas versiones.
Esperemos que con iniciativas como la de AMD, los programadores puedan acceder a bibliotecas, consultas y otros materiales que mejoren el desempeño de su software que utilza el GPU para multiples tareas, o en nustro caso, la decodificacion/codificacion de varios formatos de video.

WEl portal GPUOpen se divide en dos secciones, una principalmente para los creadores de juegos, y la otra para creadores de software basdo en COMPUTO HETEROGENEO que es lo que utilizarian estos programas y filtros/encoders multimedia
hilo_rtg-amd-inciativa-gpuopen-software-stack-su-contra-gameworks_2142064


.
Mejoras en Handbrake para optimizar el soporte en windows 10, tanto para en 32bit como en 64bit.

Imagen



.
Pequeña actualizacion mejorar compatibilidad con la api
Fleiker escribió:alguien me podria recomendar algun reproductor para que HEVC X265 que funcione bien sobre androidTV Minix Neo X8-H???
.


Po software podria ser el KODI en su version para android.

Pagina oficial de Kodi
https://kodi.tv/download/


Desde la tienda de google
https://play.google.com/store/apps/deta ... &hl=es_419




.
hola, buenos dias,

He probado con:

- KODI y va a saltos y pixelaciones
- VLC no reproduce
- BS player va a saltos y pixelaciones.

he visto otro par de reproductores, MXplayer y otro mas pero estoy pendiente de probarlos, si alguien ya ha probado el MXplayer decidme como ha ido por favor.

Un saludo.
Entonces el aparato no tiene ACELERACION POR HARDWEARE DE VIDEO [usar el GPU para decodificar/reproducir el video] y esta usando la fuerza bruta del CPU, y el CPU no tiene la potencia suficiente para decodificar/reproducir el video holgadamente
OK, gracias,ya he visto en otro enlace que el cacharro tiene una CPE no compatible.

Un saludo.
Fleiker escribió:OK, gracias,ya he visto en otro enlace que el cacharro tiene una CPE no compatible.

Un saludo.



Una lastima
¿Y como sabes que estás codificando con OpenCl? ¿Hay alguna opción que te lo diga?

Saludos.
solucionado, hace un mes y medio compre tele nueva y las reproduce sin problemas.

Un saludo
AlterNathan escribió:¿Y como sabes que estás codificando con OpenCL? ¿Hay alguna opción que te lo diga?

Saludos.


De manera indirecta.

Una forma seria usar GPU-Z para ver el uso del GPU, si es alto esta usando este para la codificacionen lugar del CPU, tambien podemos ver cual procesador tiene mayor temperatura, si el CPU o el GPU, el GPU debe tebner alta temperatura porque estaria trabajando mucho.


Fleiker escribió:solucionado, hace un mes y medio compre tele nueva y las reproduce sin problemas.

Un saludo


AH, pues en hora buna.



.
@trastaro Gracías tío pero ese sistema ya no me sirve, en 1080p se me quedan la CPU como la GPU en poca temperatura, solo veo la GPU dispararse cuando utilizo Nvenc para codificar vídeos.

Saludos.
Lo cual serialo esperado.
Revisiones del FFMPEG2, asi que pronto deberian salir versiones nuevas de los progframas que lo usan para la decodificacion/codificacion.
¿Encoder x265 con OpenCL? [como lo viene haciendo tiempo atras el encoder x264]

https://x265.com/forum/discussion/36/op ... mprovement

Es una propuesta, pero ojala los programadores tomen nota y hagan una versionq ue pueda usar el GPU para la codificacion.
Nueva version del decoder para este año, v3.2.2, se actualiza para las nuevas versiones de APIs para la codificacion y decodificacion como es via DXVA, CUDA, nvidia encoder y desde luego, OpenCL
Imagen

Y una gran noticia, en cuanto a las APIs graficas.

Grupo Khronos anuncia en la SIGGRAPH 2019 que Vulkan da soporte a la decodificacion y codificacion por hardware de video a los formatos MPEG-4 AVC y MPEG-4 HEVC, y en 2021 soporte a los formatos AV1 y VP9. Asi que agregan instrucciones dedicadas a este rubro codificacion/decodificacion

Asi esta API grafica Vulkan via OpenCL; si, soporta directamente opencl, podra decodificar streams de video de los formatos recientes y mas demandantes, con lo que los filtros decodificadores como FFMPEG podran usarlos tan pronto se liberen las especificaciones completas y lista de comandos.

Y encoders podran tambien ser programados en base a Vulkan/OpenCL, quiza el mismo FFMPEG pueda agregar esta funcionalidad.


https://www.khronos.org/assets/uploads/ ... -Jul19.pdf


SIGGRAPH – July 31, 2019
© The Khronos ® Group Inc. 2019
This work is licensed under a Creative Commons Attribution 4.0 International License

Vulkan Video TSG Update
Goal
- Create a series of extensions for video encode/decode in Vulkan

Target release date
- First half 2020

Codec roadmap
- H.264, HEVC in first release
- VP9, AV1 will follow in later releases




hilo_vulkan-opengl5-y-opencl-como-una-sola-api_2231923

https://www.phoronix.com/scan.php?page= ... de-H1-2020
https://www.phoronix.com/forums/forum/l ... rogressing

Imagen
.
el programa MEDIACODER por fin tiene aceleracion por hardware de video con FFMPEG, asi que tiene soporte al GPU/iGP de RTG|AMD Radeon, al GPU nvidia geforce y al iGP de intel y sus APIS propietarias de encoder a h264.

Anteriormente ya soportaba el uso de GPU via el encoder x264

MEDIACODER 0.8.59

11/9/2019
- Hardware accelerated video decoding via FFmpeg
- AMD AMF accelerated video encoding via FFmpeg
- FFmpeg 4.2.1
- x265 3.2+9
- MediaInfo 19.04

Ademas tiene soporte a codificar video h265 ya compatible con HDR al usar el esquema de color BT2020

- Added HDR BT2020 compliant option for x265.

De por si el encoder x265 ya soporta dolby vision/HDR10

hilo_encoder-a-mpeg-4-hevc-h265_2136816_s50
Imagen
Imagen


.
Interesante

Añaden una mejora en la decodificacion para personas que sufran de ataques epilepticos y ppoder evitarlos, esto mediante un filtros DSP para personas fotosensibles.

That said, this is a new video filter that may help photosensitive people watch tv, play video games or even be used with a VR headset to block out epiletic triggers such as filtered sunlight when they are outside. Or you could use it against those annoying white flashes on your tv screen. The filter fails on some input, such as the Incredibles 2 Screen Slaver scene. It is not perfect. If you have other clips that you want this filter to work better on, please report them to us on our trac.
..

We are not professionals. Please use this in your medical studies to advance epilepsy research. If you decide to use this in a medical setting, or make a hardware hdmi input output realtime tv filter, or find another use for this, please let me know.



Otra cosa es la decodificacion de video de formato HEVC en 4:4:4 usando nvdec y cuviddec.


.
Y FFMPEG ya tiene soporte en el framewiork de RTG|AMD para poder usar el hardware de los GPUs Radeon.

Advanced Media Framework

Advanced media Framework SDK

The Advanced Media Framework SDK provides developers with optimal access to AMD GPUs for multimedia processing. This SDK may be used in developing wireless display, remote desktop, video editing, transcode and playback applications. Specifically, developers can use the AMF SDK for accessing AMD media accelerators for video encoding and decoding and color space conversions.
Advanced Media Framework Benefits

The AMF SDK allows optimization of application performance by utilizing CPU, GPU compute shaders and hardware accelerators for media processing. These optimizations are applicable to a wide range of applications such as gaming or content creation. Programming of AMD Video Engines (UVD and VCE blocks) is also an important part of the functionality that AMF provides to developers.

* Version 1.4 includes support for the H.265 encoder(HEVC) and bug fixes.
* Version 1.4.4 includes support for FFMPEG 3.3.1 and bug fixes.
* Version 1.4.6 has support for Game DVR and bug fixes.
* Version 1.4.7 has support for Video Stitching and bug fixes.
* Version 1.4.9 has support for Vulkan® and Linux® along with bug fixes (Vulkan encoder supports H.264 only).
FFmpeg 4.2 "Ada"

FFmpeg 4.2 "Ada", a new major release, is now available! Some of the highlights:

tpad filter
AV1 decoding support through libdav1d
dedot filter
chromashift and rgbashift filters
freezedetect filter
truehd_core bitstream filter
dhav demuxer
PCM-DVD encoder
GIF parser
vividas demuxer
hymt decoder
anlmdn filter
maskfun filter
hcom demuxer and decoder
ARBC decoder
libaribb24 based ARIB STD-B24 caption support (profiles A and C)
Support decoding of HEVC 4:4:4 content in nvdec and cuviddec
removed libndi-newtek
agm decoder
KUX demuxer
AV1 frame split bitstream filter
lscr decoder
lagfun filter
asoftclip filter
Support decoding of HEVC 4:4:4 content in vdpau
colorhold filter
xmedian filter
asr filter
showspatial multimedia filter
VP4 video decoder
IFV demuxer
derain filter
deesser filter
mov muxer writes tracks with unspecified language instead of English by default
added support for using clang to compile CUDA kernels


Lo mas interesante es el tema de AV1, varios filtros para demultiplexar [abiri] versiones recientes de contenedores y encontrar versiones recientes de los formatos de audio y video, como por ejemplo, que ahora pueda decodificar directamente audio en stream DD-TrueHD


.
Nueva version 4.2.2, pequeñas mejoras y algunas correcciones.

HDR
https://medium.com/@yllanos/how-to-enco ... e2f6a16162

Codificando con AMF/VCE de AMD [codificacion con GPU Radeon] en FFMPEG
https://community.amd.com/thread/228508

https://stackoverflow.com/questions/569 ... -in-gpuamd


.
FFMPEG 4.3

Aparece hace unos dias la version estable 4.3, de la cual destaca un mejor soporte a usar VULKAN para el tema de filtros visuales y para emplear el frame work de RTG Radeon AMF en la codificacion por hardware de video.

La version estandalone: https://ffmpeg.zeranoe.com/builds/win64 ... static.zip

La version para usar en otros programas que utilizan FFMPEG como un modeulo de decodificacion/ciodificacion https://ffmpeg.zeranoe.com/builds/win64 ... 64-dev.zip
https://ffmpeg.zeranoe.com/builds/win64 ... shared.zip

Imagen Imagen

version 4.3:
- v360 filter
- Intel QSV-accelerated MJPEG decoding
- Intel QSV-accelerated VP9 decoding
- Support for TrueHD in mp4
- Support AMD AMF encoder on Linux (via Vulkan)
- IMM5 video decoder
- ZeroMQ protocol
- support Sipro ACELP.KELVIN decoding
- streamhash muxer
- sierpinski video source
- scroll video filter
- photosensitivity filter
- anlms filter
- arnndn filter
- bilateral filter
- maskedmin and maskedmax filters
- VDPAU VP9 hwaccel
- median filter
- QSV-accelerated VP9 encoding
- AV1 encoding support via librav1e
- AV1 frame merge bitstream filter
- AV1 Annex B demuxer
- axcorrelate filter
- mvdv decoder
- mvha decoder
- MPEG-H 3D Audio support in mp4
- thistogram filter
- freezeframes filter
- Argonaut Games ADPCM decoder
- Argonaut Games ASF demuxer
- xfade video filter
- xfade_opencl filter
- afirsrc audio filter source
- pad_opencl filter
- Simon & Schuster Interactive ADPCM decoder
- Real War KVAG demuxer
- CDToons video decoder
- siren audio decoder
- Rayman 2 ADPCM decoder
- Rayman 2 APM demuxer
- cas video filter
- High Voltage Software ADPCM decoder
- LEGO Racers ALP (.tun & .pcm) demuxer
- AMQP 0-9-1 protocol (RabbitMQ)
- Vulkan support
- avgblur_vulkan, overlay_vulkan, scale_vulkan and chromaber_vulkan filters
- ADPCM IMA MTF decoder
- FWSE demuxer
- DERF DPCM decoder
- DERF demuxer
- CRI HCA decoder
- CRI HCA demuxer
- overlay_cuda filter
- switch from AvxSynth to AviSynth+ on Linux
- mv30 decoder
- Expanded styling support for 3GPP Timed Text Subtitles (movtext)
- WebP parser
- tmedian filter
- maskedthreshold filter
- Support for muxing pcm and pgs in m2ts
- Cunning Developments ADPCM decoder
- asubboost filter
- Pro Pinball Series Soundbank demuxer
- pcm_rechunk bitstream filter
- scdet filter
- NotchLC decoder
- gradients source video filter
- MediaFoundation encoder wrapper
- untile filter
- Simon & Schuster Interactive ADPCM encoder
- PFM decoder
- dblur video filter
- Real War KVAG muxer
Imagen
FFMPEG 4.3.1

libavfilter incluye un filtro para evitar ataques epilepticos en las personas sensibles a este problema.

4.3.1 was released on 2020-07-11. It is the latest stable FFmpeg release from the 4.3 release branch, which was cut from master on 2020-06-08.

It includes the following library versions:

libavutil 56. 51.100
libavcodec 58. 91.100
libavformat 58. 45.100
libavdevice 58. 10.100
libavfilter 7. 85.100
libswscale 5. 7.100
libswresample 3. 7.100
libpostproc 55. 7.100

https://ffmpeg.zeranoe.com/builds/win64 ... static.zip
https://ffmpeg.zeranoe.com/builds/win32 ... static.zip
https://ffmpeg.zeranoe.com/builds/macos ... static.zip


Para incluir en esos programas que usan FFMPEG
https://ffmpeg.zeranoe.com/builds/win64 ... shared.zip
https://ffmpeg.zeranoe.com/builds/win32 ... shared.zip
https://ffmpeg.zeranoe.com/builds/macos ... shared.zip



.
Ya estan ls especificaciones finales de OpenCL 3, con lo cual en proximos meses deberemos ver cambios en algunos de los programas qyue emplean esta API, lo mismo que programas que usen la API Vulkan, pues parte de OpenCL esta ya integrado en esta API grafica de Vulkan.

https://www.khronos.org/files/opencl30- ... -guide.pdf
https://www.khronos.org/registry/OpenCL ... enCL_C.pdf
https://www.khronos.org/registry/OpenCL ... CL_API.pdf


.
Ahora puede codificar directamente a AV1 e inclouso puede agregar HDR en video codificados en h265.

Comandos
ffmpeg -i input.mp4 -c:v libaom-av1 -crf 30 -b:v 0 -strict experimental av1_test.mkv
o
ffmpeg -i input.mp4 -c:v libaom-av1 -b:v 2M -strict experimental output.mkv

-colorspace bt2020nc -color_trc smpte2084 -color_primaries bt2020
El soporte actual al hardware de video [GPU] de FFMPEG, necesario pra ael uso de OpenCL dependiendo del filtrode audio o video empleado o de la decodificacion.

Y - Working.
N - Possible but not implemented.
F - Not yet integrated, but work is being done in this area.
Imagen
Proyecto independiente usando Vulkan y FFMPEG2 para la decodificacion de video por hardware, del desarrollador Cyanreg.
https://github.com/cyanreg/FFmpeg/commits/vulkan_decode

Espero que en el futuro a mediano plazo filtros decodificadores como FAVFilters y otros repropductores que uasn FFMPEG puedan usar la API Vulkan [ademas de la actual D3D_9] para el tema de la decodificacion usando la GPU, de esta manera se tendran mejores y mas programas reprodyuctores multiplataforma, por ejemplo, KODI seria un beneficiado directo.
¡¡Renovarse o morir!!
FFMPEG 5 ya esta aqui

FFmpeg 5.0 Lorentz
Completamente con codigo nuevo, dejando atras esas APIs y algoritmos viejos, dando lñuigar a emplear las recientes APIs y con ello mejorando el rendimiento en general. Se mejoro mucho elcodigo con VULKAN, asi como con OpenCL, se incluyeron nuevas herramientas de sonido, se ha mejorado mucho la codificacion AAC, se han agregado nuevos muxers y demuxers para mejor compatibilidad con el software reciente de audio/video, tambien se han incluido nuevas herramientas para video.

Changelog Lorentz
- ADPCM IMA Westwood encoder
- Westwood AUD muxer
- ADPCM IMA Acorn Replay decoder
- Argonaut Games CVG demuxer
- Argonaut Games CVG muxer
- Concatf protocol
- afwtdn audio filter
- audio and video segment filters
- Apple Graphics (SMC) encoder
- hsvkey and hsvhold video filters
- adecorrelate audio filter
- atilt audio filter
- grayworld video filter
- AV1 Low overhead bitstream format muxer
- swscale slice threading
- MSN Siren decoder
- scharr video filter
- apsyclip audio filter
- morpho video filter
- amr parser
- (a)latency filters
- GEM Raster image decoder
- asdr audio filter
- speex decoder
- limitdiff video filter
- xcorrelate video filter
- varblur video filter
- huesaturation video filter
- colorspectrum source video filter
- RTP packetizer for uncompressed video (RFC 4175)
- bitpacked encoder
- VideoToolbox VP9 hwaccel
- VideoToolbox ProRes hwaccel
- support loongarch.
- aspectralstats audio filter
- adynamicsmooth audio filter
- libplacebo filter
- vflip_vulkan, hflip_vulkan and flip_vulkan filters
- adynamicequalizer audio filter
- yadif_videotoolbox filter
- VideoToolbox ProRes encoder
- anlmf audio filter
- IMF demuxer (experimental)
60 respuestas
1, 2