From nobody Sat Jan 6 22:58:29 2024 X-Original-To: multimedia@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T6wjj1TXWz55kSF for ; Sat, 6 Jan 2024 22:58:49 +0000 (UTC) (envelope-from kob6558@gmail.com) Received: from mail-yw1-x1133.google.com (mail-yw1-x1133.google.com [IPv6:2607:f8b0:4864:20::1133]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T6wjh4Brpz4R81 for ; Sat, 6 Jan 2024 22:58:48 +0000 (UTC) (envelope-from kob6558@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-yw1-x1133.google.com with SMTP id 00721157ae682-5e734251f48so5221637b3.1 for ; Sat, 06 Jan 2024 14:58:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1704581926; x=1705186726; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=nYv4DsmjA3S5d8EgG15/1eDfYt9kI2wihL2iHXuTzts=; b=IcqtfiN8CQAYTHj30BYIVQ9S10v1VEvSOb/8WQWV56o1Ph0GWjkdP53SFTBn8Yevz6 f+4egDN/iHSr6K8PR84tqhzzO6GdE8nLYt6OsI8wkbxFsjhD56y9HtV8aOUmqoSTjZKQ P2iIP6CzWaFlvahtDrM8eVs8y+rEdcwQpo+2krf1yhbW3jM1ZgIsyATly1WnBjDIdy7M io5hgD8WVoT4Lr1bHlxl91fNN0PXWMF0ezc48lJBSgNLP2YMFTLN0IOFh/Ur7z/yErPh jitXvU0aMm4HrtnU7H6IljI5NhYuarmILBfTE+6AHTxj71XbvsuFlJOH+rq7+ww7SyTt okNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704581926; x=1705186726; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=nYv4DsmjA3S5d8EgG15/1eDfYt9kI2wihL2iHXuTzts=; b=Kz/kMGslbVXnPQCu/08K55mpcYPvZzyLzoD89YmD3rIR0RPZFszzFd8HLsGprhRS9t AxocIGnA9JgiaMq48SXASK/E4Q6F+1hC+j24WfHiD55z5MLxYfPj/V6aCr2r0sVuv6eZ 5bTrW9tURmgzMYS8ggGVH/DvRJwzRfj+B1VmLCW29n6TsVHJUVIln2cOBNJFR3z8Ynvc UhgQyPkhOMPu5iBfEGabx78cduON4UQoZSG9kPAA+ywbogAda2bkJYUoIMsbVxqxa9C+ Zd8pLYRmGWoB5kX4G5h1Al/nOxmqgDa0s4jDGLSDToDxWZWP3MOoNRTpWHRgXnfhKG70 IcaQ== X-Gm-Message-State: AOJu0YzyZmqv+PZO5Wft0pqSJyYeni9HKzM2oy0H+OhwSZvAUzFkXcl7 lDA1jXX1/agL7d+FW2qOx5ye7a/UXmzNUYM8T0CQnclk+1Y= X-Google-Smtp-Source: AGHT+IF7RE/0ITT1fmiJMxEPiHH2cdAOb5kHrEPrmVGjl24cOps+UiLaEMr9s2UanQb/bLbeL+JYruuuJSP+jlRy5zM= X-Received: by 2002:a0d:f405:0:b0:5e4:cba8:e4f1 with SMTP id d5-20020a0df405000000b005e4cba8e4f1mr2554619ywf.17.1704581925986; Sat, 06 Jan 2024 14:58:45 -0800 (PST) List-Id: Multimedia discussions List-Archive: https://lists.freebsd.org/archives/freebsd-multimedia List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-multimedia@freebsd.org MIME-Version: 1.0 References: In-Reply-To: From: Kevin Oberman Date: Sat, 6 Jan 2024 14:58:29 -0800 Message-ID: Subject: Re: FFmpeg VAAPI H264 /HEVC encoding not supported To: Mario Marietto Cc: Mehmet Erol Sanliturk , multimedia@freebsd.org Content-Type: multipart/alternative; boundary="00000000000030696e060e4ee8f4" X-Rspamd-Queue-Id: 4T6wjh4Brpz4R81 X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; TAGGED_RCPT(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] --00000000000030696e060e4ee8f4 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, Jan 6, 2024 at 9:57=E2=80=AFAM Mario Marietto wrote: > Thanks, > > =D9=84=D9=83=D9=86 =D8=A7=D9=84=D9=85=D8=B9=D9=84=D9=88=D9=85=D8=A7=D8=AA= =D8=A7=D9=84=D8=AA=D9=8A =D9=82=D8=AF=D9=85=D8=AA=D9=87=D8=A7 =D9=84=D9=8A= =D8=B9=D8=A7=D9=85=D8=A9. =D9=85=D8=A7 =D8=B2=D9=84=D8=AA =D9=84=D8=A7 =D8= =A3=D8=B9=D8=B1=D9=81 =D9=85=D8=A7 =D8=A5=D8=B0=D8=A7 =D9=83=D8=A7=D9=86 = =D9=84=D8=AF=D9=8A =D8=AE=D8=B7=D8=A3 =D9=88=D9=85=D8=A7 > =D8=A5=D8=B0=D8=A7 =D9=83=D8=A7=D9=86 =D8=A8=D8=A5=D9=85=D9=83=D8=A7=D9= =86=D9=8A =D8=A5=D8=B5=D9=84=D8=A7=D8=AD=D9=87 =D8=A8=D8=B7=D8=B1=D9=8A=D9= =82=D8=A9 =D9=85=D8=A7. > > (but the information that you gave to me is generic. I still don't know i= f > I have a bug and if I can fix it,in some way). > > On Sat, Jan 6, 2024 at 5:23=E2=80=AFPM Mehmet Erol Sanliturk < > m.e.sanliturk@gmail.com> wrote: > >> >> Perhaps the following pages may be useful : >> >> https://trac.ffmpeg.org/wiki/HWAccelIntro >> >> Another issue about video encoders and decoders is patents . >> >> >> >> https://www.google.com/search?q=3Dis+VAAPI+HEVC+encoding+patented+or+not= &sca_esv=3D596226834&sxsrf=3DAM9HkKnkHnL5dsq45dd5uDNCjL9Olnwl_A%3A170455747= 9981&ei=3Dp3uZZZXGOLbjxc8P9e66mAU&ved=3D0ahUKEwjVtdy4k8mDAxW2cfEDHXW3DlMQ4d= UDCBA&uact=3D5&oq=3Dis+VAAPI+HEVC+encoding+patented+or+not&gs_lp=3DEgxnd3Mt= d2l6LXNlcnAiJmlzIFZBQVBJIEhFVkMgZW5jb2RpbmcgcGF0ZW50ZWQgb3Igbm90SO6EAVDyCli= igQFwAXgBkAEAmAGiAaAB9xGqAQQwLjE5uAEDyAEA-AEBwgIKEAAYRxjWBBiwA8ICBxAjGLACGC= fCAggQABgIGB4YDcICCxAAGIAEGIoFGIYDwgIKECEYChigARjDBMICCBAhGKABGMMEwgIFECEYo= AHCAgQQIRgV4gMEGAAgQYgGAZAGCA&sclient=3Dgws-wiz-serp >> is VAAPI HEVC encoding patented or not >> >> >> https://www.google.com/search?q=3Dis+VAAPI+H264+encoding+patented+or+not= &sca_esv=3D596226834&sxsrf=3DAM9HkKl4fSR7Myk6mZQSftwHYdNbZhnr4Q%3A170455752= 9388&ei=3D2XuZZYKcF8m9xc8Pj6u0OA&ved=3D0ahUKEwjC7KbQk8mDAxXJXvEDHY8VDQcQ4dU= DCBA&uact=3D5&oq=3Dis+VAAPI+H264+encoding+patented+or+not&gs_lp=3DEgxnd3Mtd= 2l6LXNlcnAiJmlzIFZBQVBJIEgyNjQgZW5jb2RpbmcgcGF0ZW50ZWQgb3Igbm90MggQABiABBii= BEiP0wZQ5psGWLu5BnADeAGQAQCYAaoBoAGiBqoBAzAuNrgBA8gBAPgBAcICChAAGEcY1gQYsAP= iAwQYACBBiAYBkAYI&sclient=3Dgws-wiz-serp >> is VAAPI H264 encoding patented or not >> >> >> >> Mehmet Erol Sanliturk >> >> >> >> On Sat, Jan 6, 2024 at 5:51=E2=80=AFPM Mario Marietto >> wrote: >> >>> Hello to everyone. >>> >>> I'm using FreeBSD 14.0-p3 with the latest packages and I'm trying to >>> enable the VAAPI H264 / HEVC encoding for obs-studio,but it says that t= hey >>> aren't supported. There may be a bug somewhere ? >>> >>> start-obs : >>> >>> sh << EOF >>> env LD_LIBMAP=3D"`nv-sglrun printenv LD_LIBMAP | grep -v libGL`" obs >>> EOF >>> >>> root@marietto:/compat # ./start-obs >>> shim init >>> >>> info: Using EGL/X11 >>> info: CPU Name: Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz >>> info: CPU Speed: 3600.00MHz >>> info: Physical Cores: 8, Logical Cores: 16 >>> info: Physical Memory: 31734MB Total, 19859MB Free >>> info: Kernel Version: FreeBSD 14.0-RELEASE-p3 >>> info: Distribution: FreeBSD "14.0" >>> info: Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.21= .1 >>> info: Qt Version: 6.6.1 (runtime), 6.6.1 (compiled) >>> info: Portable mode: false >>> info: OBS 30.0.2 (freebsd) >>> info: --------------------------------- >>> info: --------------------------------- >>> info: audio settings reset: >>> samples per sec: 48000 >>> speakers: 2 >>> max buffering: 960 milliseconds >>> buffering type: dynamically increasing >>> info: --------------------------------- >>> info: Initializing OpenGL... >>> info: Loading up OpenGL on adapter NVIDIA Corporation NVIDIA GeForce GT= X >>> 1060 3GB/PCIe/SSE2 >>> info: OpenGL loaded successfully, version 3.3.0 NVIDIA 535.146.02, >>> shading language 3.30 NVIDIA via Cg compiler >>> >>> info: --------------------------------- >>> info: video settings reset: >>> base resolution: 1920x1080 >>> output resolution: 1280x720 >>> downscale filter: Bicubic >>> fps: 30/1 >>> format: NV12 >>> YUV mode: Rec. 709/Partial >>> info: NV12 texture support not available >>> info: P010 texture support not available >>> info: Audio monitoring device: >>> name: Default >>> id: default >>> info: --------------------------------- >>> info: [pipewire] No captures available >>> warning: v4l2loopback not installed, virtual camera disabled >>> info: NVENC supported >>> >>> >>> *info: FFmpeg VAAPI H264 encoding not supported info: FFmpeg VAAPI HEVC >>> encoding not supported* >>> >>> info: [obs-websocket] [obs_module_load] you can haz websockets (Version= : >>> 5.0.1 | RPC Version: 1) >>> info: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.6.= 1 >>> | Qt version (run-time): 6.6.1 >>> info: [obs-websocket] [obs_module_load] Linked ASIO Version: 101201 >>> info: [obs-websocket] [obs_module_load] Module loaded. >>> info: [vlc-video]: VLC 3.0.20 Vetinari found, VLC video source enabled >>> info: --------------------------------- >>> info: Loaded Modules: >>> info: vlc-video.so >>> info: text-freetype2.so >>> info: sndio.so >>> info: rtmp-services.so >>> info: oss-audio.so >>> info: obs-x264.so >>> info: obs-websocket.so >>> info: obs-webrtc.so >>> info: obs-transitions.so >>> info: obs-outputs.so >>> info: obs-filters.so >>> info: obs-ffmpeg.so >>> info: linux-v4l2.so >>> info: linux-pulseaudio.so >>> info: linux-pipewire.so >>> info: linux-jack.so >>> info: linux-capture.so >>> info: image-source.so >>> info: frontend-tools.so >>> info: --------------------------------- >>> info: =3D=3D=3D=3D Startup complete >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>> info: All scene data cleared >>> info: ------------------------------------------------ >>> info: Switched to scene 'Scene' >>> info: ------------------------------------------------ >>> info: Loaded scenes: >>> info: - scene 'Scene': >>> info: ------------------------------------------------ >>> info: =3D=3D=3D=3D Shutting down >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D >>> info: All scene data cleared >>> info: ------------------------------------------------ >>> info: [obs-websocket] [obs_module_unload] Shutting down... >>> error: Tried to call obs_frontend_remove_event_callback with no >>> callbacks! >>> error: Tried to call obs_frontend_get_global_config with no callbacks! >>> error: [obs-websocket] [Config::Save] Unable to fetch OBS config! >>> info: [obs-websocket] [obs_module_unload] Finished shutting down. >>> info: [Scripting] Total detached callbacks: 0 >>> info: Freeing OBS context data >>> info: =3D=3D Profiler Results =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>> info: run_program_init: 663.636 ms >>> info: =E2=94=A3OBSApp::AppInit: 3.125 ms >>> info: =E2=94=83 =E2=94=97OBSApp::InitLocale: 0.784 ms >>> info: =E2=94=97OBSApp::OBSInit: 626.884 ms >>> info: =E2=94=A3obs_startup: 1.247 ms >>> info: =E2=94=97OBSBasic::OBSInit: 598.145 ms >>> info: =E2=94=A3OBSBasic::InitBasicConfig: 0.085 ms >>> info: =E2=94=A3OBSBasic::ResetAudio: 0.149 ms >>> info: =E2=94=A3OBSBasic::ResetVideo: 92.565 ms >>> info: =E2=94=83 =E2=94=97obs_init_graphics: 92.317 ms >>> info: =E2=94=83 =E2=94=97shader compilation: 22.654 ms >>> info: =E2=94=A3OBSBasic::InitOBSCallbacks: 0.005 ms >>> info: =E2=94=A3OBSBasic::InitHotkeys: 0.022 ms >>> info: =E2=94=A3obs_load_all_modules2: 365.069 ms >>> info: =E2=94=83 =E2=94=A3obs_init_module(frontend-tools.so): 27.908 ms >>> info: =E2=94=83 =E2=94=A3obs_init_module(image-source.so): 0.009 ms >>> info: =E2=94=83 =E2=94=A3obs_init_module(linux-capture.so): 0.374 ms >>> info: =E2=94=83 =E2=94=A3obs_init_module(linux-jack.so): 0.004 ms >>> info: =E2=94=83 =E2=94=A3obs_init_module(linux-pipewire.so): 3.652 ms >>> info: =E2=94=83 =E2=94=A3obs_init_module(linux-pulseaudio.so): 0.003 ms >>> info: =E2=94=83 =E2=94=A3obs_init_module(linux-v4l2.so): 0.856 ms >>> info: =E2=94=83 =E2=94=A3obs_init_module(obs-ffmpeg.so): 5.617 ms >>> info: =E2=94=83 =E2=94=83 =E2=94=97nvenc_check: 5.362 ms >>> info: =E2=94=83 =E2=94=A3obs_init_module(obs-filters.so): 0.029 ms >>> info: =E2=94=83 =E2=94=A3obs_init_module(obs-outputs.so): 0.007 ms >>> info: =E2=94=83 =E2=94=A3obs_init_module(obs-transitions.so): 0.009 ms >>> info: =E2=94=83 =E2=94=A3obs_init_module(obs-webrtc.so): 0.029 ms >>> info: =E2=94=83 =E2=94=A3obs_init_module(obs-websocket.so): 4.649 ms >>> info: =E2=94=83 =E2=94=A3obs_init_module(obs-x264.so): 0.003 ms >>> info: =E2=94=83 =E2=94=A3obs_init_module(oss-audio.so): 0.004 ms >>> info: =E2=94=83 =E2=94=A3obs_init_module(rtmp-services.so): 0.993 ms >>> info: =E2=94=83 =E2=94=A3obs_init_module(sndio.so): 0.005 ms >>> info: =E2=94=83 =E2=94=A3obs_init_module(text-freetype2.so): 0.035 ms >>> info: =E2=94=83 =E2=94=97obs_init_module(vlc-video.so): 0.635 ms >>> info: =E2=94=A3OBSBasic::InitService: 0.773 ms >>> info: =E2=94=A3OBSBasic::ResetOutputs: 0.509 ms >>> info: =E2=94=A3OBSBasic::CreateHotkeys: 0.026 ms >>> info: =E2=94=A3OBSBasic::InitPrimitives: 0.162 ms >>> info: =E2=94=97OBSBasic::Load: 67.014 ms >>> info: obs_hotkey_thread(25 ms): min=3D0.03 ms, median=3D0.17 ms, max=3D= 10.834 >>> ms, 99th percentile=3D8.279 ms >>> , 100% below 25 ms >>> info: audio_thread(Audio): min=3D0.005 ms, median=3D0.036 ms, max=3D0.1= 49 ms, >>> 99th percentile=3D0.101 ms >>> info: obs_graphics_thread(33.3333 ms): min=3D0.084 ms, median=3D0.987 m= s, >>> max=3D22.184 ms, 99th percentile >>> =3D22.184 ms, 100% below 33.333 ms >>> info: =E2=94=A3tick_sources: min=3D0.001 ms, median=3D0.009 ms, max=3D0= .658 ms, 99th >>> percentile=3D0.658 ms >>> info: =E2=94=A3output_frame: min=3D0.041 ms, median=3D0.212 ms, max=3D8= .411 ms, 99th >>> percentile=3D8.411 ms >>> info: =E2=94=83 =E2=94=97gs_context(video->graphics): min=3D0.04 ms, me= dian=3D0.211 ms, >>> max=3D8.41 ms, 99th percentile=3D8. >>> 41 ms >>> info: =E2=94=83 =E2=94=A3render_video: min=3D0.02 ms, median=3D0.125 ms= , max=3D8.379 ms, 99th >>> percentile=3D8.379 ms >>> info: =E2=94=83 =E2=94=83 =E2=94=97render_main_texture: min=3D0.015 ms,= median=3D0.098 ms, max=3D8.356 >>> ms, 99th percentile=3D8.35 >>> 6 ms >>> info: =E2=94=83 =E2=94=97gs_flush: min=3D0.003 ms, median=3D0.018 ms, m= ax=3D7.648 ms, 99th >>> percentile=3D7.648 ms >>> info: =E2=94=97render_displays: min=3D0.009 ms, median=3D0.603 ms, max= =3D22.032 ms, >>> 99th percentile=3D22.032 ms >>> info: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D >>> info: =3D=3D Profiler Time Between Calls =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D >>> info: obs_hotkey_thread(25 ms): min=3D25.037 ms, median=3D25.19 ms, >>> max=3D65.219 ms, 91.0569% within =C2=B12% o >>> f 25 ms (0% lower, 8.94309% higher) >>> info: obs_graphics_thread(33.3333 ms): min=3D12.188 ms, median=3D33.322= ms, >>> max=3D52.604 ms, 78.8889% with >>> in =C2=B12% of 33.333 ms (10% lower, 11.1111% higher) >>> info: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D >>> info: Number of memory leaks: 0 >>> >>> >>> * but the vaapi codecs are recognized correctly :* >>> >>> >>> # ffmpeg -codecs | grep vaapi >>> >>> ffmpeg version 6.1 Copyright (c) 2000-2023 the FFmpeg developers >>> built with FreeBSD clang version 16.0.6 ( >>> https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0 >>> -g7cbf1a259152) >>> >>> configuration: --prefix=3D/usr/local --mandir=3D/usr/local/man >>> --datadir=3D/usr/local/share/ffmpeg --doc >>> dir=3D/usr/local/share/doc/ffmpeg >>> --pkgconfigdir=3D/usr/local/libdata/pkgconfig --disable-static --disab >>> le-libcelt --enable-shared --enable-pic --enable-gpl --cc=3Dcc --cxx=3D= c++ >>> --disable-alsa --disable-libo >>> pencore-amrnb --disable-libopencore-amrwb --enable-libaom >>> --disable-libaribb24 --disable-libaribcapt >>> ion --enable-asm --enable-libass --disable-libbs2b --disable-libcaca >>> --disable-libcdio --disable-lib >>> codec2 --enable-libdav1d --disable-libdavs2 --disable-libdc1394 >>> --disable-debug --enable-htmlpages - >>> -enable-libdrm --disable-libfdk-aac --disable-libflite >>> --enable-fontconfig --enable-libfreetype --en >>> able-frei0r --disable-libfribidi --disable-gcrypt --disable-libglslang >>> --disable-libgme --enable-gmp >>> --enable-gnutls --enable-version3 --disable-libgsm --enable-libharfbuzz >>> --enable-iconv --disable-li >>> bilbc --disable-libjack --enable-libjxl --disable-libklvanc >>> --disable-libkvazaar --disable-ladspa -- >>> enable-libmp3lame --enable-lcms2 --disable-liblensfun >>> --disable-libbluray --enable-libplacebo --disa >>> ble-librsvg --disable-librtmp --enable-libxml2 --disable-lv2 >>> --disable-mbedtls --disable-libmfx --di >>> sable-libmodplug --disable-libmysofa --enable-network --disable-nonfree >>> --enable-nvenc --disable-ope >>> nal --disable-opencl --disable-opengl --disable-libopenh264 >>> --disable-libopenjpeg --disable-libopenm >>> pt --disable-openssl --disable-libopenvino --enable-optimizations >>> --enable-libopus --disable-pockets >>> phinx --disable-libpulse --disable-librabbitmq --disable-librav1e >>> --disable-librist --enable-runtime >>> -cpudetect --disable-librubberband --disable-sdl2 --enable-libshaderc >>> --disable-libsmbclient --disab >>> le-libsnappy --disable-sndio --disable-libsoxr --disable-libspeex >>> --disable-libsrt --disable-libssh >>> --enable-libsvtav1 --disable-libtensorflow --disable-libtesseract >>> --disable-libtheora --disable-libt >>> wolame --disable-libuavs3d --enable-libv4l2 --enable-vaapi >>> --disable-vapoursynth --enable-vdpau --di >>> sable-libvidstab --enable-libvmaf --enable-libvorbis >>> --disable-libvo-amrwbenc --disable-libvpl --ena >>> ble-libvpx --enable-vulkan --enable-libwebp --enable-libx264 >>> --enable-libx265 --disable-libxavs2 --e >>> nable-libxcb --disable-libxvid --disable-outdev=3Dxv --disable-libzimg >>> --disable-libzmq --disable-libz >>> vbi >>> libavutil 58. 29.100 / 58. 29.100 >>> libavcodec 60. 31.102 / 60. 31.102 >>> libavformat 60. 16.100 / 60. 16.100 >>> libavdevice 60. 3.100 / 60. 3.100 >>> libavfilter 9. 12.100 / 9. 12.100 >>> libswscale 7. 5.100 / 7. 5.100 >>> libswresample 4. 12.100 / 4. 12.100 >>> libpostproc 57. 3.100 / 57. 3.100 >>> >>> DEV.L. av1 Alliance for Open Media AV1 (decoders: libdav1d libaom-av1 >>> av1 av1_cuvi >>> d) (encoders: libaom-av1 libsvtav1 av1_nvenc av1_vaapi) >>> DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 >>> h264_v4l2m2m >>> h264_cuvid) (encoders: libx264 libx264rgb h264_nvenc h264_v4l2m2m >>> h264_vaapi) >>> DEV.L. hevc H.265 / HEVC (High Efficiency Video Coding) (decoders: hevc >>> hevc_v4l2m2 >>> m hevc_cuvid) (encoders: libx265 hevc_nvenc hevc_v4l2m2m hevc_vaapi) >>> DEVIL. mjpeg Motion JPEG (decoders: mjpeg mjpeg_cuvid) (encoders: mjpeg >>> mjpeg_vaapi) >>> DEV.L. mpeg2video MPEG-2 video (decoders: mpeg2video mpegvideo >>> mpeg2_v4l2m2m mpeg2_cuvid) >>> (encoders: mpeg2video mpeg2_vaapi) >>> DEV.L. vp8 On2 VP8 (decoders: vp8 vp8_v4l2m2m libvpx vp8_cuvid) >>> (encoders: libvpx >>> vp8_v4l2m2m vp8_vaapi) >>> DEV.L. vp9 Google VP9 (decoders: vp9 vp9_v4l2m2m libvpx-vp9 vp9_cuvid) >>> (encoders: >>> libvpx-vp9 vp9_vaapi) >>> >>> -- >>> Mario. >>> >> > > -- > Mario. > First, VAAPI is not a codec. It is Video Acceleration-API and is supported by some tools directly, but most often using Mesa or libva-VADPAU. Without VA-API support, the graphics will be handled by the CPU, not the GPU. Both H.264 (AVC) nd H.265 (HVEC) are supported by VAAPI. Are you building ffmpeg from source or installing a package? Patented ports need to be built "NONFREE=3Don" for patented codecs. I am not sure what options the ffmpeg package is built with. Are you sure that Video Acceleration is working on your GPU? I have an Alder Lake Intel GPU and, as of last week, the device in FreeBSD's drivers. (New GPU firmware was added this week, but I have yet to try it to confirm whether it fixes the issue.) Easy check is to play a high res (780 or higher) video. If you have VA-API working, CPU usage will not change much. With VA-API support, it will increase significantly. More accurate check is to install graphics/xdpiinfo and run it (no args) or graphics/glx-utils and run "glxinfo into a pager (more, less, or most). glxinfo is quite verbose. You want to look for "Accelerated:'' about 50 lines from the top. I am not an expert on all of this, but I've learned a bit trying to get my Alder Lake work properly on FreeBSD. --=20 Kevin Oberman, Part time kid herder and retired Network Engineer E-mail: rkoberman@gmail.com PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683 --00000000000030696e060e4ee8f4 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Sat, Jan 6, 2024 at 9:57=E2= =80=AFAM Mario Marietto <marie= tto2008@gmail.com> wrote:
Thanks,=

=D9=84=D9=83=D9=86 =D8=A7=D9=84=D9=85=D8=B9=D9=84= =D9=88=D9=85=D8=A7=D8=AA =D8=A7=D9=84=D8=AA=D9=8A =D9=82=D8=AF=D9=85=D8=AA= =D9=87=D8=A7 =D9=84=D9=8A =D8=B9=D8=A7=D9=85=D8=A9. =D9=85=D8=A7 =D8=B2=D9= =84=D8=AA =D9=84=D8=A7 =D8=A3=D8=B9=D8=B1=D9=81 =D9=85=D8=A7 =D8=A5=D8=B0= =D8=A7 =D9=83=D8=A7=D9=86 =D9=84=D8=AF=D9=8A =D8=AE=D8=B7=D8=A3 =D9=88=D9= =85=D8=A7 =D8=A5=D8=B0=D8=A7 =D9=83=D8=A7=D9=86 =D8=A8=D8=A5=D9=85=D9=83=D8= =A7=D9=86=D9=8A =D8=A5=D8=B5=D9=84=D8=A7=D8=AD=D9=87 =D8=A8=D8=B7=D8=B1=D9= =8A=D9=82=D8=A9 =D9=85=D8=A7.

(but the information= that you gave to me is generic. I still don't know if I have a bug and= if I can fix it,in some way).

is VAAPI HEVC encoding patented or not

is VAAPI H264 encoding patented or not



Mehmet Erol Sanliturk



On Sat, Jan 6, 2024 at 5:51=E2=80=AFPM Mario Marietto <<= a href=3D"mailto:marietto2008@gmail.com" target=3D"_blank">marietto2008@gma= il.com> wrote:
Hello to everyone.

I&#= 39;m using FreeBSD 14.0-p3 with the latest packages and I'm trying to e= nable the VAAPI H264 / HEVC encoding for obs-studio,but it says that they a= ren't supported. There may be a bug somewhere ?

start-obs :

sh << EOF
env LD_LIBMAP=3D"`nv-sglrun printenv LD_LIBMAP | grep -v libGL`" = obs
EOF

root@marietto:/compat # ./start-obs
shim init

info: Using EGL/X11
info: CPU Name: Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz
info: CPU Speed: 3600.00MHz
info: Physical Cores: 8, Logical Cores: 16
info: Physical Memory: 31734MB Total, 19859MB Free
info: Kernel Version: FreeBSD 14.0-RELEASE-p3
info: Distribution: FreeBSD "14.0"
info: Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.21.1 info: Qt Version: 6.6.1 (runtime), 6.6.1 (compiled)
info: Portable mode: false
info: OBS 30.0.2 (freebsd)
info: ---------------------------------
info: ---------------------------------
info: audio settings reset:
samples per sec: 48000
speakers: 2
max buffering: 960 milliseconds
buffering type: dynamically increasing
info: ---------------------------------
info: Initializing OpenGL...
info: Loading up OpenGL on adapter NVIDIA Corporation NVIDIA GeForce GTX 10= 60 3GB/PCIe/SSE2
info: OpenGL loaded successfully, version 3.3.0 NVIDIA 535.146.02, shading = language 3.30 NVIDIA via Cg compiler

info: ---------------------------------
info: video settings reset:
base resolution: 1920x1080
output resolution: 1280x720
downscale filter: Bicubic
fps: 30/1
format: NV12
YUV mode: Rec. 709/Partial
info: NV12 texture support not available
info: P010 texture support not available
info: Audio monitoring device:
name: Default
id: default
info: ---------------------------------
info: [pipewire] No captures available
warning: v4l2loopback not installed, virtual camera disabled
info: NVENC supported

info: FFmpeg VAAPI H264 encoding not supported
info: FFmpeg VAAPI HEVC encoding not supported


info: [obs-websocket] [obs_module_load] you can haz websockets (Version: 5.= 0.1 | RPC Version: 1)
info: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.6.1 | = Qt version (run-time): 6.6.1
info: [obs-websocket] [obs_module_load] Linked ASIO Version: 101201
info: [obs-websocket] [obs_module_load] Module loaded.
info: [vlc-video]: VLC 3.0.20 Vetinari found, VLC video source enabled
info: ---------------------------------
info: Loaded Modules:
info: vlc-video.so
info: text-freetype2.so
info: sndio.so
info: rtmp-services.so
info: oss-audio.so
info: obs-x264.so
info: obs-websocket.so
info: obs-webrtc.so
info: obs-transitions.so
info: obs-outputs.so
info: obs-filters.so
info: obs-ffmpeg.so
info: linux-v4l2.so
info: linux-pulseaudio.so
info: linux-pipewire.so
info: linux-jack.so
info: linux-capture.so
info: image-source.so
info: frontend-tools.so
info: ---------------------------------
info: =3D=3D=3D=3D Startup complete =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D
info: All scene data cleared
info: ------------------------------------------------
info: Switched to scene 'Scene'
info: ------------------------------------------------
info: Loaded scenes:
info: - scene 'Scene':
info: ------------------------------------------------
info: =3D=3D=3D=3D Shutting down =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
info: All scene data cleared
info: ------------------------------------------------
info: [obs-websocket] [obs_module_unload] Shutting down...
error: Tried to call obs_frontend_remove_event_callback with no callbacks!<= br> error: Tried to call obs_frontend_get_global_config with no callbacks!
error: [obs-websocket] [Config::Save] Unable to fetch OBS config!
info: [obs-websocket] [obs_module_unload] Finished shutting down.
info: [Scripting] Total detached callbacks: 0
info: Freeing OBS context data
info: =3D=3D Profiler Results =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
info: run_program_init: 663.636 ms
info: =E2=94=A3OBSApp::AppInit: 3.125 ms
info: =E2=94=83 =E2=94=97OBSApp::InitLocale: 0.784 ms
info: =E2=94=97OBSApp::OBSInit: 626.884 ms
info: =E2=94=A3obs_startup: 1.247 ms
info: =E2=94=97OBSBasic::OBSInit: 598.145 ms
info: =E2=94=A3OBSBasic::InitBasicConfig: 0.085 ms
info: =E2=94=A3OBSBasic::ResetAudio: 0.149 ms
info: =E2=94=A3OBSBasic::ResetVideo: 92.565 ms
info: =E2=94=83 =E2=94=97obs_init_graphics: 92.317 ms
info: =E2=94=83 =E2=94=97shader compilation: 22.654 ms
info: =E2=94=A3OBSBasic::InitOBSCallbacks: 0.005 ms
info: =E2=94=A3OBSBasic::InitHotkeys: 0.022 ms
info: =E2=94=A3obs_load_all_modules2: 365.069 ms
info: =E2=94=83 =E2=94=A3obs_init_module(frontend-tools.so): 27.908 ms=
info: =E2=94=83 =E2=94=A3obs_init_module(image-source.so): 0.009 ms info: =E2=94=83 =E2=94=A3obs_init_module(linux-capture.so): 0.374 ms info: =E2=94=83 =E2=94=A3obs_init_module(linux-jack.so): 0.004 ms
info: =E2=94=83 =E2=94=A3obs_init_module(linux-pipewire.so): 3.652 ms<= br> info: =E2=94=83 =E2=94=A3obs_init_module(linux-pulseaudio.so): 0.003 m= s
info: =E2=94=83 =E2=94=A3obs_init_module(linux-v4l2.so): 0.856 ms
info: =E2=94=83 =E2=94=A3obs_init_module(obs-ffmpeg.so): 5.617 ms
info: =E2=94=83 =E2=94=83 =E2=94=97nvenc_check: 5.362 ms
info: =E2=94=83 =E2=94=A3obs_init_module(obs-filters.so): 0.029 ms
info: =E2=94=83 =E2=94=A3obs_init_module(obs-outputs.so): 0.007 ms
info: =E2=94=83 =E2=94=A3obs_init_module(obs-transitions.so): 0.009 ms=
info: =E2=94=83 =E2=94=A3obs_init_module(obs-webrtc.so): 0.029 ms
info: =E2=94=83 =E2=94=A3obs_init_module(obs-websocket.so): 4.649 ms info: =E2=94=83 =E2=94=A3obs_init_module(obs-x264.so): 0.003 ms
info: =E2=94=83 =E2=94=A3obs_init_module(oss-audio.so): 0.004 ms
info: =E2=94=83 =E2=94=A3obs_init_module(rtmp-services.so): 0.993 ms info: =E2=94=83 =E2=94=A3obs_init_module(sndio.so): 0.005 ms
info: =E2=94=83 =E2=94=A3obs_init_module(text-freetype2.so): 0.035 ms<= br> info: =E2=94=83 =E2=94=97obs_init_module(vlc-video.so): 0.635 ms
info: =E2=94=A3OBSBasic::InitService: 0.773 ms
info: =E2=94=A3OBSBasic::ResetOutputs: 0.509 ms
info: =E2=94=A3OBSBasic::CreateHotkeys: 0.026 ms
info: =E2=94=A3OBSBasic::InitPrimitives: 0.162 ms
info: =E2=94=97OBSBasic::Load: 67.014 ms
info: obs_hotkey_thread(25 ms): min=3D0.03 ms, median=3D0.17 ms, max=3D10.8= 34 ms, 99th percentile=3D8.279 ms
, 100% below 25 ms
info: audio_thread(Audio): min=3D0.005 ms, median=3D0.036 ms, max=3D0.149 m= s, 99th percentile=3D0.101 ms
info: obs_graphics_thread(33.3333 ms): min=3D0.084 ms, median=3D0.987 ms, m= ax=3D22.184 ms, 99th percentile
=3D22.184 ms, 100% below 33.333 ms
info: =E2=94=A3tick_sources: min=3D0.001 ms, median=3D0.009 ms, max=3D0.65= 8 ms, 99th percentile=3D0.658 ms
info: =E2=94=A3output_frame: min=3D0.041 ms, median=3D0.212 ms, max=3D8.41= 1 ms, 99th percentile=3D8.411 ms
info: =E2=94=83 =E2=94=97gs_context(video->graphics): min=3D0.04 ms, me= dian=3D0.211 ms, max=3D8.41 ms, 99th percentile=3D8.
41 ms
info: =E2=94=83 =E2=94=A3render_video: min=3D0.02 ms, median=3D0.125 ms,= max=3D8.379 ms, 99th percentile=3D8.379 ms
info: =E2=94=83 =E2=94=83 =E2=94=97render_main_texture: min=3D0.015 ms, = median=3D0.098 ms, max=3D8.356 ms, 99th percentile=3D8.35
6 ms
info: =E2=94=83 =E2=94=97gs_flush: min=3D0.003 ms, median=3D0.018 ms, ma= x=3D7.648 ms, 99th percentile=3D7.648 ms
info: =E2=94=97render_displays: min=3D0.009 ms, median=3D0.603 ms, max=3D2= 2.032 ms, 99th percentile=3D22.032 ms
info: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D
info: =3D=3D Profiler Time Between Calls =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D
info: obs_hotkey_thread(25 ms): min=3D25.037 ms, median=3D25.19 ms, max=3D6= 5.219 ms, 91.0569% within =C2=B12% o
f 25 ms (0% lower, 8.94309% higher)
info: obs_graphics_thread(33.3333 ms): min=3D12.188 ms, median=3D33.322 ms,= max=3D52.604 ms, 78.8889% with
in =C2=B12% of 33.333 ms (10% lower, 11.1111% higher)
info: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D
info: Number of memory leaks: 0


but the vaapi codecs are recognized correctly :


# ffmpeg -codecs | grep vaapi

ffmpeg version 6.1 Copyright (c) 2000-2023 the FFmpeg developers
built with FreeBSD clang version 16.0.6 (https:= //github.com/llvm/llvm-project.git llvmorg-16.0.6-0
-g7cbf1a259152)

configuration: --prefix=3D/usr/local --mandir=3D/usr/local/man --datadir= =3D/usr/local/share/ffmpeg --doc
dir=3D/usr/local/share/doc/ffmpeg --pkgconfigdir=3D/usr/local/libdata/pkgco= nfig --disable-static --disab
le-libcelt --enable-shared --enable-pic --enable-gpl --cc=3Dcc --cxx=3Dc++ = --disable-alsa --disable-libo
pencore-amrnb --disable-libopencore-amrwb --enable-libaom --disable-libarib= b24 --disable-libaribcapt
ion --enable-asm --enable-libass --disable-libbs2b --disable-libcaca --disa= ble-libcdio --disable-lib
codec2 --enable-libdav1d --disable-libdavs2 --disable-libdc1394 --disable-d= ebug --enable-htmlpages -
-enable-libdrm --disable-libfdk-aac --disable-libflite --enable-fontconfig = --enable-libfreetype --en
able-frei0r --disable-libfribidi --disable-gcrypt --disable-libglslang --di= sable-libgme --enable-gmp
--enable-gnutls --enable-version3 --disable-libgsm --enable-libharfbuzz --= enable-iconv --disable-li
bilbc --disable-libjack --enable-libjxl --disable-libklvanc --disable-libkv= azaar --disable-ladspa --
enable-libmp3lame --enable-lcms2 --disable-liblensfun --disable-libbluray -= -enable-libplacebo --disa
ble-librsvg --disable-librtmp --enable-libxml2 --disable-lv2 --disable-mbed= tls --disable-libmfx --di
sable-libmodplug --disable-libmysofa --enable-network --disable-nonfree --e= nable-nvenc --disable-ope
nal --disable-opencl --disable-opengl --disable-libopenh264 --disable-libop= enjpeg --disable-libopenm
pt --disable-openssl --disable-libopenvino --enable-optimizations --enable-= libopus --disable-pockets
phinx --disable-libpulse --disable-librabbitmq --disable-librav1e --disable= -librist --enable-runtime
-cpudetect --disable-librubberband --disable-sdl2 --enable-libshaderc --dis= able-libsmbclient --disab
le-libsnappy --disable-sndio --disable-libsoxr --disable-libspeex --disable= -libsrt --disable-libssh
--enable-libsvtav1 --disable-libtensorflow --disable-libtesseract --disable= -libtheora --disable-libt
wolame --disable-libuavs3d --enable-libv4l2 --enable-vaapi --disable-vapour= synth --enable-vdpau --di
sable-libvidstab --enable-libvmaf --enable-libvorbis --disable-libvo-amrwbe= nc --disable-libvpl --ena
ble-libvpx --enable-vulkan --enable-libwebp --enable-libx264 --enable-libx2= 65 --disable-libxavs2 --e
nable-libxcb --disable-libxvid --disable-outdev=3Dxv --disable-libzimg --di= sable-libzmq --disable-libz
vbi
libavutil 58. 29.100 / 58. 29.100
libavcodec 60. 31.102 / 60. 31.102
libavformat 60. 16.100 / 60. 16.100
libavdevice 60. 3.100 / 60. 3.100
libavfilter 9. 12.100 / 9. 12.100
libswscale 7. 5.100 / 7. 5.100
libswresample 4. 12.100 / 4. 12.100
libpostproc 57. 3.100 / 57. 3.100

DEV.L. av1 Alliance for Open Media AV1 (decoders: libdav1= d libaom-av1 av1 av1_cuvi
d) (encoders: libaom-av1 libsvtav1 av1_nvenc av1_vaapi)
DEV.LS h264 = H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_v4l2m2m h264_cuvid) (encoders: libx264 libx264rgb h264_nvenc h264_v4l2m2m h264_vaap= i)
DEV.L. hevc H.265 / HEVC (High Efficiency Video Coding) (d= ecoders: hevc hevc_v4l2m2
m hevc_cuvid) (encoders: libx265 hevc_nvenc hevc_v4l2m2m hevc_vaapi)
DEVIL. mjpeg Motion JPEG (decoders: mjpeg mjpeg_cuvid) (enc= oders: mjpeg mjpeg_vaapi)
DEV.L. mpeg2video MPEG-2 video (decoders: mpeg2video mpegvideo m= peg2_v4l2m2m mpeg2_cuvid)
(encoders: mpeg2video mpeg2_vaapi)
DEV.L. vp8 On2 VP8 (decoders: vp8 vp8_v4l2m2m libvpx vp8_= cuvid) (encoders: libvpx
vp8_v4l2m2m vp8_vaapi)
DEV.L. vp9 Google VP9 (decoders: vp9 vp9_v4l2m2m libvpx-v= p9 vp9_cuvid) (encoders:
libvpx-vp9 vp9_vaapi)

--
Mario.


--
Mario.
First, VAAPI=C2=A0 is not a co= dec. It is Video Acceleration-API and is supported by some tools directly, = but most often using Mesa or libva-VADPAU. Without VA-API support, the grap= hics will be handled by the CPU, not the GPU. Both H.264 (AVC) nd H.265 (HV= EC) are supported by VAAPI.

Are you b= uilding ffmpeg from source or installing a package? Patented ports need to = be built "NONFREE=3Don" for patented codecs. I am not sure what o= ptions the ffmpeg package is built with.

Are you sure that Video Acceleration is working on your GPU? I have an Ald= er Lake Intel GPU and, as of last week, the device in FreeBSD's drivers= . (New GPU firmware was added this week, but I have yet to try it to confir= m whether it fixes the issue.) Easy check is to play a high res (780 or hig= her) video. If you have VA-API working, CPU usage will not change much. Wit= h VA-API support, it will increase significantly. More accurate check is to= install graphics/xdpiinfo=C2=A0 and run it (no args) or graphics/glx-utils= and run "glxinfo into a pager (more, less, or most). glxinfo is quite= verbose. You want to look for "Accelerated:'' about 50 lines = from the top.

I am not an expert on = all of this, but I've learned a bit trying to get my Alder Lake work pr= operly on FreeBSD.
--=
Kevin Oberma= n, Part time kid herder and retired Network Engineer
E-mail: rkoberman@gmail.com
PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683
--00000000000030696e060e4ee8f4--