Projects
Multimedia
obs-studio
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 99
View file
obs-studio.changes
Changed
@@ -1,4 +1,125 @@ ------------------------------------------------------------------- +Thu Nov 03 08:35:20 UTC 2022 - hpj@urpla.net + +- Update to version 28.1.1: + * Revert "obs-ffmpeg: Check nvenc max bframe count" + * obs-ffmpeg: Cap NVENC Max B-frames according to GPU caps + * CI: Fix service validator + * obs-ffmpeg: Check nvenc max bframe count + * libobs: Update version to 28.1.1 + * UI: Migrate Simple Output NVENC preset + * UI: Refactor NVENC preset migration + * libobs: Update version to 28.1.0 + * libobs: Force SRGB conversion for tonemapped video + * obs-ffmpeg: Split NVENC preset migrations by codec + * UI: Add NVENC preset migration for lossless + * obs-ffmpeg: Align NVENC preset migrations to NVIDIA guidelines + * obs-ffmpeg: Add NVENC preset mapping for old Default preset + * obs-ffmpeg: Swap hq and mq preset order + * libobs: Fix blend method in studio mode + * obs-ffmpeg: Fix Ubuntu 20.04 detection + * obs-ffmpeg: Fix FFmpeg NVENC presets on Ubuntu 20.04 + * Update translations from Crowdin + * obs-browser: Update version to 2.18.6 + * enc-amf: Minor compilation improvements + * UI: Use correct key for "Always on Top" with projectors + * rtmp-services: Add Vindral service + * UI: Fix placeholder element not being deleted + * UI: Avoid showing service integration page on Wayland + * UI: Set preset2 instead preset for simple mode NVENC + * UI: Hide --portable from help text if disallowed + * UI: Hide donation CTA when running via Steam + * UI: Add --steam flag + * linux-v4l2: Send STREAMON/STREAMOFF on vcam start/stop + * docs: Fix sphinx import error on Python 3.10+ + * obs-ffmpeg: Fix NVENC "mq" to use P6 rather than P4 + * UI: Change "hq" to use P5 when upgrading NVENC + * UI: Fix stats widget appearance on Yami themes + * UI: Fix stats widget status font size + * UI: Fix theme if apply and cancel in settings + * CI: Fix Steam launching x86 version under Rosetta + * mac-virtualcam: Fix random crashes in applications loading VirtualCam + * CI: Fix services check using deprecated GHA output + * CI: Update GitHub Actions for set-output deprecation + * UI: Use correct title for failed replay buffer start + * obs-filters: Remove unused assignments + * UI: Check return value of ConvertResText before accessing results + * libobs: Add ifdef for Windows-only variable assignment + * UI: Fix potential memory leak when parsing OBSThemeMeta + * UI: Copy result of getenv before use + * UI: Remove unused assignments + * UI: Fix possible crash due to UI property access from graphics thread + * virtualcam-module: Fix crash on resolution change + * virtualcam-module: Clarify resolution variables + * obs-ffmpeg: Clarify name of NVENC preset + * virtualcam-module: Don't send frames on initial pause + * UI: Don't offer current resolution in auto config if < 240p + * UI: Swap mq and hq NVENC Preset mappings + * Revert "libobs: Update version to 28.1.0" + * libobs: Update version to 28.1.0 + * UI: Use transform to fit vcam source to canvas + * Revert "UI: Remove individual sources (for now) from vcam config" + * docs: Add obs_sceneitem_group_enum_items API call to scripting docs + * obs-scripting: Add obs_sceneitem_group_enum_items function call + * mac-capture: Log CoreAudio device sample rate + * obs-scripting: Fix block comment formatting + * obs-scripting: Fix script state variable being reset by tick callback + * mac-videotoolbox: Remove "None" profile + * rtmp-services: Remove defunct servers/services + * UI: Move "Always On Top" into View menu + * UI: Add multiview menus to UI file + * vlc-video: Fix crash at removing files from missing-file dialog + * rtmp-services: Update ingest list for Restream.io + * obs-vst: Toggle properties button visibility upon VST selection + * linux-pulseaudio: Use DONT_MOVE for non-default devices + * UI: Fix NVENC AV1 preset while resetting encoders + * win-capture: Update D3D9 signature for Win 11 22H2 + * UI: Clamp float values possibly representing infinity to integer size + * win-capture: Fix reporting valid width and height if not capturing + * libobs: Sample video at default chroma location + * rtmp-services: Update Glimesh to add RTMP ingests + * UI: Add NVENC AV1 to simple output mode + * obs-ffmpeg: Add NVENC AV1 support + * libobs/graphics: Precompute more accurate matrix + * libobs: Precompute more accurate matrices + * libobs: Update version to 28.0.3 + * UI: Fix alignment of volume sliders + * mac-videotoolbox: Remove unused defines + * UI: Fix tabstop on settings dialog + * UI: Remove unnecessary styles + * obs-scripting: Enable Python autodoc + * obs-scripting: Re-enable Python annotations + * docs: Add links to python functions + * CI: fix build on non-x86 Linux platforms + * win-wasapi: Fix Stop hang + * UI: Fix AutoRemux not working when FFmpeg output configured + * win-wasapi: Don't reconnect when inactive + * obs-scripting: Fix compile when python is not found + * obs-ffmpeg: Fix unpause causing certain encoders to fail + * libobs: Add function to get encoder pause offset + * UI: Don't reselect SceneTree items if tree is clearing + * UI: Remove executable bit from public key file + * obs-ffmpeg: Fix m3u8 recording in AMF + * linux-pipewire: Close sessions as we are done with them + * libobs/media-io: Restore color range conversion + * CI: Downgrade Sphinx to fix docs build error + * libobs/media-io: Avoid scaler for range diff + * linux-capture: Fixup window name/class checking + * obs-ffmpeg: Cap AMF encoder at 100 Mbps + * UI: Fix color of popout icon + * UI: Fix dock titlebar icons not loading + * libobs,UI: Swap red/blue render/output channels + * frontend-tools: Display dialog when changing Python version + * frontend-tools: Display Python version in UI + * obs-filter: Update model for NVIDIA Audio FX + * obs-ffmpeg: Fix when NVENC retries without psycho aq + * obs-ffmpeg: Show detailed NVENC error messages + * obs-ffmpeg: use NvEncGetSequenceParams for NVENC header + * obs-ffmpeg: Refactor NVENC defaults/properties + * obs-ffmpeg: Update NVENC to new presets + * obs-ffmpeg: Refactor NVENC + +------------------------------------------------------------------- Tue Oct 25 09:35:13 UTC 2022 - Hans-Peter Jansen <hpj@urpla.net> - Enable jack explicitely (it's not detected properly otherwise)
View file
obs-studio.spec
Changed
@@ -8,7 +8,7 @@ %endif Name: obs-studio -Version: 28.0.3 +Version: 28.1.1 Release: 0 Summary: A recording/broadcasting program Group: Productivity/Multimedia/Video/Editors and Convertors
View file
_service
Changed
@@ -1,7 +1,7 @@ <services> <service name="tar_scm" mode="disabled"> <param name="versionformat">@PARENT_TAG@</param> - <param name="revision">refs/tags/28.0.3</param> + <param name="revision">refs/tags/28.1.1</param> <param name="url">https://github.com/obsproject/obs-studio.git</param> <param name="scm">git</param> <param name="changesgenerate">enable</param>
View file
_servicedata
Changed
@@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/obsproject/obs-studio.git</param> - <param name="changesrevision">d21891b3ca1a8607de479687cd2e12a4455525d7</param> + <param name="changesrevision">a1235f498ea7edf85f4f4fefcec00a7f7fdfd1aa</param> </service> </servicedata> \ No newline at end of file
View file
obs-studio-28.0.3.tar.xz/.github/workflows/flatpak.yml -> obs-studio-28.1.1.tar.xz/.github/workflows/flatpak.yml
Changed
@@ -32,14 +32,14 @@ case ${GITHUB_REF##*/} in +(0-9).+(0-9).+(0-9) ) - echo '::set-output name=valid_tag::${{ toJSON(true) }}' - echo '::set-output name=matrix::"beta", "stable"' + echo 'valid_tag=${{ toJSON(true) }}' >> $GITHUB_OUTPUT + echo 'matrix="beta", "stable"' >> $GITHUB_OUTPUT ;; +(0-9).+(0-9).+(0-9)-@(beta|rc)*(0-9) ) - echo '::set-output name=valid_tag::${{ toJSON(true) }}' - echo '::set-output name=matrix::"beta"' + echo 'valid_tag=${{ toJSON(true) }}' >> $GITHUB_OUTPUT + echo 'matrix="beta"' >> $GITHUB_OUTPUT ;; - * ) echo '::set-output name=valid_tag::${{ toJSON(false) }}' ;; + * ) echo 'valid_tag=${{ toJSON(false) }}' >> $GITHUB_OUTPUT ;; esac publish: @@ -65,7 +65,7 @@ id: setup run: | git config --global --add safe.directory $GITHUB_WORKSPACE - echo "::set-output name=commitHash::$(git rev-parse --short=9 HEAD)" + echo "commitHash=$(git rev-parse --short=9 HEAD)" >> $GITHUB_OUTPUT - name: Build Flatpak Manifest uses: bilelmoussaoui/flatpak-github-actions/flatpak-builder@master
View file
obs-studio-28.0.3.tar.xz/.github/workflows/main.yml -> obs-studio-28.1.1.tar.xz/.github/workflows/main.yml
Changed
@@ -153,7 +153,7 @@ brew uninstall ${REMOVE_FORMULAS} fi - echo "::set-output name=commitHash::$(git rev-parse --short=9 HEAD)" + echo "commitHash=$(git rev-parse --short=9 HEAD)" >> $GITHUB_OUTPUT - name: 'Switch to Xcode 14.1' run: sudo xcode-select -switch /Applications/Xcode_14.1.app @@ -253,7 +253,7 @@ - name: 'Setup build environment' id: setup run: | - echo "::set-output name=commitHash::$(git rev-parse --short=9 HEAD)" + echo "commitHash=$(git rev-parse --short=9 HEAD)" >> $GITHUB_OUTPUT - name: 'Install dependencies' env: @@ -336,7 +336,7 @@ id: setup run: | $CommitHash = git rev-parse --short=9 HEAD - Write-Output "::set-output name=commitHash::${CommitHash}" + "commitHash=${CommitHash}" >> $env:GITHUB_OUTPUT - name: 'Install dependencies' env: @@ -421,7 +421,7 @@ id: setup run: | $CommitHash = git rev-parse --short=9 HEAD - Write-Output "::set-output name=commitHash::${CommitHash}" + "commitHash=${CommitHash}" >> $env:GITHUB_OUTPUT - name: 'Add msbuild to PATH' uses: microsoft/setup-msbuild@v1.1 @@ -449,7 +449,7 @@ CI/windows/03_package_obs.ps1 -CombinedArchs -Package $ArtifactName = (Get-ChildItem -filter "obs-studio-*-windows-x86+x64.zip" -File).Name - Write-Output "::set-output name=filename::${ArtifactName}" + "filename=${ArtifactName}" >> $env:GITHUB_OUTPUT - name: 'Upload build artifact' uses: actions/upload-artifact@v3 @@ -479,7 +479,7 @@ - name: 'Setup build environment' id: setup run: | - echo "::set-output name=commitHash::$(git rev-parse --short=9 HEAD)" + echo "commitHash=$(git rev-parse --short=9 HEAD)" >> $GITHUB_OUTPUT - name: 'Download artifact' if: env.HAVE_CODESIGN_IDENTITY == 'true'
View file
obs-studio-28.0.3.tar.xz/.github/workflows/services-json.yml -> obs-studio-28.1.1.tar.xz/.github/workflows/services-json.yml
Changed
@@ -16,7 +16,7 @@ jobs: schema: name: Schema - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 steps: - name: Checkout uses: actions/checkout@v3
View file
obs-studio-28.0.3.tar.xz/.github/workflows/steam.yml -> obs-studio-28.1.1.tar.xz/.github/workflows/steam.yml
Changed
@@ -119,12 +119,12 @@ fi # set env variables for subsequent steps - echo "::set-output name=type::${TYPE}" - echo "::set-output name=branch::${BRANCH}" - echo "::set-output name=desc::${DESC}" - echo "::set-output name=win_url::${WIN_ASSET_URL}" - echo "::set-output name=mac_intel_url::${MAC_ASSET_URL}" - echo "::set-output name=mac_arm_url::${MAC_ARM_ASSET_URL}" + echo "type=${TYPE}" >> $GITHUB_OUTPUT + echo "branch=${BRANCH}" >> $GITHUB_OUTPUT + echo "desc=${DESC}" >> $GITHUB_OUTPUT + echo "win_url=${WIN_ASSET_URL}" >> $GITHUB_OUTPUT + echo "mac_intel_url=${MAC_ASSET_URL}" >> $GITHUB_OUTPUT + echo "mac_arm_url=${MAC_ARM_ASSET_URL}" >> $GITHUB_OUTPUT - name: Restore build cache id: cache @@ -144,9 +144,9 @@ id: should-run run: | if '${{ steps.build-info.outputs.type }}' == 'release' || '${{ steps.cache.outputs.cache-hit }}' != 'true' ; then - echo "::set-output name=result::true" + echo "result=true" >> $GITHUB_OUTPUT else - echo "::set-output name=result::false" + echo "result=false" >> $GITHUB_OUTPUT fi - name: Download and prepare builds
View file
obs-studio-28.0.3.tar.xz/AUTHORS -> obs-studio-28.1.1.tar.xz/AUTHORS
Changed
@@ -10,29 +10,30 @@ cg2121 WizardCM fryshorts - DDRBoxman - Ryan Foster Sebastian Beckmann PatTheMav + Ryan Foster + DDRBoxman Georges Basile Stavracas Neto Gol-D-Ace Rodney BtbN - Shaolin - Kurt Kartaltepe tytan652 + Kurt Kartaltepe + Shaolin kc5nra pkv Michael Fabian 'Xaymar' Dirks Norihiro Kamae VodBox Exeldro - Zachary Lund tt2468 + Zachary Lund Warchamp7 SuslikV Paul Hindt Reboot + derrod Martell Malone Ford Smith Vainock @@ -54,24 +55,25 @@ sorayuki Dead133 Maya Venkatraman - derrod Eric Lindvall Jimi Huotari Radzaquiel Scratch Socapex mntone + shiina424 Cephas Reis Fabian Mastenbroek Hector Martin Luke Yelavich Stéphane Lepin tududweb + Chip Bradford + Developer-Ecosystem-Engineering Florian Zwoch Marvin Scholz Rat Skyler Lipthay - shiina424 Arkkis GoaLitiuM Hunter L. Allen @@ -86,7 +88,6 @@ Anthony Torres Anton Bershanskiy Bennik2000 - Chip Bradford Chris Angelico Danni Doug Kelly @@ -101,20 +102,19 @@ Kilian von Pflugk SoftArch Tjienta Vara + Wahaj Dar Aaron Boxer Anry Bilal Elmoussaoui CoDEmanX Cody Jung David Bieber - Developer-Ecosystem-Engineering Hosein Ioan Loosley Ján Mlynek MaZderMind OldBaldGeek Timo Gurr - Wahaj Dar bl makise-homura nleseul @@ -129,6 +129,7 @@ Daniel Lopez David Cooper Dossy Shiobara + Grant Likely Hernán Jeremiah Senkpiel Jiaxun Yang @@ -144,6 +145,8 @@ Robin Hielscher Roman Sivriver Serge Paquet + Service Checker + Stefan Hoffmeister Tatsuyuki Ishi Valentin karenkim-AfreecaTV @@ -155,6 +158,7 @@ vokama Adrián Pardini Aidan Delaney + Aleix Pol Alex Miller Alexander Schittler Andreas Reischuck @@ -168,13 +172,13 @@ Chaturbate Christine Lin Christopher P Yarger + CodeYan01 Douglas Rhine DungFu Eric Bataille Farzad Karkhani Fred Emmott Gary Kramlich - Grant Likely Grzegorz Godlewski Hans Petter Selasky Henrik "Henke37" Andersson @@ -200,7 +204,6 @@ Nirusu Olle Kelderman Piotr Esden-Tempski - Service Checker Skid-Inc Stéphane Cottin Take Vos @@ -229,12 +232,14 @@ jw0z96 liu.haibin notmark + shinji3 skwerlman stopforumspam stump taesheren wolf247 yogpstop + 田七不甜 Aarni Koskela Abelardo E. Mendoza Adit Sharda @@ -244,6 +249,7 @@ Akagi201 Akihiko Koizuka Alcaros + Alex Kosenko Alexander Kozhevin Alexander Uhlmann Alexandre Biny @@ -294,7 +300,6 @@ Christopher P. Yarger Christopher Serr Claude Heiland-Allen - CodeYan01 Cole CommanderRoot Copy Liu @@ -377,6 +382,7 @@ Lqlsoftware Lukas Monka Luke Granger-Brown + Luke Strickland Lukáš Mojžíš MagicBear Makeenon @@ -387,6 +393,7 @@ Mathias Panzenböck Matthew Szatmary Matthieu Cunzi + Mattias Landin Meng Li Micah Elizabeth Scott Michael Hoang @@ -452,6 +459,7 @@ TotalCaesar659 Translation Uro + WarmUpTill Weikardzaena Will Jamieson William Casarin @@ -557,7 +565,6 @@ yoho zhaolong 张昆 - 田七不甜 Translators: Albanian: @@ -595,14 +602,15 @@ Saleh oukiki (salehoukiki) Sami Kamal (samixgames) Ahmad Alkurbi (DontPlay) + BeleganStartup Tensai Mustafa2018 FiberAhmed - BeleganStartup Ndalabo Taema (hake_bsowq) MesterPerfect Fahad Alshaya (fashaya) azez sh (azezsh) + AL-3boud_25 (alaboud257) Hani Sweileh (hno.sweileh) Nasser Bin Laboun (nasserbinlaboun) M24 AL-Zurqan (mohammedamer2443) @@ -615,12 +623,13 @@ Ahmed Hawam (Hawam) Mhd (thelord9200) Hosein Hallavi (habibot81) - ButterflyOfFire (BoFFire) sadam2002 sadam4 (sadam2002sadam4) - Rex_sa (rex07) Malaz Gold Edition (Malo7zz) Mnsor The-Ghost (mnsor1722011) + ButterflyOfFire (BoFFire) + Rex_sa (rex07) dodgepong + aalhaif chaironeko Hadi Gamer (hadigamer3131) Aragonese: @@ -630,8 +639,8 @@ Armenian: ՀայՏղաՀՏ (Zoro02) HayTxa02 + Hrach Mkrtchyan (hrachmk) test123456ob - Hrach Mkrtchyan (mhrach87) Tigran's Tips (tigrank08) Vainock Azerbaijani: @@ -657,9 +666,9 @@ Vainock Gol D. Ace (goldace) EG Gamer (eggamer131) + MCM Tuber (mcmtuber) txaro Galder L (315galder) - MCM Tuber (mcmtuber) etxondoko guyguy120 (gilenlecuona) unknowndomain @@ -669,6 +678,7 @@ dodgepong Belarusian: ymcei + Dzmitry Zubialevich (dzmitry.zubialevich) VainockManager Bemba: P White (phiaramulima) @@ -730,8 +740,8 @@ Aniol Pagès (aniolpages) Chinese Simplified: Bob Liu (Akagi201) - AlexGuo1998 fangzheng + AlexGuo1998 wwj402_github FrzMtrsprt (FrzHrzn) Origami @@ -739,11 +749,13 @@ AthlonHD Rortenfeat Gol D. Ace (goldace) + Steven (stevenlele) Licardo PabloLiu (719018105) SR_Mango + Lion Yang (lionium) Sasasu - Steven (stevenlele) + SpeedyOrc340069 Vainock David Kuo (s50407s) Rudro Rasel (rdrrsl) @@ -762,6 +774,7 @@ Boyuan Yang (073plan) Richard Stanway (r1ch) Gō̤ Brian Dìng (brightlikesun) + 希铁石z (XiTieShiZ) 自满 (ziman_) BiliSeaStone Bing Feng (fengbing123) @@ -769,27 +782,28 @@ for_the_zero jyc001 科技小白堂 (lipeng0820) - Eric Zhang (ericzhang456) - WeiYuanStudio Giga hertz (gigahertzyt) + WeiYuanStudio pangbin + Eric Zhang (ericzhang456) unknowndomain RytoEX - Vince Black (vincejudge00) Smpq117 (smpq117) + Vince Black (vincejudge00) sorayuki dodgepong WaterOtaku Dianer Small (smalldianer) + lifeeeeeeeeeeE OYYZ Haoran Du (bingchuanjuzi) Bob Wei (BobWaver) Gentry Deng (wordlesswind) - xtexChooser FaZe Fakay (fazefakay) + xtexChooser + cylin 赵杭灵 (h1679083640) Jiaxun Yang (flygoatfree) - cylin Chinese Traditional: Yi-Jyun Pan (pan93412) TzeKei Lee (chikei) @@ -812,12 +826,13 @@ Watson Tsai (ashaneba) Han-Jen Cheng (notexist) Inndy.Lin (inndy) + Zhang Maiyun (myzhang1029) offthegrid-mike - khng300 Edison Lee (edisonlee55) + khng300 Meng Hao Li (GazCore) - ak-47root abc0922001 + ak-47root Append Huang (append) X-RAY team film (961111ray) fangzheng @@ -831,14 +846,15 @@ 曹恩逢 (SiderealArt) Jimmy Huang (f56112000) FaZe Fakay (fazefakay) - tomoe-musashi - chaironeko weixiang0815 + chaironeko + tomoe-musashi Croatian: medicmomcilo milotype srdjan_m Marino Rabach (MARINOMARINO) + Adrian S (wuku0) Fran Kelava (fkelava) schwabengeiz Runicar (dajtisina) @@ -849,8 +865,10 @@ Maky (the.real.maky) Vainock Flicker (galaxybro2411) + dzo_bajden unknowndomain CroatianTranslator + Denis Šardi (Denizio) dodgepong Czech: Jirka 'Venty' Michel (VentyCZ) @@ -858,7 +876,7 @@ Šimon Bartoš (TyphousCrane654) multi.flexi Matěj Kozák (GrrrandyCZ) - Kryštof Černý (cewbdex) + Kryštof Černý (panKrysha) Vainock Martin H. (mhanak) Stewio MC (stepandolsky) @@ -867,11 +885,12 @@ JIMMY (vopasek) Kiznoh MrJaroslavik - Soviet Bear (cheatercz123) Sawanyo + Soviet Bear (cheatercz123) TheWolfiKK Marilok (Marilokms) Bazer47 + Alex Smotra (smotraalex75) Giga hertz (gigahertzyt) unknowndomain Erik Bročko (ericek111) @@ -887,6 +906,7 @@ MaltahlGaming (maltahlgaming) Anders G. Jørgensen (spirit55555) Gol D. Ace (goldace) + Dominik Kolacz (Doko1980) Vainock Anders Urban (minikaliffen) Richard Stanway (r1ch) @@ -895,8 +915,9 @@ Marque Ziqulr (lugtelort) Hero (HeroGamers) Johan Keller Jensen (JKeller) - Christian Henriksen (cnhenriksen) unknowndomain + Christian Henriksen (cnhenriksen) + Alex Smotra (smotraalex75) Daniel Aundal (aundal) Dutch: Eric Bataille (ThoNohT) @@ -959,6 +980,7 @@ Evan Kummel (EvanK) Ed L (Rexogamer) FirstaAnta + HelloI'mUnderThe WaterPleaseHelpMe (BoBTHEbuilder) Endysis GarbageAtSB Roofers @@ -977,7 +999,7 @@ Mr Wildlore (wildlore) MartinEwing Avernys (Avernys_tv) - Oliver Jõgar (treier57lol) + treier57lol AndresTraks Agu Ratas (aguratas) jmcrwd @@ -989,6 +1011,7 @@ Gol D. Ace (goldace) unknowndomain Vainock + Mardo M (stemugram) Filipino: dwaeji-aizelle nyakayed @@ -1023,9 +1046,10 @@ heidi.wenger sZnvARmNaq milo willow (millow) - YummyTomatoes Obama (Obama44) + YummyTomatoes VainockManager + LINUX-SAUNA banbaf (3peruna) MCPE-1 unknowndomain @@ -1035,8 +1059,9 @@ Operative Block (Suo) ZapX5_ Ville Närhi (daimaah) - Jaakko Saarikko (saarikko) + Seqv Arttu Ylhävuori (arttu.ylhavuori) + Jaakko Saarikko (saarikko) chaironeko fa booh (boohfa09) French: @@ -1053,8 +1078,8 @@ Pikana BoboopTeam DoK_- - MrAngelos6 leluk + MrAngelos6 EN LYOWH (enlyowh) DarckCrystale Ben Turner (ben-turner) @@ -1068,6 +1093,7 @@ steve_fr Valentin (valentin45) kyllian (tardigradeus) + Wiwok Hugo Varlet (Huvar) Deski_ QD59 @@ -1078,41 +1104,42 @@ BaguetteDePain_ MIBAND (LEMIBANDDEXARI) Anat ROCHUT (arochut) + Eric Savina (ericsavina) Keter LordFR (YorHaDen) Jérémy LITIQUE (JeremyLTE) christophe (TedM) Nicolas Leperlier (leperlier) Wydady (Wyd1) illusdidi - 🌠 DarK | #Hello 🌠 (DarKTV_FR) Mathieu Hautebas (matteyeux) + 🌠 DarK | #Hello 🌠 (DarKTV_FR) Gabriel Dugny (Dugab) - KarThon10 tytan652 + KarThon10 Yolopix tburette - Richard Stanway (r1ch) Adrien “GameZone Tv” de Decker (redcraft007) - Aryoll (Naomi_CAST) + Richard Stanway (r1ch) ButterflyOfFire (BoFFire) + Aryoll (Naomi_CAST) Evan Kummel (EvanK) Zalki + Alex Smotra (smotraalex75) SkytAsul (skytasul) xav blacyre (xav35000) Alexis Brandner (Alexinfos) Romain Gille (romgille) - Wiwok Camille Nury (kamsdu30) dodgepong - Lexane Sirac (Exilexi) Jean-Mathieu Jm Samson (sjm450666) - Wizi_89 + Lexane Sirac (Exilexi) Thomas Fournier (GoudronViande24) + Wizi_89 Dredd47 Arzugar - HistoriCode97 - Mathieu Goossens (matgoossens) Albakham (albakham) + Mathieu Goossens (matgoossens) + HistoriCode97 SkylixX Nicolas Richard (YoungFrog) Warchamp7 @@ -1125,6 +1152,7 @@ Galician Translator (Galician_translator) Máximo A. Coejo (mcoejo) Vainock + Alex Smotra (smotraalex75) Gol D. Ace (goldace) unknowndomain css @@ -1155,9 +1183,10 @@ Benjamin Klettbach (benklett) cryxgio Jonas Otto (jottosmail) + Jeremy Jürgens (Jeremy3463) WurstOnAir - yojixe Holger Sinn (Holger-Sinn) + yojixe Max Schulz (maxsschulz) Splinter Cel (4eloweck) The_Legend_of_xD @@ -1168,26 +1197,28 @@ Richard Stanway (r1ch) Palana deexbeam - Jonathan (macburgerjunior) + Jonathan (greenbigfrog) WrapOwl Achampnator Enderdrache LP (enderdrachelp) Prince_of_Raop SlimPlay - Robin Hielscher (Jack0r) unknowndomain + Robin Hielscher (Jack0r) Patrick Frings (Ragnos) + Rüsan Gür (RuesanG) css Dav321 (Dav32_1) - Finn Hoffhenke (Finnlife) Tomasz 'grocal' Grodzki (grocal) - AndreLeonardo (andreleonardoyt) + Finn Hoffhenke (Finnlife) + Adrian S (wuku0) Lord Aidan (BadSideofBright) + AndreLeonardo (andreleonardoyt) BoJustus VainockManager - Hadi Gamer (hadigamer3131) - Tiim hakuchi + Tiim + Hadi Gamer (hadigamer3131) degra78 (degra789) Greek: swatzniker (dimitrisrtg324) @@ -1219,6 +1250,7 @@ Antwnhs M. (AntwnhsM.) Christis Andreou (ch.andreou) dodgepong + mixasgr chaironeko Dumb Thoughts (DumbThoughts) Hebrew: @@ -1272,7 +1304,6 @@ Gige Balázs Meskó (mesko.balazs) Balázs Meskó (meskobalazs) - Dániel P. (Daniii_) Gol D. Ace (goldace) zolikonta Sárga Pulcsis (SargaPulcsis) @@ -1288,8 +1319,9 @@ Biró Bence (birobence19) Levente Parádi (Techno.HaX) unknowndomain - abydosan (abydoshun) + Danii_ Skelly001 + abydosan (abydoshun) dodgepong Indonesian: Anbiya Shafaat (Anfia) @@ -1306,10 +1338,11 @@ dnpxs (Dnoxs) Deraidos doplank + Jovan Ferryal E. F. (Jovanzers) unknowndomain Yanwardo Sitanggang (yanwardos) - MichaelJ Azhe Kun (azhe403) + MichaelJ Giga hertz (gigahertzyt) Jeff (ExpansionKit) Italian: @@ -1320,6 +1353,7 @@ tiwi90 imcesca smart2128 + Vincenzo Reale (vinx.reale) Sergio Beneduce (sbeneduce) Ruggero Tomaselli (ruggi99) Michele (ScrappyCocco) @@ -1349,21 +1383,22 @@ Fisherozzo icovada Androide Umano (androide012340) + Leonardo Bertani (bertanileonardo) Eugenio Tomasella (eugeniotomasella9) Alessio Ilardi (alantheandroid) SkyLion Cristian Alfano (CristianAUnisa) - unknowndomain - Benedetto Mazza (benedetto.mazza99) - Lucia Spinello (Freya89) Clarensio + Lucia Spinello (Freya89) + Benedetto Mazza (benedetto.mazza99) + unknowndomain Owly Federico Tensi (habby1337) - Matt (NightMat) Flavio Rinaldi (flaviorinaldi) + Matt (NightMat) Rodney (derrod) - Daniele02_777 Alessandro Iepure (alessandro_iepure) + Daniele02_777 Japanese: Kenta Takumi (style1925) shousa @@ -1401,7 +1436,7 @@ 영구땡 (wonkyupark) Alex Lee (alex01763) hibiya inemuri (hibiya) - DNSE (dnse) + 그냥기여자 (justcontributor) AlexKoala (alexkoala) 임세훈 (shlim) vyteking @@ -1416,6 +1451,7 @@ 이지완 (Jiwan) John Lee (john3374) 켈빈926 (hsjang2000) + Kim (Fomalhaut0098) Jong Kwon Choi (dailypro) Ra.Workspace (RaWouk) ilsubyeega @@ -1424,18 +1460,19 @@ DHtheCreator hykdem kim (hykdem) 미르냥 (Mirnyang) - unknowndomain 최호빵 (SteamB) (steamb23) Russell (crimeroyal) + unknowndomain 뇽룡 (nyongryong) Charles Wallis (charlestw127) 이승진 (smctgrass) Look Studio (yoon080708) Tristar Corp (Charleslee) antome + bluestar8 swatzniker (dimitrisrtg324) + EP45 Nesswit (rishubil) - bluestar8 김동현 (ehehguu) Bi0 D. (lefhi0731) Kurmanji (Kurdish): @@ -1446,6 +1483,7 @@ Vainock Lao: nirankoon.singpraseuth (nirankoon) + Baker123 Vainock Latvian: oskars @@ -1467,8 +1505,9 @@ unknowndomain Gol D. Ace (goldace) Vainock - AquantiuM justas beisinas (justas.beisinas2008) + AquantiuM + Baker123 Malay: abuyop (Abuyop) amsyar ZeRo (amsyarminer555) @@ -1545,9 +1584,9 @@ Giga hertz (gigahertzyt) Gol D. Ace (goldace) alefvanoon + TqkeL Hosein Hallavi (habibot81) MehdiAmirirad (Mehdiamirirad) - TqkeL unknowndomain Berrely RytoEX @@ -1569,30 +1608,31 @@ Hexandcube (hexandcube) Daniel Wieczorek (Kennyluz) kaktus (_kaktus_) + mjluszko sebek1pan Mateusz (Silesianek) - mjluszko Gol D. Ace (goldace) opl Popke Skajdrovski - Michal (progamesmicrok) Patryk Radziszewski (Chefski) + Michal (progamesmicrok) unknowndomain Piteriuz RytoEX Hubert Degler (Hubertoos) - gnu-ewm - adamek2314 Super Polakowy (pawi.sun) + adamek2314 + gnu-ewm OldShaterhan (tomek12-96) dodgepong Julia Drewniak (ewagsi) + Marta Kaczor (kaczorkaa96) + Nojterone Maciej Błędkowski (mble) + cooky Patryk Kunda (ner.i.ol) - Nojterone Michał Lewczak (michal200507) - cooky Portuguese: horus68 Ev1lbl0w @@ -1602,8 +1642,8 @@ André Biscaia (LazP) Tomás Antunes (tomasantunes) Albakham (albakham) - dodgepong x1k1nh0 + dodgepong joaoboia alexandre433 Vainock @@ -1618,8 +1658,10 @@ kayal15948 Giga hertz (gigahertzyt) unknowndomain - Gost_Evil + Diogo Ramos (dr03ramos) Tiago Mesquita (tiagomesquita) + Gost_Evil + Hélder Ferreira (Mtx32) Portuguese, Brazilian: Shaolin (admshao) Diogo Ramos (dr03ramos) @@ -1631,8 +1673,8 @@ Burkes Emanoel Lopes (emanoelopes) Pedro Ricardo (Pedro270707) - Guilherme Dias (Darkaiser) Marcelo dos Santos Mafra (msmafra) + Guilherme Dias (Darkaiser) Eneias Polini (Eneias) TFSThiagoBR98 Vainock @@ -1648,41 +1690,44 @@ aalonsomb Gol D. Ace (goldace) Suni (SuniModni) + Gabriel Thiago (gth1ago) Murilo Ferrari (ferrarintc) Giga hertz (gigahertzyt) - Gabriel Thiago (gth1ago) morittan LoboMetalurgico dav (Davizinhn) - judy manzaneda (judymanzaneda95) mathues - Hustuha + judy manzaneda (judymanzaneda95) Matheus Fongaro (matheus.fongaro) + Hustuha maribatis Diego Ramos (Maneschy) - DanielTaqueto JNylson + DanielTaqueto + Alex Smotra (smotraalex75) lakitoo DJ Matheus Martins (DJMatheusMartins) Tetri Mesquita Neto (tetri) - Guilherme Martins (GuilhermeMartins) ghklug - DevilLorde + Guilherme Martins (GuilhermeMartins) João (fror) + DevilLorde unknowndomain - Esdras Tarsis (esdrastarsis) Ramon Gonzalez (ramon200000) - Guilherme Cruz (gcrz) + Esdras Tarsis (esdrastarsis) Miguel Balbo Victor (miguelbalbovictor) - dodgepong + Guilherme Cruz (gcrz) + Carlos Adriano de Souza (cadriza) + Tomy Grado (tomygrado) Eduardo Addad de Oliveira - Eduaddad (eduardoaddad) + dodgepong Com.praideal Com.praideal (ccompraideal) - Carlos Adriano de Souza (cadriza) - park (TheBugMeNot) Guimaverick + andre.krdoso + park (TheBugMeNot) dlageBR Finhawk - andre.krdoso + Xlindvain Tiago Danin (TiagoDanin) Punjabi: manjotsingh0202 @@ -1736,6 +1781,7 @@ Synbulat Biishev (Syjalo) fromgate Пахомов Александр (GXTrus) + kirbyhi5 Антон Илясов (Vewa9907) Sirboys TDoT @@ -1757,6 +1803,7 @@ HSD Channel (kvdbve34) slicht Mr Misha (MrMisha) + MishaRey (mishaareyy) Nikita Epifanov (Nikets) Fik Dencer (4Soul) ExZo @@ -1765,47 +1812,49 @@ Vladimir (jeffors) Myasko Mikhail Paulyshka (Mixaill) - Иван Геймеров (hronos-2t) Super 2004 (pe86ki) + Иван Геймеров (hronos-2t) Дима Исаев (dima.isaev2005) Nikita Bibanaev (nicky18013) - Максим Куренков (kuplay) pavuma Sergei Fug1t1v3 (fug) + Максим Куренков (kuplay) Цезарь Ролл (CeaserRoll) Walt Gee (vovanych) - Илья Кузнецов (ilyavj) unknowndomain zy9c 1337 (zy9c228) + Илья Кузнецов (ilyavj) Ninja Hacker3000 (ninjahacker3875) - evilserge allan walpy (AndreyLysenkov) + evilserge + Alex Smotra (smotraalex75) Drahonn - Yuri Mihaqlov (yurijmi) Mr. Games (oohskofgs) + BeDubber SandoBY + Yuri Mihaqlov (yurijmi) Meldone (meldone) - BeDubber Nezila Nez (Nezila) - Oleksandr Pavliuk (TheDustyy) Anatoly (Atsupak) + Oleksandr Pavliuk (TheDustyy) Leika098 Kcurett TM (thekcurett) + TOWUK (towuk) iLefty - Evgeny Bogdanov (vtrifonov548) + TR1D Sigge Stjärnholm (Kladdy) - TOWUK (towuk) mchg _ (mchg) - TR1D + Evgeny Bogdanov (vtrifonov548) + MUHADDIS MEDIA (muhaddismedia) + FirstaAnta Kuji Kitamura (KujiKita) MeoWStraY Kirill Arkhipov (dokl957) - MUHADDIS MEDIA (muhaddismedia) - FirstaAnta Scottish Gaelic: GunChleoc Vainock Endo (Balisong) + Alex Smotra (smotraalex75) unknowndomain Serbian (Cyrillic): nikolanikola @@ -1845,12 +1894,12 @@ Ján M (longmoped) Anton Lokaj (anlo) Vainock - Dániel P. (Daniii_) Vladimír Krajč (mkkyy) TheWolfiKK Gol D. Ace (goldace) Miroslav Machala (Miroslav_Machala) LoLLy Nka (lollynka279) + Richard Gráčik (Morc) Giga hertz (gigahertzyt) unknowndomain HelloI'mUnderThe WaterPleaseHelpMe (BoBTHEbuilder) @@ -1883,9 +1932,9 @@ MarioMey Gol D. Ace (goldace) Trimax + Manuel Matías (manuel.matias) 716gjesu Cristhofer Sanchez Solano (JafetSS) - Manuel Matías (manuel.matias) Lluís R (LluisR98) Vainock Adolfo Jayme (fitoschido) @@ -1904,16 +1953,17 @@ 1 (Ipsumry) makiza1 (micosil_2) Santiago Pereyra (SannttVIII) + FloodedVoyage45 jan (test83318) David Sonico (davidsubsonico) Jokeestd AndMe (accomigt) Eleazar (MtrElee3) GNosii (ElNosii) + ian Vatega (ianvatega) amssusgameplays (willifake052) - Stephen Q (qstephen73) - FloodedVoyage45 D E B (D_E_B) + Stephen Q (qstephen73) Jaire (corpi.98) unknowndomain Sigge Stjärnholm (Kladdy) @@ -1985,6 +2035,7 @@ เทพประสิทธิ์ โพลาหา (Thepprasit300150) Alvah Connelly (AlvahConnelly) Slow Life (SlowLife) + ppondd2020 aefgh3962 Nawin Somprasong (thaipirch98) Kamolpat Petsuwan (Paksa) @@ -2022,6 +2073,7 @@ Umut kılıç (kilic190787) Burak Eker (mburakeker) BreezeQS + Emir (dirt3009) furkanbicici keke_ea MeskaX @@ -2034,12 +2086,12 @@ Alperen Yıldız (Sparrow34Tr) realdep (realdeep) Gol D. Ace (goldace) - Zafer Çopur (zafercopur) berkcan uçan (ibnehayati) + Zafer Çopur (zafercopur) Solusyon2 gecebekcisi1 - Emin Can OGUZ (emincanoguz11) Furkan Korhan (furkankorhan) + Emin Can OGUZ (emincanoguz11) inci (sluggishwitch) bitigchi Berk Kırıkçı (berkkrkc09) @@ -2055,22 +2107,23 @@ mustafaa Batıkan Ökten (xdieofgo) Richard Stanway (r1ch) - Nightmare837 gaming (mutlupide) + Zay (Zayria) TimurOzcan + Nightmare837 gaming (mutlupide) Ömer (upp4r) - Zay (Zayria) Yıldırım Mehmet Nur (MehmetNY) Niemand (lelledguy) Khedi Giga hertz (gigahertzyt) - unknowndomain Hydroboost + unknowndomain Mustafa Arslan (mstfaa) - Alican Gultekin (Vitaefinis) Fatih Güneş (fatihgunes) + Alican Gultekin (Vitaefinis) + Awooer Ip Logging Boi (Karatchi) - Türker Yıldırım (turkeryildirim) Mert (Periyot) + Türker Yıldırım (turkeryildirim) basakbk NOYB Huseyin Emre (emreemuzik) @@ -2082,7 +2135,7 @@ Ihor Hordiichuk (ihor_ck) Anatoly Belibov (anatoly136ua) Vainock - GNCanva + Denys (Veydzher) Lino Bico (bicolino34) Dekanenko (dekanenko) Юрій (Devinit) @@ -2095,23 +2148,26 @@ NoPressure បងមាន តែអូន (cheaiphone267) geimfis + Hotripak (hotr1pak) L1Q powerdef Sergii Raboshchuk (Fallenbard) unknowndomain A A (hran) skuu - Maksym Tymoshyk (maximillian_) Oleksandr Pavliuk (TheDustyy) + Maksym Tymoshyk (maximillian_) Mark Chorney (chorneymark2006) Володимир Родич (vrodych) Urdu (Pakistan): + Abuzar (a6y3ap) Sheikh Ahmed (sheikhahmed) Rana Awais (ehtisham) tahirsada shamuntohamd unknowndomain Gol D. Ace (goldace) + Baker123 Vainock Vietnamese: IoeCmcomc (ioecmcomc) @@ -2125,8 +2181,8 @@ Drake Strike (phjtieudoc) Gol D. Ace (goldace) dat trinh duy (zungsle) - tinh200974 Bui Huy Quang (bhuyquang1) + Bach Le (BachWumpus) BIGO - 지혜 (parkjihye96) Blog Đào Lê Minh (daoleminh2010) Hà Phi Hùng (haphihungcom)
View file
obs-studio-28.0.3.tar.xz/CI/check-services.py -> obs-studio-28.1.1.tar.xz/CI/check-services.py
Changed
@@ -18,6 +18,7 @@ SERVICES_FILE = 'plugins/rtmp-services/data/services.json' PACKAGE_FILE = 'plugins/rtmp-services/data/package.json' CACHE_FILE = 'other/timestamps.json' +GITHUB_OUTPUT_FILE = os.environ.get('GITHUB_OUTPUT', None) DO_NOT_PING = {'jp9000'} PR_MESSAGE = '''This is an automatically created pull request to remove unresponsive servers and services. @@ -160,7 +161,7 @@ return json.loads(zip_ref.read(info.filename)) -def find_people_to_blame(raw_services: str, servers: listtuplestr, str) -> dict(): +def find_people_to_blame(raw_services: str, servers: listtuplestr, str) -> dict: if not servers: return dict() @@ -191,6 +192,17 @@ return service_authors +def set_output(name, value): + if not GITHUB_OUTPUT_FILE: + return + + try: + with open(GITHUB_OUTPUT_FILE, 'a', encoding='utf-8', newline='\n') as f: + f.write(f'{name}={value}\n') + except Exception as e: + print(f'Writing to github output files failed: {e!r}') + + def main(): try: with open(SERVICES_FILE, encoding='utf-8') as services_file: @@ -323,7 +335,7 @@ service_authors = dict() # set GitHub outputs - print(f'::set-output name=make_pr::true') + set_output('make_pr', 'true') msg = PR_MESSAGE.format( repository=os.environ'REPOSITORY', run_id=os.environ'WORKFLOW_RUN_ID', @@ -336,9 +348,9 @@ for name, action in sorted(affected_services.items()) ), ) - print(f'::set-output name=pr_message::{json.dumps(msg)}') + set_output('pr_message', json.dumps(msg)) else: - print(f'::set-output name=make_pr::false') + set_output('make_pr', 'false') if __name__ == '__main__':
View file
obs-studio-28.0.3.tar.xz/CI/linux/01_install_dependencies.sh -> obs-studio-28.1.1.tar.xz/CI/linux/01_install_dependencies.sh
Changed
@@ -98,7 +98,6 @@ libpulse-dev libsndio-dev libspeexdsp-dev libudev-dev libv4l-dev libva-dev libvlc-dev libdrm-dev" ) - sudo dpkg --add-architecture amd64 sudo apt-get -qq update for DEPENDENCY in "${BUILD_DEPS@}"; do
View file
obs-studio-28.0.3.tar.xz/CI/steam/scripts_macos/launch.sh -> obs-studio-28.1.1.tar.xz/CI/steam/scripts_macos/launch.sh
Changed
@@ -2,6 +2,17 @@ arch_name="$(uname -m)" +# When the script is launched from Steam, it'll be run through Rosetta. +# Manually override arch to arm64 in that case. +if "$(sysctl -in sysctl.proc_translated)" = "1" ; then + arch_name="arm64" +fi + +# Allow users to force Rosetta +if "$@" =~ \-\-intel ; then + arch_name="x86_64" +fi + # legacy app installation if -d OBS.app ; then exec open OBS.app -W --args "$@"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/an-ES.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/an-ES.ini
Changed
@@ -507,7 +507,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Amostrar carpeta de configuración" Basic.MainMenu.File.ShowProfileFolder="Amostrar carpeta de perfils" Basic.MainMenu.File.ShowMissingFiles="Comprebar si i faltan fichers" -Basic.MainMenu.AlwaysOnTop="Siempre deb&ant" Basic.MainMenu.File.Exit="&Salir" Basic.MainMenu.Edit="&Editar" Basic.MainMenu.Edit.Undo="&Desfer" @@ -922,7 +921,6 @@ YouTube.Actions.MadeForKids="Este video ye feito pa zagals?*" YouTube.Actions.MadeForKids.Yes="Sí, ye feito pa zagals" YouTube.Actions.MadeForKids.No="No, no ye feito pa zagals" -YouTube.Actions.AdditionalSettings="Achustes adicionals:" YouTube.Actions.Latency="Latencia" YouTube.Actions.Latency.Low="Baixa" YouTube.Actions.Latency.UltraLow="Ultra baixa"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/ar-SA.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/ar-SA.ini
Changed
@@ -585,7 +585,6 @@ Basic.MainMenu.File.ShowSettingsFolder="إظهار مجلد الإعدادات" Basic.MainMenu.File.ShowProfileFolder="إظهار مجلد الملف الشخصي" Basic.MainMenu.File.ShowMissingFiles="التحقق من الملفات المفقودة" -Basic.MainMenu.AlwaysOnTop="دائماً في القمة (&A)" Basic.MainMenu.File.Exit="خروج (&X)" Basic.MainMenu.Edit="تعديل (&E)" Basic.MainMenu.Edit.Undo="تراجع (&U)" @@ -625,6 +624,7 @@ Basic.MainMenu.View.StatusBar="شريط الحالة (&S)" Basic.MainMenu.View.Fullscreen.Interface="ملء الشاشة" Basic.MainMenu.View.ResetUI="&إعادة ضبط الواجهة" +Basic.MainMenu.View.AlwaysOnTop="&دائماً في القمة" Basic.MainMenu.Docks="&أرصفة" Basic.MainMenu.Docks.ResetDocks="&إعادة تعيين المخزونات" Basic.MainMenu.Docks.LockDocks="&قفل المخزونات" @@ -767,6 +767,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="المعدات (AMD, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="المعدات (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="المعدات (NVENC, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="المعدات (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="المعدات (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="عتاد (أبل، H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="البرنامج (x264 منخفض استخدام المعالج مسبقاً، يزيد حجم الملف)" @@ -839,7 +840,6 @@ Basic.Settings.Output.SplitFile.TypeManual="تقسيم فقط يدوياً" Basic.Settings.Output.SplitFile.Time="تقسيم الوقت" Basic.Settings.Output.SplitFile.Size="تقسيم الحجم" -Basic.Settings.Output.SplitFile.ResetTimestamps="إعادة تعيين الطوابع الزمنية في بداية كل مِلف مقسم" Screenshot="أخذ لقطة شاشة للمَخرج" Screenshot.SourceHotkey="أخذ لقطة شاشة للمصدر المحدد" Screenshot.StudioProgram="أخذ لقطة شاشة (للبرنامج)" @@ -1047,6 +1047,9 @@ AddUrl.Title="إضافة مصدر عبر عنوان URL" AddUrl.Text="لقد قمت بسحب عنوان URL إلى OBS. سيؤدي هذا تلقائياً إلى إضافة الرابط كمصدر. هل تريد المتابعة؟" AddUrl.Text.Url="الرابط: %1" +ResizeOutputSizeOfSource="تغيير حجم الإخراج (حجم المصدر)" +ResizeOutputSizeOfSource.Text="سيتم تغيير حجم دقة الأساس والإخراج إلى حجم المصدر الحالي." +ResizeOutputSizeOfSource.Continue="هل تريد الاستمرار؟" PreviewTransition="عرض الانتقال" Importer="مستورد مجموعة المشهد" Importer.SelectCollection="تحديد مجموعة مشاهد" @@ -1094,7 +1097,7 @@ YouTube.Actions.MadeForKids="هل هذا الفيديو موجه إلى الأطفال؟*" YouTube.Actions.MadeForKids.Yes="نعم، إنه موجه للأطفال" YouTube.Actions.MadeForKids.No="لا، إنه ليس موجه للأطفال" -YouTube.Actions.AdditionalSettings="إعدادات إضافية:" +YouTube.Actions.AdditionalSettings="إعدادات إضافية" YouTube.Actions.Latency="تأخير" YouTube.Actions.Latency.Normal="عادي" YouTube.Actions.Latency.Low="منخفض"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/be-BY.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/be-BY.ini
Changed
@@ -50,3 +50,26 @@ Defaults="Перадвызначаная" None="Няма" Group="Група" +Fullscreen="Поўнаэкранны рэжым" +RefreshBrowser="Абнавіць" +OpenFile="Адкрыць файл" +AddValue="Дадаць %1" +AddSource="Дадаць крыніцу" +Auth.Chat="Чат" +TwitchAuth.Stats="Статыстыка Twitch" +TwitchAuth.Feed="Стужка актыўнасці Twitch" +Copy.Filters="Капіраваць фільтры" +Paste.Filters="Уставіць фільтры" +BandwidthTest.Region="Рэгіён" +BandwidthTest.Region.US="Злучаныя Штаты" +BandwidthTest.Region.EU="Еўропа" +BandwidthTest.Region.Asia="Азія" +BandwidthTest.Region.Other="Іншы" +Basic.Stats.Status.Active="Актыўна" +Basic.Stats.Bitrate="Бітрэйт" +Updater.UpdateNow="Абнавіць зараз" +Updater.RemindMeLater="Нагадаць пазней" +TitleBar.Profile="Профіль" +TitleBar.Scenes="Сцэны" +LogReturnDialog.CopyURL="Скапіяваць URL" +MissingFiles.Found="Знойдзены"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/bg-BG.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/bg-BG.ini
Changed
@@ -551,7 +551,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Покажи папката с Настройки" Basic.MainMenu.File.ShowProfileFolder="Покажи папката със Профили" Basic.MainMenu.File.ShowMissingFiles="Провери за липсващи файлове" -Basic.MainMenu.AlwaysOnTop="Винаги видим (&A)" Basic.MainMenu.File.Exit="Изход (&X)" Basic.MainMenu.Edit="Редактиране (&E)" Basic.MainMenu.Edit.Undo="Отмени (&U)" @@ -783,7 +782,6 @@ Basic.Settings.Output.SplitFile.TypeSize="Разделяне по размер" Basic.Settings.Output.SplitFile.Time="Време за разделяне" Basic.Settings.Output.SplitFile.Size="Размер за разделяне" -Basic.Settings.Output.SplitFile.ResetTimestamps="Нулиране на времевите отметки в началото на всеки разделен файл" Screenshot="Заснемане екранна снимка на изхода" Screenshot.SourceHotkey="Заснемане екранна снимка на избрания източник" Screenshot.StudioProgram="Заснемане на екранна снимка (Програма)" @@ -1006,7 +1004,6 @@ YouTube.Actions.MadeForKids="Това видео включва ли съдържание за деца?*" YouTube.Actions.MadeForKids.Yes="Да, включва съдържание за деца" YouTube.Actions.MadeForKids.No="Не, не е направено за деца" -YouTube.Actions.AdditionalSettings="Допълнителни настройки:" YouTube.Actions.Latency="Задържане" YouTube.Actions.Latency.Normal="Нормално" YouTube.Actions.Latency.Low="Ниско"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/bn-BD.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/bn-BD.ini
Changed
@@ -71,6 +71,7 @@ Next="পরবর্তী" Back="পিছনে যান" Defaults="পূর্ব-নির্ধারিত" +RestoreDefaults="পূর্ব-নির্ধারিত" HideMixer="মিক্সারে লুকান" TransitionOverride="ট্রানজিশন ওভাররাইড" ShowTransition="ট্রানজিশন দেখান" @@ -504,7 +505,6 @@ Basic.MainMenu.File.ShowSettingsFolder="বৈশিষ্ট্য ফোল্ডার প্রদর্শন করা হবে" Basic.MainMenu.File.ShowProfileFolder="প্রোফাইল ফোল্ডার প্রদর্শন করা হবে" Basic.MainMenu.File.ShowMissingFiles="খোজ ফাইল খুঁজুন" -Basic.MainMenu.AlwaysOnTop="সবসময় চালু শীর্ষে (&A)" Basic.MainMenu.File.Exit="প্রস্থান (&X)" Basic.MainMenu.Edit="সম্পাদনা করুন (&E)" Basic.MainMenu.Edit.Undo="বাতিল করুন (&U)"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/ca-ES.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/ca-ES.ini
Changed
@@ -580,7 +580,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Mostra la carpeta de configuració" Basic.MainMenu.File.ShowProfileFolder="Mostra la carpeta del perfil" Basic.MainMenu.File.ShowMissingFiles="Comprova si hi falten fitxers" -Basic.MainMenu.AlwaysOnTop="Sempre &al davant" Basic.MainMenu.File.Exit="Surt (&X)" Basic.MainMenu.Edit="&Edita" Basic.MainMenu.Edit.Undo="Desfés (&U)" @@ -620,6 +619,7 @@ Basic.MainMenu.View.StatusBar="Barra d'e&stat" Basic.MainMenu.View.Fullscreen.Interface="Pantalla completa" Basic.MainMenu.View.ResetUI="&Reinicia la interfície d'usuari" +Basic.MainMenu.View.AlwaysOnTop="&Sempre al davant" Basic.MainMenu.Docks="&Acobladors" Basic.MainMenu.Docks.ResetDocks="&Reinicia els acobladors" Basic.MainMenu.Docks.LockDocks="&Bloca els acobladors" @@ -759,6 +759,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="Maquinari (AMD, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="Maquinari (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="Maquinari (NVENC, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="Maquinari (NVENC, AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="Maquinari (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="Maquinari (Apple, H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="Programari (preconfiguració de x264 amb baix ús de CPU, augmenta la mida del fitxer)" @@ -830,7 +831,6 @@ Basic.Settings.Output.SplitFile.TypeManual="Només divisió manual" Basic.Settings.Output.SplitFile.Time="Temps de divisió" Basic.Settings.Output.SplitFile.Size="Mida de divisió" -Basic.Settings.Output.SplitFile.ResetTimestamps="Reinicia la marca de temps a l'inici de cada fitxer dividit" Screenshot="Sortida de la captura de pantalla" Screenshot.SourceHotkey="Captura de pantalla de la font seleccionada" Screenshot.StudioProgram="Captura de pantalla (programa)" @@ -1034,6 +1034,9 @@ About.Contribute="Col·laboreu amb l'OBS Project" AddUrl.Title="Afegeix una font mitjançant l'URL" AddUrl.Text="Heu arrossegat un URL a l'OBS. Això afegirà automàticament l'enllaç com a font. Voleu continuar?" +ResizeOutputSizeOfSource="Redimensiona la sortida (mida de la font)" +ResizeOutputSizeOfSource.Text="La resolució base i de sortida es canviarà a la mida de la font actual." +ResizeOutputSizeOfSource.Continue="Voleu continuar?" PreviewTransition="Previsualitza la transició" Importer="Importador de col·leccions d'escenes" Importer.SelectCollection="Seleccioneu una col·lecció d'escenes" @@ -1081,7 +1084,7 @@ YouTube.Actions.MadeForKids="Aquest vídeo és adequat per a menors?*" YouTube.Actions.MadeForKids.Yes="Sí, és adequat per a un públic infantil" YouTube.Actions.MadeForKids.No="No, està adreçat a un públic més adult" -YouTube.Actions.AdditionalSettings="Configuració addicional:" +YouTube.Actions.AdditionalSettings="Configuració addicional" YouTube.Actions.Latency="Latència" YouTube.Actions.Latency.Low="Baixa" YouTube.Actions.Latency.UltraLow="Molt baixa"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/cs-CZ.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/cs-CZ.ini
Changed
@@ -581,7 +581,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Zobrazit složku nastavení" Basic.MainMenu.File.ShowProfileFolder="Zobrazit složku profilu" Basic.MainMenu.File.ShowMissingFiles="Zkontrolovat, zda nechybí nějaké soubory" -Basic.MainMenu.AlwaysOnTop="Vždy n&avrchu" Basic.MainMenu.File.Exit="Ukončit (&X)" Basic.MainMenu.Edit="Upravit (&E)" Basic.MainMenu.Edit.Undo="Zpět (&U)" @@ -621,6 +620,7 @@ Basic.MainMenu.View.StatusBar="&Stavový řádek" Basic.MainMenu.View.Fullscreen.Interface="Rozhraní přes celou obrazovku" Basic.MainMenu.View.ResetUI="&Resetovat rozhraní" +Basic.MainMenu.View.AlwaysOnTop="Vždy n&avrchu" Basic.MainMenu.Docks="&Doky" Basic.MainMenu.Docks.ResetDocks="&Resetovat doky" Basic.MainMenu.Docks.LockDocks="Zamknout doky (&L)" @@ -762,6 +762,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="Hardwarový (AMD, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="Hardwarový (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="Hardwarový (NVENC, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="Hardwarový (NVENC, AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="Hardwarový (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="Hardwarový (Apple, H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="Softwarový (x264 předvolba nízkého zatížení CPU, větší soubory)" @@ -833,7 +834,6 @@ Basic.Settings.Output.SplitFile.TypeManual="Pouze ruční rozdělování" Basic.Settings.Output.SplitFile.Time="Čas pro rozdělení" Basic.Settings.Output.SplitFile.Size="Velikost pro rozdělení" -Basic.Settings.Output.SplitFile.ResetTimestamps="Resetovat časové značky na začátku každého rozděleného souboru" Screenshot="Výstup snímků obrazovky" Screenshot.SourceHotkey="Vytvořit snímek obrazovky vybraného zdroje" Screenshot.StudioProgram="Snímek obrazovky (program)" @@ -1022,6 +1022,9 @@ About.Contribute="Podpořit projekt OBS" AddUrl.Title="Přidat zdroj pomocí URL" AddUrl.Text="Přetáhli jste URL do OBS. Tento odkaz bude automaticky přidán jako zdroj. Pokračovat?" +ResizeOutputSizeOfSource="Změnit velikost výstupu (velikost zdroje)" +ResizeOutputSizeOfSource.Text="Základní a výstupní rozlišení budou změněna na velikost aktuálního zdroje." +ResizeOutputSizeOfSource.Continue="Chcete pokračovat?" PreviewTransition="Náhled přechodu" Importer="Importér kolekcí scén" Importer.SelectCollection="Vyberte kolekci scén" @@ -1069,7 +1072,7 @@ YouTube.Actions.MadeForKids="Je toto video vytvořeno pro děti?*" YouTube.Actions.MadeForKids.Yes="Ano, je vytvořeno pro děti" YouTube.Actions.MadeForKids.No="Ne, není vytvořeno pro děti" -YouTube.Actions.AdditionalSettings="Další nastavení:" +YouTube.Actions.AdditionalSettings="Další nastavení" YouTube.Actions.Latency="Odezva" YouTube.Actions.Latency.Normal="Normální" YouTube.Actions.Latency.Low="Nízká"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/da-DK.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/da-DK.ini
Changed
@@ -546,6 +546,12 @@ Basic.Main.Ungroup="Afgruppér" Basic.Main.GridMode="Gittertilstand" Basic.Main.ListMode="Listetilstand" +Basic.Main.VirtualCamConfig="Indstil Virtuelt Kamera" +Basic.VCam.VirtualCamera="Virtuelt Kamera" +Basic.VCam.OutputSelection="Valg Af Output" +Basic.VCam.Internal="Interne" +Basic.VCam.InternalDefault="Program Output (Standard)" +Basic.VCam.InternalPreview="Forhåndsvisningsoutput" Basic.MainMenu.File="&Fil" Basic.MainMenu.File.Export="&Eksport" Basic.MainMenu.File.ShowRecordings="Vis optagelse&r" @@ -554,7 +560,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Vis Indstillingsmappe" Basic.MainMenu.File.ShowProfileFolder="Vis Profilmappe" Basic.MainMenu.File.ShowMissingFiles="Tjek for manglende filer" -Basic.MainMenu.AlwaysOnTop="&Altid øverst" Basic.MainMenu.File.Exit="Afslut (&X)" Basic.MainMenu.Edit="R&edigér" Basic.MainMenu.Edit.Undo="Fortryd (&U)" @@ -593,6 +598,7 @@ Basic.MainMenu.View.StatusBar="&Statusbjælke" Basic.MainMenu.View.Fullscreen.Interface="Fuldskærmsgrænseflade" Basic.MainMenu.View.ResetUI="Nulstil UI (&R)" +Basic.MainMenu.View.AlwaysOnTop="&Altid øverst" Basic.MainMenu.Docks="&Dokke" Basic.MainMenu.Docks.ResetDocks="Nulstil Dokker (&R)" Basic.MainMenu.Docks.LockDocks="&Lås Dokker" @@ -792,7 +798,6 @@ Basic.Settings.Output.SplitFile.TypeManual="Opdel kun manuelt" Basic.Settings.Output.SplitFile.Time="Opdelingstid" Basic.Settings.Output.SplitFile.Size="Opdelingsstørrelse" -Basic.Settings.Output.SplitFile.ResetTimestamps="Nulstil tidsstempler i begyndelsen af hver opdelt fil" Screenshot="Skærmfoto, output" Screenshot.SourceHotkey="Skærmfoto, valgte kilde" Screenshot.StudioProgram="Skærmfoto (program)" @@ -978,6 +983,9 @@ About.Contribute="Støt OBS-projektet" AddUrl.Title="Tilføj kilde via URL" AddUrl.Text="Du har trukket en URL ind i OBS, hvilket automatisk tilføjer linket som kilde. Fortsæt?" +ResizeOutputSizeOfSource="Ændr størrelse på output (kildestørrelse)" +ResizeOutputSizeOfSource.Text="Grund- og outputopløsningerne tilpasses den aktuelle kildes størrelse." +ResizeOutputSizeOfSource.Continue="Ønsker du at fortsætte?" PreviewTransition="Overgangsforhåndsvisning" Importer="Scenesamlingsimportør" Importer.SelectCollection="Vælg en scenesamling"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/de-DE.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/de-DE.ini
Changed
@@ -45,7 +45,7 @@ DisableOSXVSync="macOS-VSync deaktivieren" ResetOSXVSyncOnExit="macOS-VSync beim Beenden zurücksetzen" HighResourceUsage="Codierung überlastet. Ziehen Sie es in Betracht, Ihre Videoeinstellungen zu verringern oder eine schnellere Encodervoreinstellung zu benutzen." -Transition="Übergehen" +Transition="Übergang" QuickTransitions="Schnellübergänge" FadeToBlack="Schwarzüberblende" Left="Links" @@ -569,7 +569,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Einstellungsordner anzeigen" Basic.MainMenu.File.ShowProfileFolder="Profilordner anzeigen" Basic.MainMenu.File.ShowMissingFiles="Auf fehlende Dateien prüfen" -Basic.MainMenu.AlwaysOnTop="Immer im Vordergrund (&A)" Basic.MainMenu.File.Exit="Beenden (&X)" Basic.MainMenu.Edit="B&earbeiten" Basic.MainMenu.Edit.Undo="Rückgängig machen (&U)" @@ -609,6 +608,7 @@ Basic.MainMenu.View.StatusBar="&Statusleiste" Basic.MainMenu.View.Fullscreen.Interface="Vollbild" Basic.MainMenu.View.ResetUI="Benutze&roberfläche zurücksetzen" +Basic.MainMenu.View.AlwaysOnTop="Immer im Vordergrund (&A)" Basic.MainMenu.Docks.ResetDocks="Docks zu&rücksetzen" Basic.MainMenu.Docks.LockDocks="Docks sperren (&L)" Basic.MainMenu.Docks.CustomBrowserDocks="Benutzerdefinierte Browser-Do&cks …" @@ -807,7 +807,6 @@ Basic.Settings.Output.SplitFile.TypeManual="Nur manuell teilen" Basic.Settings.Output.SplitFile.Time="Trennzeit" Basic.Settings.Output.SplitFile.Size="Trenngröße" -Basic.Settings.Output.SplitFile.ResetTimestamps="Zeitstempel am Anfang jeder Datei zurücksetzen" Screenshot="Screenshot von Ausgabe erstellen" Screenshot.SourceHotkey="Screenshot von ausgewählter Quelle erstellen" Screenshot.StudioProgram="Screenshot erstellen (Programm)" @@ -1001,6 +1000,9 @@ About.Contribute="Unterstützen Sie das OBS-Projekt" AddUrl.Title="Quelle per URL hinzufügen" AddUrl.Text="Sie haben eine URL in OBS gezogen. Dies wird automatisch den Link als Quelle hinzufügen. Fortfahren?" +ResizeOutputSizeOfSource="Ausgabeauflösung anpassen (Quellgröße)" +ResizeOutputSizeOfSource.Text="Die Basis- und Ausgabeauflösung wird auf die Größe der aktuellen Quelle skaliert." +ResizeOutputSizeOfSource.Continue="Möchten Sie fortfahren?" PreviewTransition="Übergangsvorschau" Importer="Szenensammlungsimportierung" Importer.SelectCollection="Wählen Sie eine Szenensammlung aus" @@ -1047,7 +1049,7 @@ YouTube.Actions.MadeForKids="Ist dieses Video speziell für Kinder?*" YouTube.Actions.MadeForKids.Yes="Ja, es ist speziell für Kinder" YouTube.Actions.MadeForKids.No="Nein, es ist nicht speziell für Kinder" -YouTube.Actions.AdditionalSettings="Weitere Einstellungen:" +YouTube.Actions.AdditionalSettings="Weitere Einstellungen" YouTube.Actions.Latency="Latenz" YouTube.Actions.Latency.Low="Niedrig" YouTube.Actions.Latency.UltraLow="Extrem niedrig"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/el-GR.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/el-GR.ini
Changed
@@ -79,6 +79,7 @@ None="Καμία" StudioMode.Preview="Προεπισκόπηση" StudioMode.Program="Έξοδος" +StudioMode.ProgramSceneName="Πρόγραμμα: %1" ShowInMultiview="Εμφάνιση σε Multiview" VerticalLayout="Κατακόρυφη Διάταξη" Group="Ομάδα" @@ -549,7 +550,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Προβολή Φακέλου Ρυθμίσεων" Basic.MainMenu.File.ShowProfileFolder="Προβολή Φακέλου Προφίλ" Basic.MainMenu.File.ShowMissingFiles="Έλεγχος για αρχεία που λείπουν" -Basic.MainMenu.AlwaysOnTop="Πάντα Στην Επιφάνεια(&A)" Basic.MainMenu.File.Exit="Έξοδος(&X)" Basic.MainMenu.Edit="Επεξεργασία(&E)" Basic.MainMenu.Edit.Undo="Αναίρεση(&U)" @@ -966,7 +966,6 @@ YouTube.Actions.MadeForKids="Είναι το βίντεο αυτό για παιδιά;*" YouTube.Actions.MadeForKids.Yes="Ναι, είναι φτιαγμένο για παιδιά" YouTube.Actions.MadeForKids.No="Όχι, δεν είναι φτιαγμένο για παιδιά" -YouTube.Actions.AdditionalSettings="Πρόσθετες ρυθμίσεις:" YouTube.Actions.Latency="Καθυστέρηση" YouTube.Actions.Latency.Normal="Κανονική" YouTube.Actions.Latency.Low="Χαμηλή"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/en-GB.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/en-GB.ini
Changed
@@ -6,6 +6,8 @@ MultiviewProjector="Multi-view (Full-screen)" MultiviewWindowed="Multi-view (Windowed)" Fullscreen="Full-screen" +MixerToolbarMenu="Audio mixer menu" +PluginsFailedToLoad.Title="Plugin load error" AlreadyRunning.Text="OBS is already running! Unless you meant to do this, please shut down any existing instances of OBS before trying to run a new instance. If you have OBS set to minimise to the system tray, please check to see if it's still running there." Wine.Text="Running OBS in Wine is unsupported, and many features, such as capture or device sources, will not work or only in limited capacity.<br><br>It is recommended to run a native version of OBS instead, for example <a href='https://flathub.org/apps/details/com.obsproject.Studio'>our Flatpak version</a> or your operating system's packages." BrowserPanelInit.Title="Initialising Browser..."
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/en-US.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/en-US.ini
Changed
@@ -742,7 +742,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Show Settings Folder" Basic.MainMenu.File.ShowProfileFolder="Show Profile Folder" Basic.MainMenu.File.ShowMissingFiles="Check for Missing Files" -Basic.MainMenu.AlwaysOnTop="&Always On Top" Basic.MainMenu.File.Exit="E&xit" # basic mode edit menu @@ -786,6 +785,8 @@ Basic.MainMenu.View.StatusBar="&Status Bar" Basic.MainMenu.View.Fullscreen.Interface="Fullscreen Interface" Basic.MainMenu.View.ResetUI="&Reset UI" +Basic.MainMenu.View.AlwaysOnTop="&Always On Top" + #basic mode docks menu Basic.MainMenu.Docks="&Docks" @@ -946,6 +947,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="Hardware (AMD, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="Hardware (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="Hardware (NVENC, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="Hardware (NVENC, AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="Hardware (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="Hardware (Apple, H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="Software (x264 low CPU usage preset, increases file size)"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/es-ES.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/es-ES.ini
Changed
@@ -578,7 +578,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Mostrar carpeta de configuración" Basic.MainMenu.File.ShowProfileFolder="Mostrar carpeta de perfiles" Basic.MainMenu.File.ShowMissingFiles="Comprobar si faltan archivos" -Basic.MainMenu.AlwaysOnTop="Siempre &al frente" Basic.MainMenu.File.Exit="Salir (&X)" Basic.MainMenu.Edit="&Editar" Basic.MainMenu.Edit.Undo="Deshacer (&U)" @@ -618,6 +617,7 @@ Basic.MainMenu.View.StatusBar="Barra de e&stado" Basic.MainMenu.View.Fullscreen.Interface="Pantalla completa" Basic.MainMenu.View.ResetUI="&Restablecer la interfaz de usuario" +Basic.MainMenu.View.AlwaysOnTop="Siempre en primer pl&ano" Basic.MainMenu.Docks="Paneles (&D)" Basic.MainMenu.Docks.ResetDocks="&Restablecer paneles" Basic.MainMenu.Docks.LockDocks="&Bloquear paneles" @@ -661,7 +661,7 @@ Basic.Settings.General.WarnBeforeStoppingRecord="Mostrar diálogo de confirmación al detener la grabación" Basic.Settings.General.Projectors="Proyectores" Basic.Settings.General.HideProjectorCursor="Ocultar el cursor sobre proyectores" -Basic.Settings.General.ProjectorAlwaysOnTop="Proyectores siempre en la parte superior" +Basic.Settings.General.ProjectorAlwaysOnTop="Proyectores siempre en primer plano" Basic.Settings.General.Snapping="Ajuste de alineación de la fuente" Basic.Settings.General.ScreenSnapping="Ajustar las fuentes al borde de la pantalla" Basic.Settings.General.CenterSnapping="Ajustar las fuentes al centro horizontal y vertical" @@ -822,7 +822,6 @@ Basic.Settings.Output.SplitFile.TypeManual="Solo dividir manualmente" Basic.Settings.Output.SplitFile.Time="Tiempo de división" Basic.Settings.Output.SplitFile.Size="Tamaño de división" -Basic.Settings.Output.SplitFile.ResetTimestamps="Restablecer marcas de tiempo al principio de cada archivo dividido" Screenshot="Salida de captura de pantalla" Screenshot.SourceHotkey="Captura de pantalla de fuente seleccionada" Screenshot.StudioProgram="Captura de pantalla (Programa)" @@ -1022,6 +1021,9 @@ About.Contribute="Apoya el proyecto OBS" AddUrl.Title="Añadir fuente vía URL" AddUrl.Text="Has arrastrado una URL en OBS. Esto añadirá automáticamente el enlace como fuente. ¿Continuar?" +ResizeOutputSizeOfSource="Redimensionar salida (tamaño de la fuente)" +ResizeOutputSizeOfSource.Text="La resolución base y de salida se redimensionarán al tamaño de la fuente actual." +ResizeOutputSizeOfSource.Continue="¿Quieres continuar?" PreviewTransition="Vista previa de la Transición" Importer="Importador de Colección de Escenas" Importer.SelectCollection="Selecciona una colección de escenas"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/et-EE.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/et-EE.ini
Changed
@@ -415,6 +415,7 @@ Basic.PropertiesWindow="'%1' omadused" Basic.PropertiesWindow.SelectColor="Vali värv" Basic.PropertiesWindow.SelectFont="Vali font" +Basic.PropertiesWindow.ConfirmTitle="Seaded muutusid" Basic.PropertiesWindow.Confirm="On salvestamata muutusi. Kas soovite neid säilitada?" Basic.PropertiesWindow.AddFiles="Lisa failid" Basic.PropertiesWindow.AddDir="Lisa kataloog" @@ -502,7 +503,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Ava sätete kaust" Basic.MainMenu.File.ShowProfileFolder="Ava profiilide kaust" Basic.MainMenu.File.ShowMissingFiles="Kontrolli, kas faile on puudu" -Basic.MainMenu.AlwaysOnTop="&Alati pealmine" Basic.MainMenu.File.Exit="Välju (&X)" Basic.MainMenu.Edit="Muuda (&E)" Basic.MainMenu.Edit.Undo="Võta tagasi (&U)" @@ -531,6 +531,7 @@ Basic.MainMenu.View.SceneTransitions="Stseeni üleminekud (&C)" Basic.MainMenu.View.StatusBar="Olekuriba (&S)" Basic.MainMenu.View.ResetUI="&Lähtesta UI" +Basic.MainMenu.View.AlwaysOnTop="&Alati pealmine" Basic.MainMenu.Docks="&Dokid" Basic.MainMenu.Docks.ResetDocks="&Lähtesta Docks" Basic.MainMenu.Docks.LockDocks="&Lukusta Docks" @@ -571,7 +572,7 @@ Basic.Settings.General.WarnBeforeStoppingRecord="Kinnituse kuvamine salvestuse lõpetamisel" Basic.Settings.General.Projectors="Projektorid" Basic.Settings.General.SpacingHelpers="Näita pikslite joondamisjuhiseid" -Basic.Settings.General.KeepRecordingWhenStreamStops="Jätka salvestamist juhul kui veegedastus peatub" +Basic.Settings.General.KeepRecordingWhenStreamStops="Jätka salvestamist juhul kui voogedastus peatub" Basic.Settings.General.ReplayBufferWhileStreaming="Voogedastuse puhul võta taasesituse puhver automaatselt kasutusele" Basic.Settings.General.KeepReplayBufferStreamStops="Voogedastuse lõppedes jäta taasesituse puhver kasutusele" Basic.Settings.General.SysTray="Süsteemi salve" @@ -629,6 +630,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="Riistvara (AMD, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="Riistvara (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="Riistvara (NVENC, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="Riistvara (NVENC, AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="Riistvara (Apple, H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="Tarkvara (x264 madal CPU kasutus, suurendab faili suurust)" Basic.Settings.Output.Warn.EnforceResolutionFPS.Title="Ühildumatu eraldusvõime/kaadrisagedus" @@ -691,7 +693,6 @@ Basic.Settings.Output.SplitFile.TypeManual="Tükelda ainult käsitsi" Basic.Settings.Output.SplitFile.Time="Tüki aeg" Basic.Settings.Output.SplitFile.Size="Tüki suurus" -Basic.Settings.Output.SplitFile.ResetTimestamps="Ajatemplite lähtestamine iga tükeldatud faili alguses" Screenshot.StudioProgram="Ekraanipilt (Programm)" Screenshot.Preview="Ekraanipilt (Eelvaade)" Screenshot.Scene="Ekraanipilt (Stseen)" @@ -806,6 +807,9 @@ About.Authors="Autorid" About.License="Litsents" About.Contribute="Toetage OBS Projekti" +ResizeOutputSizeOfSource="Väljundi suuruse muutmine (allika suurus)" +ResizeOutputSizeOfSource.Text="Baasi ja väljundi erldusvõimed muutuvad vastavalt praeguse allika suurusele." +ResizeOutputSizeOfSource.Continue="Kas soovid jätkata?" PreviewTransition="Ülemineku eelvaade" Importer.Collection="Stseenide kollektsioon" Importer.HelpText="Lisa sellesse aknasse faile, et importida kollektsioone OBSist või teistest toetatud programmidest." @@ -831,7 +835,7 @@ YouTube.Actions.MadeForKids="Kas see video on mõeldud lastele?*" YouTube.Actions.MadeForKids.Yes="Jah, See on tehtud lastele" YouTube.Actions.MadeForKids.No="Ei, See ei ole tehtud lastele" -YouTube.Actions.AdditionalSettings="Lisaseaded:" +YouTube.Actions.AdditionalSettings="Lisaseaded" YouTube.Actions.Latency="Latsentsus" YouTube.Actions.Latency.Normal="Normaalne" YouTube.Actions.Latency.Low="Madal"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/eu-ES.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/eu-ES.ini
Changed
@@ -79,6 +79,8 @@ None="Gabe" StudioMode.Preview="Aurrebista" StudioMode.Program="Programa" +StudioMode.PreviewSceneName="Aurrebista: %1" +StudioMode.ProgramSceneName="Programa: %1" ShowInMultiview="Erakutsi ikuspegi anitzean" VerticalLayout="Diseinu bertikala" Group="Taldea" @@ -94,10 +96,23 @@ ShowOnStartup="Ireki hasterakoan" OpenFile="Ireki fitxategia" AddValue="Gehitu %1" +AddSource="Iturria gehitu" +RemoveScene="Kendu aukeratutako eszenak" +RemoveSource="Kendu hautatutako iturria(k)" +MoveSceneUp="Mugitu eszena gorantz" +MoveSceneDown="Mugitu eszena beherantz" +MoveSourceUp="Mugitu iturria(k) gorantz" +MoveSourceDown="Mugitu iturria(k) beherantz" +SourceProperties="Kode irekiko propietateak" +SourceFilters="Kode irekiko iragazkiak" +MixerToolbarMenu="Audio nahasgailuaren menua" +PluginsFailedToLoad.Title="Plugin-a kargatzeko errorea" +PluginsFailedToLoad.Text="OBS plugin hauek ezin izan dira kargatu:\n\n%1\nMesedez, eguneratu edo kendu plugin hauek." AlreadyRunning.Title="OBS dagoeneko martxan dago" AlreadyRunning.Text="OBS dagoeneko martxan dago! Bestelakorik nahi ez baduzu Itxi irekita dagoen saioa beste saio bat ireki baino lehen. Ezarri baduzu OBS agertzea minimizatua sistemaren erretiluan begiratu eta oraindik exekutatzen ari den bertan." AlreadyRunning.LaunchAnyway="Abiarazi hala ere" ChromeOS.Title="Euskarririk gabeko plataforma" +ChromeOS.Text="Badirudi OBS ChromeOS edukiontzi baten barruan dabilela. Plataforma hau ez da onartzen." Wine.Title="Wine detektatu da" Wine.Text="OBS Wine-n exekutatzea ez da onartzen, eta, kaptura edo gailuen iturriak bezalako eginbide askok ez dute funtzionatuko edo gaitasun mugatuan bakarrik.<br><br>OBSren jatorrizko bertsioa exekutatzea gomendatzen da, adibidez <a href=' https://flathub.org/apps/details/com.obsproject.Studio'>gure Flatpak bertsioa</a> edo zure sistema eragilearen paketeak." DockCloseWarning.Title="Leiho moldagarria ixten" @@ -218,6 +233,10 @@ Updater.Running.Text="Une honetan irteerak aktibo daude, itzali aktibo dauden irteerak eguneratzen saiatu aurretik" Updater.NoUpdatesAvailable.Title="Ez dago eguneraketarik eskuragarri" Updater.NoUpdatesAvailable.Text="Une honetan ez dago eguneraketarik eskuragarri" +Updater.RepairButUpdatesAvailable.Title="Osotasun-egiaztapena ez dago erabilgarri" +Updater.RepairButUpdatesAvailable.Text="Fitxategien osotasuna egiaztatzea eskuragarri dagoen azken bertsiorako bakarrik da posible. Erabili Laguntza → Egiaztatu eguneratzeak zure OBS instalazioa egiaztatzeko eta eguneratzeko." +Updater.RepairConfirm.Title="Berretsi osotasuna egiaztatzea" +Updater.RepairConfirm.Text="Osotasun egiaztapena abiarazteak zure OBS instalazioa eskaneatu egingo du galeren bila eta hautsitako/aldatutako fitxategiak berriro deskargatuko dira. Baliteke une bat behar izatea.\n\nJarraitu nahi duzu?" Updater.FailedToLaunch="Huts egin du eguneratzailea abiarazten" Updater.GameCaptureActive.Title="Jolasen kaptura aktiboa" Updater.GameCaptureActive.Text="Jolasen kapturaren liburutegia erabiltzen ari da. Itxi kapturatzen ari den jolasa/programa (edo berrabiarazi Windows) eta saiatu berriro." @@ -371,6 +390,21 @@ MissingFiles.AutoSearchText="OBS-ek direktorio honetan falta diren fitxategiekin bat egiten duten osagarriak topatu ditu. Nahi al duzu gehitzea?" MissingFiles.NoMissing.Title="Falta diren fitxategiak egiaztatzea" MissingFiles.NoMissing.Text="Ez dirudi fitxategirik falta denik." +MacPermissions.Title="Berrikusi aplikazioaren baimenak" +MacPermissions.Description="OBS Studio-k zure baimena behar du eginbide batzuk eman ahal izateko. Baimen hauek ematea gomendatzen da, baina ez dira beharrezkoak aplikazioa erabiltzeko. Geroago gaitu ditzakezu beti." +MacPermissions.Description.OpenDialog="Elkarrizketa hau berriro ireki dezakezu OBS Studio menuaren bidez." +MacPermissions.AccessGranted="Sarbidea onartuta" +MacPermissions.RequestAccess="Gunean sartzeko eskaera:" +MacPermissions.OpenPreferences="Zabaldu %1 preferentziak" +MacPermissions.Item.ScreenRecording="Pantaila grabatzea" +MacPermissions.Item.ScreenRecording.Details="OBS-k baimen hau behar du zure pantaila grabatu ahal izateko." +MacPermissions.Item.Camera="Kamera" +MacPermissions.Item.Camera.Details="Baimen hau beharrezkoa da webkamera edo bideo txarteleko edukia hartzeko." +MacPermissions.Item.Microphone="Microfono-a" +MacPermissions.Item.Microphone.Details="OBS-k baimen hau behar du mikrofonoa hartzea nahi baduzu." +MacPermissions.Item.Accessibility="Irisgarritasuna" +MacPermissions.Item.Accessibility.Details="Teklatuko lasterbideek (laster-teklak) erabiltzeko beste aplikazio fokuratuta dauden bitartean funtziona dezaten, gaitu baimen hau." +MacPermissions.Continue="Jarraitu" UpdateAvailable="Eguneraketa eskuragarria" UpdateAvailable.Text="%1.%2.%3 bertsioa eskuragarri dago. <a href='%4'>Klikatu hemen deskargatzeko</a>" Basic.DesktopDevice1="Mahaigaineko audioa" @@ -519,6 +553,7 @@ Basic.Main.StopRecording="Gelditu grabazioa" Basic.Main.PauseRecording="Pausatu grabazioa" Basic.Main.UnpauseRecording="Amaitu grabazioaren pausa" +Basic.Main.SplitFile="Zatitu grabaketa fitxategia" Basic.Main.StoppingRecording="Grabazioa gelditzen..." Basic.Main.StopReplayBuffer="Gelditu erreprodukzio bufferra" Basic.Main.StoppingReplayBuffer="Erreprodukzio bufferra gelditzen..." @@ -536,6 +571,13 @@ Basic.Main.Ungroup="Banatu" Basic.Main.GridMode="Sareta modua" Basic.Main.ListMode="Zerrenda modua" +Basic.Main.VirtualCamConfig="Konfiguratu kamera birtuala" +Basic.VCam.VirtualCamera="Kamera birtuala" +Basic.VCam.OutputType="Irteera mota" +Basic.VCam.OutputSelection="Irteera hautapena" +Basic.VCam.Internal="Barnekoa" +Basic.VCam.InternalDefault="Programaren irteera (lehenetsia)" +Basic.VCam.InternalPreview="Aurreikusi irteera" Basic.MainMenu.File="&Fitxategia" Basic.MainMenu.File.Export="&Esportatu" Basic.MainMenu.File.Import="&Inportatu" @@ -545,7 +587,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Erakutsi ezarpenen karpeta" Basic.MainMenu.File.ShowProfileFolder="Erakutsi profilaren karpeta" Basic.MainMenu.File.ShowMissingFiles="Egiaztatu falta diren fitxategiak" -Basic.MainMenu.AlwaysOnTop="Beti g&ainean" Basic.MainMenu.File.Exit="Irten (&X)" Basic.MainMenu.Edit="&Editatu" Basic.MainMenu.Edit.Undo="Desegin (&U)" @@ -608,6 +649,7 @@ Basic.MainMenu.Help.Logs.UploadLastLog="Igo &Aurreko Log fitxategia" Basic.MainMenu.Help.Logs.ViewCurrentLog="Ikusi uneko egunkari-fitxategia (&V)" Basic.MainMenu.Help.CheckForUpdates="Begiratu eguneraketak" +Basic.MainMenu.Help.Repair="Egiaztatu fitxategiaren osotasuna" Basic.MainMenu.Help.CrashLogs="Matxuren jakinarazpenak (&R)" Basic.MainMenu.Help.CrashLogs.ShowLogs="Erakut&si matxuren jakinarazpenak" Basic.MainMenu.Help.CrashLogs.UploadLastLog="Igo &Aurreko matxura jakinarazpena" @@ -634,6 +676,7 @@ Basic.Settings.General.CenterSnapping="Doitu iturburuak bertikalki eta horizontalki erdira" Basic.Settings.General.SourceSnapping="Doitu iturburuak beste iturburuetara" Basic.Settings.General.SnapDistance="Doitu sentikortasuna" +Basic.Settings.General.SpacingHelpers="Erakutsi pixelen lerrokatze-gidak" Basic.Settings.General.RecordWhenStreaming="Grabatu automatikoki transmisioa egitean" Basic.Settings.General.KeepRecordingWhenStreamStops="Mantendu grabazioa transmisioa gelditzean" Basic.Settings.General.ReplayBufferWhileStreaming="Hasi erreprodukzio bufferra automatikoki transmititzean" @@ -723,6 +766,7 @@ Basic.Settings.Output.Simple.Encoder.Software="Softwarea (x264)" Basic.Settings.Output.Simple.Encoder.Hardware.QSV.H264="Hardware" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="Komposanteak (AMD, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="Hardwarea (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="Komposanteak (NVENC, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="Hardwarea (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="Softwarea (x264 PUZ erabilpen apaleko aurre-ezarpena, fitxategiaren tamaina handitzen du)" @@ -730,6 +774,8 @@ Basic.Settings.Output.Warn.EnforceResolutionFPS.Title="Ebazpen Bateraezina" Basic.Settings.Output.Warn.EnforceResolutionFPS.Msg="Transmisio-zerbitzu honek ez du onartzen zuren uneko bereizmena edota fotograma-emaria. Hauen ordez bateragarria den antzekoena ezarriko da:\n\n%1\n\nJarraitu nahi duzu?" Basic.Settings.Output.Warn.EnforceResolutionFPS.Resolution="Bereizmena: : %1" +Basic.Settings.Output.Warn.ServiceCodecCompatibility.Title="Kodetzaile bateraezina" +Basic.Settings.Output.Warn.ServiceCodecCompatibility.Msg="\"%1\" transmisio zerbitzuak ez du \"%2\" kodetzailea onartzen. Kodetzailea \"%3\"-ra aldatuko da.\n\nJarraitu nahi duzu?" Basic.Settings.Output.VideoBitrate="Bideo bit-emaria" Basic.Settings.Output.AudioBitrate="Audio bit-emaria" Basic.Settings.Output.Reconnect="Automatikoki birkonektatu" @@ -746,6 +792,7 @@ Basic.Settings.Output.Adv.Rescale="Eskala-aldaketaren Irteera" Basic.Settings.Output.Adv.AudioTrack="Audio-pista" Basic.Settings.Output.Adv.Streaming="Transmisioa" +Basic.Settings.Output.Adv.Streaming.Settings="Transmizio ezarpenak" Basic.Settings.Output.Adv.Audio.Track1="1 pista" Basic.Settings.Output.Adv.Audio.Track2="2 pista" Basic.Settings.Output.Adv.Audio.Track3="3 pista" @@ -753,7 +800,9 @@ Basic.Settings.Output.Adv.Audio.Track5="5. pista" Basic.Settings.Output.Adv.Audio.Track6="6. pista" Basic.Settings.Output.Adv.TwitchVodTrack="Twitch VOD pista" +Basic.Settings.Output.Adv.Encoder="Kodeaketaren ezarpenak" Basic.Settings.Output.Adv.Recording="Grabazioa" +Basic.Settings.Output.Adv.Recording.Settings="Grabazioaren ezarpenak" Basic.Settings.Output.Adv.Recording.RecType="Grabaketa mota" Basic.Settings.Output.Adv.Recording.Type="Mota" Basic.Settings.Output.Adv.Recording.Type.Standard="Estandarra" @@ -782,12 +831,13 @@ Basic.Settings.Output.Adv.FFmpeg.MuxerSettings="Bihurtzailearen ezarpenak (egonez gero)" Basic.Settings.Output.Adv.FFmpeg.GOPSize="Gako-fotogramen tartea (fotogramak)" Basic.Settings.Output.Adv.FFmpeg.IgnoreCodecCompat="Erakutsi kodek guztiak (bateragarriak ez balira ere)" +Basic.Settings.Output.Adv.FFmpeg.Settings="FFmpeg ezarpenak" Basic.Settings.Output.EnableSplitFile="Fitxategi banaketa automatikoa" Basic.Settings.Output.SplitFile.TypeTime="Banaketa denboran" Basic.Settings.Output.SplitFile.TypeSize="Banaketa tamainan" +Basic.Settings.Output.SplitFile.TypeManual="Eskuz bakarrik zatitu" Basic.Settings.Output.SplitFile.Time="Denbora banaketa" Basic.Settings.Output.SplitFile.Size="Tamaina banaketa" -Basic.Settings.Output.SplitFile.ResetTimestamps="Berrezarri denbora-zigiluak fitxategi banaketa bakoitzaren hasieran" Screenshot="Pantaila-argazkia irteerari" Screenshot.SourceHotkey="Pantaila-argazkia hautatutako iturburuari" Screenshot.StudioProgram="Pantaila-argazkia (Programa)" @@ -842,6 +892,26 @@ Basic.Settings.Audio.PushToTalkDelay="Sakatu-hitz-egiteko atzerapena" Basic.Settings.Audio.UnknownAudioDevice="Gailua konektatu gabe edo ez dago eskuragarri" Basic.Settings.Audio.Disabled="Desaktibatua" +Basic.Settings.Audio.LowLatencyBufferingMode="Latentzia baxuko audio-buffer modua (Decklink/NDI irteeretarako)" +Basic.Settings.Audio.LowLatencyBufferingWarning.Enabled="OHARRA: latentzia baxuko audio-buffer-a gaituta dago." +Basic.Settings.Audio.LowLatencyBufferingWarning="Latentzia baxuko audio-buffer moduak audioa akatsak edo iturri batzuetatik erreproduzitzeari uztea eragin dezake." +Basic.Settings.Audio.LowLatencyBufferingWarning.Title="Latentzia baxuko audio-buffer modua gaitu?" +Basic.Settings.Audio.LowLatencyBufferingWarning.Confirm="Ziur latentzia baxuko audio-buffer modua gaitu nahi duzula?" +Basic.Settings.Accessibility="Irisgarritasuna" +Basic.Settings.Accessibility.ColorOverrides="Kolore desberdinak erabili" +Basic.Settings.Accessibility.ColorOverrides.SelectRed="Iturburu-ertza (hautapena)" +Basic.Settings.Accessibility.ColorOverrides.SelectGreen="Iturburu-ertza (moztu)" +Basic.Settings.Accessibility.ColorOverrides.SelectBlue="Iturburuaren ertza (gainetik pasa)" +Basic.Settings.Accessibility.ColorOverrides.MixerGreen="Nahasgailuaren bolumen-banda (-60 eta -20 dB)" +Basic.Settings.Accessibility.ColorOverrides.MixerYellow="Nahasgailuaren bolumen-banda (-20 eta -9 dB)" +Basic.Settings.Accessibility.ColorOverrides.MixerRed="Nahasgailuaren bolumen-banda (-9 dB-tik 0dB)" +Basic.Settings.Accessibility.ColorOverrides.MixerGreenActive="Nahasgailuaren bolumen-banda (-60 eta -20 dB) (aktiboa)" +Basic.Settings.Accessibility.ColorOverrides.MixerYellowActive="Nahasgailuaren bolumen-banda (-20 eta -9 dB) (aktiboa)" +Basic.Settings.Accessibility.ColorOverrides.MixerRedActive="Nahasgailuaren bolumen-banda (-9tik 0dBra) (aktiboa)" +Basic.Settings.Accessibility.ColorOverrides.Preset="Kolore aurrez ezarritakoa" +Basic.Settings.Accessibility.ColorOverrides.Preset.Default="Lehenetsia" +Basic.Settings.Accessibility.ColorOverrides.Preset.Custom="Norberea" +Basic.Settings.Accessibility.ColorOverrides.Preset.ColorBlind1="Daltonikoentzako kolore alternatiboa" Basic.Settings.Advanced="Aurreratua" Basic.Settings.Advanced.General.ConfirmOnExit="Erakutsi irteera aktiboen abisua irtetean" Basic.Settings.Advanced.General.ProcessPriority="Prozesuaren lehentasuna" @@ -855,6 +925,11 @@ Basic.Settings.Advanced.FormatWarning2100="Oharra: Rec. 2100 zehaztasun gehiagoko formatu bat erabili beharko luke" Basic.Settings.Advanced.Audio.BufferingTime="Audio bufferratze denbora" Basic.Settings.Advanced.Video.ColorFormat="Kolore formatua" +Basic.Settings.Advanced.Video.ColorFormat.NV12="NV12 (8 bit, 4:2:0, 2 plano)" +Basic.Settings.Advanced.Video.ColorFormat.I420="I420 (8 bit, 4:2:0, 3 plano)" +Basic.Settings.Advanced.Video.ColorFormat.I444="I444 (8 bit, 4:4:4, 3 plano)" +Basic.Settings.Advanced.Video.ColorFormat.P010="P010 (10 bit, 4:2:0, 2 plano)" +Basic.Settings.Advanced.Video.ColorFormat.I010="I010 (10 bit, 4:2:0, 3 plano)" Basic.Settings.Advanced.Video.ColorSpace="Kolore-espazioa" Basic.Settings.Advanced.Video.ColorRange="Kolore tartea" Basic.Settings.Advanced.Video.ColorRange.Partial="Mugatua" @@ -869,6 +944,7 @@ Basic.Settings.Advanced.StreamDelay.Preserve="Mantendu ebaketa puntua (handitu atzerapena) birkonektatzean" Basic.Settings.Advanced.StreamDelay.MemoryUsage="Estimatutako memoria erabilpena: %1 MB" Basic.Settings.Advanced.Network="Sarea" +Basic.Settings.Advanced.Network.Disabled="Une honetan hautatutako transmisio-protokoloak ez du onartzen sarearen ezarpenak aldatzea." Basic.Settings.Advanced.Network.BindToIP="IP bidez lotu" Basic.Settings.Advanced.Network.EnableNewSocketLoop="Gaitu sarearen optimizazioak" Basic.Settings.Advanced.Network.EnableLowLatencyMode="Gaitu TCP erritmoa" @@ -964,6 +1040,9 @@ AddUrl.Title="Gehitu iturburua URL bidez" AddUrl.Text="Arrastatu duzu URL bat OBSra. Honek automatikoki gehituko du esteka hori iturburu moduan. Jarraitu?" AddUrl.Text.Url="URLa: %1" +ResizeOutputSizeOfSource="Aldatu irteeraren tamaina (iturriaren tamaina)" +ResizeOutputSizeOfSource.Text="Oinarrizko eta irteerako bereizmenak uneko iturriaren tamainara aldatuko dira." +ResizeOutputSizeOfSource.Continue="Jarraitu nahi duzu?" PreviewTransition="Aurreikusi trantsizioa" Importer="Eszena-bildumen inportatzailea" Importer.SelectCollection="Hautatu eszena-bilduma" @@ -1010,7 +1089,7 @@ YouTube.Actions.MadeForKids="Bideo hau haurrentzat bereziki sortuta dago?*" YouTube.Actions.MadeForKids.Yes="Bai, haurrentzat da" YouTube.Actions.MadeForKids.No="Ez, ez da haurrentzat" -YouTube.Actions.AdditionalSettings="Ezarpen gehiago:" +YouTube.Actions.AdditionalSettings="Ezarpen gehiago" YouTube.Actions.Latency="Atzerapena" YouTube.Actions.Latency.Normal="Normala" YouTube.Actions.Latency.Low="Baxua"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/fa-IR.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/fa-IR.ini
Changed
@@ -392,6 +392,7 @@ MissingFiles.NoMissing.Text="به نظر می رسد هیچ فایلی گم نشده است." MacPermissions.Title="بررسی مجوزهای برنامه" MacPermissions.Description="OBS Studio برای اینکه بتواند ویژگی های خاصی را ارائه دهد به اجازه شما نیاز دارد. توصیه می شود این مجوزها را فعال کنید، اما برای استفاده از برنامه نیازی به آنها نیست. همیشه می توانید بعداً آنها را فعال کنید." +MacPermissions.Description.OpenDialog="می توانید این گفتگو را از طریق منوی OBS Studio دوباره باز کنید." MacPermissions.AccessGranted="دسترسی ممکن" MacPermissions.RequestAccess="درخواست دسترسی" MacPermissions.OpenPreferences="بازکردن %1 تنظیمات" @@ -572,8 +573,10 @@ Basic.Main.Ungroup="لغو گروه بندی" Basic.Main.GridMode="حالت شبکه" Basic.Main.ListMode="حالت لیست" +Basic.Main.VirtualCamConfig="پیکربندی دوربین مجازی" Basic.VCam.VirtualCamera="دوربین مجازی" Basic.VCam.OutputType="نوع خروجی" +Basic.VCam.OutputSelection="انتخاب خروجی" Basic.VCam.Internal="داخلی" Basic.VCam.InternalDefault="خروجی برنامه (پیش فرض)" Basic.VCam.InternalPreview="پیش نمایش خروجی" @@ -586,7 +589,6 @@ Basic.MainMenu.File.ShowSettingsFolder="نمایش پوشه تنظیمات" Basic.MainMenu.File.ShowProfileFolder="نمایش پوشه نمایه" Basic.MainMenu.File.ShowMissingFiles="بررسی برای فایل های گمشده" -Basic.MainMenu.AlwaysOnTop="&همیشه در بالا" Basic.MainMenu.File.Exit="خروج" Basic.MainMenu.Edit="ویرایش" Basic.MainMenu.Edit.Undo="لغو عمل&" @@ -626,6 +628,7 @@ Basic.MainMenu.View.StatusBar="& نوار وضعیت" Basic.MainMenu.View.Fullscreen.Interface="رابط تمام صفحه" Basic.MainMenu.View.ResetUI="&بازنشانی رابط" +Basic.MainMenu.View.AlwaysOnTop="&همیشه در بالا" Basic.MainMenu.Docks="و بارانداز" Basic.MainMenu.Docks.ResetDocks="&بازنشانی پایهها" Basic.MainMenu.Docks.LockDocks="&قفل کردن اسکله ها" @@ -676,6 +679,7 @@ Basic.Settings.General.CenterSnapping="منابع جفت را به مرکز افقی و عمودی برسانید" Basic.Settings.General.SourceSnapping="منابع را به منابع دیگر منتقل کنید" Basic.Settings.General.SnapDistance="حساسیت ضربه ناگهانی" +Basic.Settings.General.SpacingHelpers="نمایش راهنماهای تراز پیکسل" Basic.Settings.General.RecordWhenStreaming="ضبط خودکار در هنگام پخش زنده" Basic.Settings.General.KeepRecordingWhenStreamStops="هنگام قطع شدن لایو، ضبط را ادامه دهید" Basic.Settings.General.ReplayBufferWhileStreaming="هنگام پخش زنده به طور خودکار بافر پخش را شروع کنید" @@ -767,6 +771,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="سختافزار (AMD, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="سختافزار (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="سختافزار (NVENC, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="سخت افزار (NVENC، AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="سخت افزار (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="سختافزار (Apple, H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="نرم افزار (x264 پریست استفاده از پردازنده کم، اندازه فایل را افزایش می دهد)" @@ -776,6 +781,7 @@ Basic.Settings.Output.Warn.EnforceResolutionFPS.Resolution="رزولوشن: %1" Basic.Settings.Output.Warn.EnforceResolutionFPS.FPS="ف د ث: %1" Basic.Settings.Output.Warn.ServiceCodecCompatibility.Title="رمزگذار ناسازگار" +Basic.Settings.Output.Warn.ServiceCodecCompatibility.Msg="سرویس جریان \"%1\" از رمزگذار \"%2\" پشتیبانی نمی کند. رمزگذار به \"%3\" تغییر خواهد کرد.\n\nآیا می خواهید ادامه دهید؟" Basic.Settings.Output.VideoBitrate="بیت ریت ویدئو" Basic.Settings.Output.AudioBitrate="بیت ریت صدا" Basic.Settings.Output.Reconnect="اتصال دوباره خودکار" @@ -792,6 +798,7 @@ Basic.Settings.Output.Adv.Rescale="خروجی مقیاس مجدد" Basic.Settings.Output.Adv.AudioTrack="تراک صدا" Basic.Settings.Output.Adv.Streaming="پخش زنده" +Basic.Settings.Output.Adv.Streaming.Settings="تنظیمات جریان" Basic.Settings.Output.Adv.Audio.Track1="تراک 1" Basic.Settings.Output.Adv.Audio.Track2="تراک 2" Basic.Settings.Output.Adv.Audio.Track3="تراک 3" @@ -799,7 +806,9 @@ Basic.Settings.Output.Adv.Audio.Track5="تراک 5" Basic.Settings.Output.Adv.Audio.Track6="تراک 6" Basic.Settings.Output.Adv.TwitchVodTrack="تراک VOD توییچ" +Basic.Settings.Output.Adv.Encoder="تنظیمات رمزگذار" Basic.Settings.Output.Adv.Recording="درحال ضبط" +Basic.Settings.Output.Adv.Recording.Settings="تنظیمات ضبط" Basic.Settings.Output.Adv.Recording.RecType="نوع ضبط" Basic.Settings.Output.Adv.Recording.Type="نوع" Basic.Settings.Output.Adv.Recording.Type.Standard="استاندارد" @@ -828,12 +837,13 @@ Basic.Settings.Output.Adv.FFmpeg.MuxerSettings="تنظیمات Muxer (در صورت وجود)" Basic.Settings.Output.Adv.FFmpeg.GOPSize="فاصله صفحه کلید (فریم)" Basic.Settings.Output.Adv.FFmpeg.IgnoreCodecCompat="نمایش همه کدک ها (حتی اگر بالقوه ناسازگار باشد)" +Basic.Settings.Output.Adv.FFmpeg.Settings="تنظیمات FFmpeg" Basic.Settings.Output.EnableSplitFile="تقسیم خودکار فایل ها" Basic.Settings.Output.SplitFile.TypeTime="تقسیم بر اساس زمان" Basic.Settings.Output.SplitFile.TypeSize="تقسیم بر اندازه" +Basic.Settings.Output.SplitFile.TypeManual="فقط به صورت دستی تقسیم شود" Basic.Settings.Output.SplitFile.Time="زمان بندی" Basic.Settings.Output.SplitFile.Size="اندازه تقسیم" -Basic.Settings.Output.SplitFile.ResetTimestamps="بازنشانی مُهرهای زمانی در ابتدای هر فایل تقسیم شده" Screenshot="خروجی عکس صفحه" Screenshot.SourceHotkey="تصویر صفحه منبع انتخاب شده" Screenshot.StudioProgram="عکس صفحه (برنامه)" @@ -889,7 +899,26 @@ Basic.Settings.Audio.PushToTalkDelay="تأخیر فشار دادن برای مکالمه" Basic.Settings.Audio.UnknownAudioDevice="دستگاه متصل نیست یا در دسترس نیست" Basic.Settings.Audio.Disabled="غیر فعال" +Basic.Settings.Audio.LowLatencyBufferingMode="حالت بافر صوتی با تاخیر کم (برای خروجی های Decklink/NDI)" +Basic.Settings.Audio.LowLatencyBufferingWarning.Enabled="هشدار: بافر صوتی با تاخیر کم فعال است." +Basic.Settings.Audio.LowLatencyBufferingWarning="حالت بافر صوتی با تأخیر کم ممکن است باعث اختلال در صدا یا توقف پخش صدا از برخی منابع شود." +Basic.Settings.Audio.LowLatencyBufferingWarning.Title="حالت بافر صوتی با تاخیر کم فعال شود؟" +Basic.Settings.Audio.LowLatencyBufferingWarning.Confirm="آیا مطمئن هستید که می خواهید حالت بافر صوتی با تاخیر کم را فعال کنید؟" Basic.Settings.Accessibility="قابلیت دسترسی" +Basic.Settings.Accessibility.ColorOverrides="استفاده از رنگ های مختلف" +Basic.Settings.Accessibility.ColorOverrides.SelectRed="مرز منبع (انتخاب)" +Basic.Settings.Accessibility.ColorOverrides.SelectGreen="حاشیه منبع (برش)" +Basic.Settings.Accessibility.ColorOverrides.SelectBlue="مرز منبع (شناور)" +Basic.Settings.Accessibility.ColorOverrides.MixerGreen="باند ترکیب صدا (60- تا -20 دسی بل)" +Basic.Settings.Accessibility.ColorOverrides.MixerYellow="باند ترکیب صدا (-20 تا -9 دسی بل)" +Basic.Settings.Accessibility.ColorOverrides.MixerRed="باند ترکیب صدا (-9 تا 0- دسی بل)" +Basic.Settings.Accessibility.ColorOverrides.MixerGreenActive="باند ولوم میکسر (60- تا -20 دسی بل) (فعال)" +Basic.Settings.Accessibility.ColorOverrides.MixerYellowActive="باند ترکیب صدا (-20 تا -9 دسی بل) (فعال)" +Basic.Settings.Accessibility.ColorOverrides.MixerRedActive="باند ترکیب صدا (-9 تا 0- دسی بل) (فعال)" +Basic.Settings.Accessibility.ColorOverrides.Preset="رنگ پیش تنظیم" +Basic.Settings.Accessibility.ColorOverrides.Preset.Default="پیشفرض" +Basic.Settings.Accessibility.ColorOverrides.Preset.Custom="سفارشی" +Basic.Settings.Accessibility.ColorOverrides.Preset.ColorBlind1="جایگزین کور رنگی" Basic.Settings.Advanced="پیشرفته" Basic.Settings.Advanced.General.ConfirmOnExit="نمایش هشدار خروجیهای فعّال هنگام خروج" Basic.Settings.Advanced.General.ProcessPriority="اولویت پردازش" @@ -922,6 +951,7 @@ Basic.Settings.Advanced.StreamDelay.Preserve="هنگام اتصال مجدد ، نقطه قطع (افزایش تاخیر) را حفظ کنید" Basic.Settings.Advanced.StreamDelay.MemoryUsage="میزان استفاده تقریبی حافظه: %1 مگابایت" Basic.Settings.Advanced.Network="شبکه" +Basic.Settings.Advanced.Network.Disabled="پروتکل پخش جریانی انتخاب شده فعلی از تغییر تنظیمات شبکه پشتیبانی نمی کند." Basic.Settings.Advanced.Network.BindToIP="اتصال به IP" Basic.Settings.Advanced.Network.EnableNewSocketLoop="بهینه سازی شبکه را فعال کنید" Basic.Settings.Advanced.Network.EnableLowLatencyMode="قدم زدن TCP را فعال کنید" @@ -1020,6 +1050,9 @@ AddUrl.Title="منبع را از طریق نشانی اضافه کنید" AddUrl.Text="شما یک نشانی را به OBS کشیده اید. با این کار پیوند بطور خودکار به عنوان منبع اضافه می شود. ادامه هید؟" AddUrl.Text.Url="نشانی: %1" +ResizeOutputSizeOfSource="تغییر اندازه خروجی (اندازه منبع)" +ResizeOutputSizeOfSource.Text="رزولوشن های پایه و خروجی به اندازه منبع فعلی تغییر اندازه می دهند." +ResizeOutputSizeOfSource.Continue="آیا مایلید ادامه دهید؟" PreviewTransition="پیش نمایش انتقال" Importer="وارد کننده مجموعه صحنه" Importer.SelectCollection="مجموعه صحنه را انتخاب کنید" @@ -1067,7 +1100,7 @@ YouTube.Actions.MadeForKids="آیا این ویدیو برای کودکان ساخته شده است؟*" YouTube.Actions.MadeForKids.Yes="بله ، برای بچه ها ساخته شده است" YouTube.Actions.MadeForKids.No="نه ، برای بچه ها ساخته نشده است" -YouTube.Actions.AdditionalSettings="تنظیمات اضافی:" +YouTube.Actions.AdditionalSettings="تنظیمات اضافی" YouTube.Actions.Latency="تأخیر" YouTube.Actions.Latency.Normal="معمولی" YouTube.Actions.Latency.Low="کم"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/fi-FI.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/fi-FI.ini
Changed
@@ -543,7 +543,7 @@ Basic.Main.StartBroadcast="Aloita suora lähetys" Basic.Main.StartVirtualCam="Käynnistä virtuaalinen kamera" Basic.Main.StopRecording="Pysäytä tallennus" -Basic.Main.PauseRecording="Pysäytä tallennus" +Basic.Main.PauseRecording="Keskeytä tallennus" Basic.Main.UnpauseRecording="Jatka tallennusta" Basic.Main.SplitFile="Pilko tallennettu tiedosto" Basic.Main.StoppingRecording="Pysäytetään tallennusta..." @@ -579,7 +579,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Avaa asetuskansio" Basic.MainMenu.File.ShowProfileFolder="Avaa profiilikansio" Basic.MainMenu.File.ShowMissingFiles="Tarkista puuttuvat tiedostot" -Basic.MainMenu.AlwaysOnTop="&Aina päällimmäisenä" Basic.MainMenu.File.Exit="&Sulje" Basic.MainMenu.Edit="&Muokkaa" Basic.MainMenu.Edit.Undo="K&umoa" @@ -619,6 +618,7 @@ Basic.MainMenu.View.StatusBar="Ti&lapalkki" Basic.MainMenu.View.Fullscreen.Interface="Koko näytön käyttöliittymä" Basic.MainMenu.View.ResetUI="&Palauta käyttöliittymä" +Basic.MainMenu.View.AlwaysOnTop="Aina &päällimmäisenä" Basic.MainMenu.Docks="&Telakat" Basic.MainMenu.Docks.ResetDocks="&Palauta telakat" Basic.MainMenu.Docks.LockDocks="&Lukitse telakat" @@ -761,6 +761,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="Laitteisto (AMD, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="Laitteisto (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="Laitteisto (NVENC, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="Laitteisto (NVENC, AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="Laitteisto (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="Laitteisto (Apple, H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="Ohjelmistopohjainen (x264 matala CPU-käyttö, lisää tiedostokokoa)" @@ -832,7 +833,6 @@ Basic.Settings.Output.SplitFile.TypeManual="Pilkotaan vain manuaalisesti" Basic.Settings.Output.SplitFile.Time="Monista aika" Basic.Settings.Output.SplitFile.Size="Monista koko" -Basic.Settings.Output.SplitFile.ResetTimestamps="Nollaa aikaleimat jokaisen monistetun tiedoston alussa" Screenshot="Näyttökuva ulostulosta" Screenshot.SourceHotkey="Näyttökuva valitusta lähteestä" Screenshot.StudioProgram="Näyttökuva (Ohjelma)" @@ -1016,6 +1016,9 @@ About.Contribute="Tue OBS-projektia" AddUrl.Title="Lisää lähde URL-osoitteesta" AddUrl.Text="Olet raahannut URL-osoitteen OBS-ohjelmistoon. Haluatko lisätä URL-osoitteen lähteeksi?" +ResizeOutputSizeOfSource="Muuta ulostulon koko (lähteen kokoon)" +ResizeOutputSizeOfSource.Text="Pohja- ja ulostuloresoluutio muutetaan nykyisen lähteen kokoon." +ResizeOutputSizeOfSource.Continue="Haluatko jatkaa?" PreviewTransition="Esikatsele siirtymä" Importer="Näkymäkokoelman tuonti" Importer.SelectCollection="Valitse skene-kokoelma" @@ -1063,7 +1066,7 @@ YouTube.Actions.MadeForKids="Onko tämä video tehty lapsille?*" YouTube.Actions.MadeForKids.Yes="Kyllä, se on tehty lapsille" YouTube.Actions.MadeForKids.No="Ei, se ei ole tehty lapsille" -YouTube.Actions.AdditionalSettings="Lisäasetukset:" +YouTube.Actions.AdditionalSettings="Lisäasetukset" YouTube.Actions.Latency="Viive" YouTube.Actions.Latency.Normal="Normaali" YouTube.Actions.Latency.Low="Matala"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/fil-PH.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/fil-PH.ini
Changed
@@ -494,7 +494,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Ipakita ang Folder ng Mga Setting" Basic.MainMenu.File.ShowProfileFolder="Ipakita ang Folder ng Profile" Basic.MainMenu.File.ShowMissingFiles="I-check para sa nawawalang mga files" -Basic.MainMenu.AlwaysOnTop="L&aging Nasa Tuktok" Basic.MainMenu.Edit="I-&edit" Basic.MainMenu.Edit.Undo="Pawalang-bisa (&U)" Basic.MainMenu.Edit.Redo="Mag-&redo" @@ -830,7 +829,6 @@ YouTube.Actions.MadeForKids="Para ba sa mga bata ang bidyo na ito?*" YouTube.Actions.MadeForKids.Yes="Oo, para sa mga bata" YouTube.Actions.MadeForKids.No="Hindi para sa mga bata ito" -YouTube.Actions.AdditionalSettings="Karagdagang kaayusan:" YouTube.Actions.Latency="Pagkakahuli" YouTube.Actions.Latency.Low="Mababa" YouTube.Actions.Latency.UltraLow="Napakababa"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/fr-FR.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/fr-FR.ini
Changed
@@ -570,7 +570,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Afficher le dossier des paramètres" Basic.MainMenu.File.ShowProfileFolder="Afficher le dossier du profil" Basic.MainMenu.File.ShowMissingFiles="Vérifier les fichiers manquants" -Basic.MainMenu.AlwaysOnTop="Toujours &au-dessus" Basic.MainMenu.File.Exit="Quitter (&X)" Basic.MainMenu.Edit="&Editer" Basic.MainMenu.Edit.Undo="Ann&uler" @@ -609,6 +608,7 @@ Basic.MainMenu.View.StatusBar="Barre d'état (&S)" Basic.MainMenu.View.Fullscreen.Interface="Interface plein écran" Basic.MainMenu.View.ResetUI="&Réinitialiser l'interface" +Basic.MainMenu.View.AlwaysOnTop="&Toujours au premier plan" Basic.MainMenu.Docks.ResetDocks="&Réinitialiser les Docks" Basic.MainMenu.Docks.LockDocks="Verrouiller les Docks" Basic.MainMenu.Docks.CustomBrowserDocks="&Docks Internet personnalisés..." @@ -748,6 +748,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="Matériel (AMD, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="Matériel (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="Matériel (NVENC, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="Matériel (NVENC, AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="Matériel (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="Matériel (Apple, H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="Logiciel (pré-réglage x264 \"faible utilisation du CPU\", augmente la taille du fichier)" @@ -817,7 +818,6 @@ Basic.Settings.Output.SplitFile.TypeManual="Ne fractionner que manuellement" Basic.Settings.Output.SplitFile.Time="Durée de la fraction" Basic.Settings.Output.SplitFile.Size="Taille du fractionnement" -Basic.Settings.Output.SplitFile.ResetTimestamps="Réinitialiser les horodatages au début de chaque fichier fractionné" Screenshot="Capture d'écran de la sortie" Screenshot.SourceHotkey="Capture d'écran de la source sélectionnée" Screenshot.StudioProgram="Capture d'écran (programme)" @@ -1015,6 +1015,9 @@ AddUrl.Title="Ajouter une source via une URL" AddUrl.Text="Vous avez glissé une URL dans OBS. Cela va automatiquement ajouter le lien comme une source. Continuer ?" AddUrl.Text.Url="URL : %1" +ResizeOutputSizeOfSource="Redimensionner la sortie (taille de la source)" +ResizeOutputSizeOfSource.Text="Les résolutions de la base et de la sortie seront redimensionnées à la taille de la source actuelle." +ResizeOutputSizeOfSource.Continue="Voulez-vous continuer ?" PreviewTransition="Prévisualiser la transition" Importer="Importateur de Collections de Scènes" Importer.SelectCollection="Choisissez une Collection de Scènes" @@ -1061,7 +1064,7 @@ YouTube.Actions.MadeForKids="Cette vidéo convient-elle pour les enfants ?*" YouTube.Actions.MadeForKids.Yes="Oui, elle convient aux enfants" YouTube.Actions.MadeForKids.No="Non, elle ne convient pas pour les enfants" -YouTube.Actions.AdditionalSettings="Paramètres supplémentaires :" +YouTube.Actions.AdditionalSettings="Paramètres supplémentaires" YouTube.Actions.Latency="Latence" YouTube.Actions.Latency.Normal="Normale" YouTube.Actions.Latency.Low="Faible"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/gd-GB.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/gd-GB.ini
Changed
@@ -522,7 +522,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Seall pasgan nan roghainnean" Basic.MainMenu.File.ShowProfileFolder="Seall pasgan na pròifil" Basic.MainMenu.File.ShowMissingFiles="Thoir sùil airson faidhlichean a tha a dhìth" -Basic.MainMenu.AlwaysOnTop="&Air uachdar an-còmhnaidh" Basic.MainMenu.File.Exit="Fàg an-seo (&X)" Basic.MainMenu.Edit="D&easaich" Basic.MainMenu.Edit.Undo="Neo-dhèan (&U)" @@ -937,7 +936,6 @@ YouTube.Actions.MadeForKids="A bheil a’ video seo ag amas air a’ chlann?*" YouTube.Actions.MadeForKids.Yes="Tha, tha e ag amas air a’ chlann" YouTube.Actions.MadeForKids.No="Chan eil e ag amas air a’ chlann" -YouTube.Actions.AdditionalSettings="Roghainnean a bharrachd:" YouTube.Actions.Latency="Foillidheachd" YouTube.Actions.Latency.Normal="Àbhaisteach" YouTube.Actions.Latency.Low="Ìosal"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/gl-ES.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/gl-ES.ini
Changed
@@ -494,7 +494,6 @@ Basic.MainMenu.File.Settings="Axu&stes" Basic.MainMenu.File.ShowSettingsFolder="Amosar o cartafol dos axustes" Basic.MainMenu.File.ShowProfileFolder="Amosar o cartafol do perfil" -Basic.MainMenu.AlwaysOnTop="Sempre enriba" Basic.MainMenu.File.Exit="Saír (&X)" Basic.MainMenu.Edit="&Editar" Basic.MainMenu.Edit.Undo="Desfacer (&U)" @@ -915,7 +914,6 @@ YouTube.Actions.MadeForKids="Este vídeo está feito para nenos?" YouTube.Actions.MadeForKids.Yes="Si, está feito para nenos" YouTube.Actions.MadeForKids.No="Non, non está feito para nenos" -YouTube.Actions.AdditionalSettings="Configuración adicional:" YouTube.Actions.Latency="Latencia" YouTube.Actions.Latency.Low="Baixa" YouTube.Actions.Latency.UltraLow="Moi baixo"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/he-IL.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/he-IL.ini
Changed
@@ -590,7 +590,6 @@ Basic.MainMenu.File.ShowSettingsFolder="הצגת תיקיית ההגדרות" Basic.MainMenu.File.ShowProfileFolder="הצגת תיקיית פרופילים" Basic.MainMenu.File.ShowMissingFiles="איתור קבצים חסרים" -Basic.MainMenu.AlwaysOnTop="תמיד &עליון" Basic.MainMenu.File.Exit="י&ציאה" Basic.MainMenu.Edit="&עריכה" Basic.MainMenu.Edit.Undo="&ביטול" @@ -630,6 +629,7 @@ Basic.MainMenu.View.StatusBar="&שורת מצב" Basic.MainMenu.View.Fullscreen.Interface="ממשק מסך מלא" Basic.MainMenu.View.ResetUI="אי&פוס הממשק" +Basic.MainMenu.View.AlwaysOnTop="תמיד &עליון" Basic.MainMenu.Docks="חלונות נ&צמדים" Basic.MainMenu.Docks.ResetDocks="אי&פוס החלון הנצמד" Basic.MainMenu.Docks.LockDocks="נ&עילת החלונות הנצמדים" @@ -772,6 +772,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="חומרה (AMD, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="חומרה (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="חומרה (NVENC, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="חומרה (NVENC, AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="חומרה (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="חומרה (Apple, H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="תוכנה (x 264 השימוש בהגדרת מעבד נמוך, גודל הקובץ גדל)" @@ -844,7 +845,6 @@ Basic.Settings.Output.SplitFile.TypeManual="פיצול ידני בלבד" Basic.Settings.Output.SplitFile.Time="פיצול זמן" Basic.Settings.Output.SplitFile.Size="פיצול גודל" -Basic.Settings.Output.SplitFile.ResetTimestamps="איפוס חותמות הזמן לתחילת כל קובץ מפוצל" Screenshot="פלט צילום מסך" Screenshot.SourceHotkey="צילום מסך של המקור הנבחר" Screenshot.StudioProgram="צילום מסך (תכנה)" @@ -1050,6 +1050,9 @@ AddUrl.Title="הוספת מקור דרך כתובת" AddUrl.Text="גררת כתובת לתוך OBS. זה יוסיף אוטומטית את הקישור כמקור. להמשיך?" AddUrl.Text.Url="כתובת: %1" +ResizeOutputSizeOfSource="שינוי גודל פלט (גודל מקור)" +ResizeOutputSizeOfSource.Text="גודל רזולוציות הפלט והבסיס ישתנה לגודל המקור הנוכחי." +ResizeOutputSizeOfSource.Continue="להמשיך?" PreviewTransition="תצוגה מקדימה של המעבר" Importer="יבואן אוספי סצינות" Importer.SelectCollection="בחירת אוסף סצנות" @@ -1097,7 +1100,7 @@ YouTube.Actions.MadeForKids="האם הסרטון הזה מיועד לילדים?*" YouTube.Actions.MadeForKids.Yes="כן, הוא מיועד לילדים" YouTube.Actions.MadeForKids.No="לא, הוא לא מיועד לילדים" -YouTube.Actions.AdditionalSettings="הגדרות נוספות:" +YouTube.Actions.AdditionalSettings="הגדרות נוספות" YouTube.Actions.Latency="זמן שיהוי (Latency)" YouTube.Actions.Latency.Normal="רגיל" YouTube.Actions.Latency.Low="נמוך"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/hi-IN.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/hi-IN.ini
Changed
@@ -1,11 +1,11 @@ Language="हिन्दी" -OK="ठीक है" +OK="ठीक" Apply="लागू करें" Cancel="रद्द करें" Close="बंद करें" Save="सहेजें" Discard="छोड़ें" -Disable="अक्षम" +Disable="निष्क्रिय" Yes="हाँ" No="नहीं" Add="जोड़ें" @@ -584,7 +584,6 @@ Basic.MainMenu.File.ShowSettingsFolder="सेटिंग्स फोल्डर दिखाएं" Basic.MainMenu.File.ShowProfileFolder="प्रोफ़ाइल फोल्डर दिखाएं" Basic.MainMenu.File.ShowMissingFiles="अनुपलब्ध फाइलों की जाँच करें" -Basic.MainMenu.AlwaysOnTop="हमेशा सबसे ऊपर (&A)" Basic.MainMenu.File.Exit="प्रस्थान (&x)" Basic.MainMenu.Edit="संपादित करें" Basic.MainMenu.Edit.Undo="पूर्ववत करें (&U)" @@ -624,6 +623,7 @@ Basic.MainMenu.View.StatusBar="स्टेटस बार (&S)" Basic.MainMenu.View.Fullscreen.Interface="फ़ुलस्क्रीन इंटरफ़ेस" Basic.MainMenu.View.ResetUI="UI &रीसेट करें" +Basic.MainMenu.View.AlwaysOnTop="हरदम ऊपर (&A)" Basic.MainMenu.Docks="&डॉक्स" Basic.MainMenu.Docks.ResetDocks="डॉक्स &रीसेट करें" Basic.MainMenu.Docks.LockDocks="डॉक्स &लॉक करें" @@ -766,6 +766,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="हार्डवेयर (AMD, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="हार्डवेयर (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="हार्डवेयर (NVENC, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="हार्डवेयर (NVENC, AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="हार्डवेयर (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="हार्डवेयर (Apple, H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="सॉफ़्टवेयर (x264 कम CPU उपयोग प्रीसेट, फ़ाइल का आकार बढ़ाता है)" @@ -837,7 +838,6 @@ Basic.Settings.Output.SplitFile.TypeManual="केवल मैन्युअल रूप से विभाजित करें" Basic.Settings.Output.SplitFile.Time="विभाजन समय" Basic.Settings.Output.SplitFile.Size="विभाजित आकार" -Basic.Settings.Output.SplitFile.ResetTimestamps="प्रत्येक विभाजित फ़ाइल के प्रारंभ में टाइमस्टैम्प रीसेट करें" Screenshot="स्क्रीनशॉट आउटपुट" Screenshot.SourceHotkey="चयनित स्रोत का स्क्रीनशॉट निकालें" Screenshot.StudioProgram="स्क्रीनशॉट (प्रोग्राम)" @@ -1041,6 +1041,9 @@ About.Contribute="OBS प्रोजेक्ट का समर्थन करें" AddUrl.Title="URL के माध्यम से स्रोत जोड़ें" AddUrl.Text="आपने एक URL को OBS में खींच लिया है. यह स्वचालित रूप से लिंक को एक स्रोत के रूप में जोड़ देगा. आगे चलें?" +ResizeOutputSizeOfSource="आउटपुट का आकार बदलें (स्रोत का आकार)" +ResizeOutputSizeOfSource.Text="मूल और आउटपुट रिज़ॉल्यूशन को वर्तमान स्रोत के आकार में बदल दिया जाएगा." +ResizeOutputSizeOfSource.Continue="क्या आप आगे बढ़ना चाहते हैं?" PreviewTransition="संक्रांति पूर्व दर्शन" Importer="दृश्य संग्रह आयातक" Importer.SelectCollection="एक दृश्य संग्रह चुनें" @@ -1088,7 +1091,7 @@ YouTube.Actions.MadeForKids="क्या यह वीडियो बच्चों के लिए बनाया गया है?*" YouTube.Actions.MadeForKids.Yes="हाँ, यह बच्चों के लिए बना है" YouTube.Actions.MadeForKids.No="नहीं, यह बच्चों के लायक नहीं है" -YouTube.Actions.AdditionalSettings="अतिरिक्त सेटिंग्स :" +YouTube.Actions.AdditionalSettings="अतिरिक्त सेटिंग" YouTube.Actions.Latency="विलंबता" YouTube.Actions.Latency.Normal="सामान्य" YouTube.Actions.Latency.Low="निम्न"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/hr-HR.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/hr-HR.ini
Changed
@@ -69,12 +69,15 @@ Next="Dalje" Back="Natrag" Defaults="Zadano" +RestoreDefaults="Zadano" HideMixer="Sakrij u Mikser" TransitionOverride="Nadjačaj prijelaz" ShowTransition="Prikaži prijelaz" HideTransition="Sakrij prijelaz" None="Nijedno" StudioMode.Preview="Pregled" +StudioMode.PreviewSceneName="Pregled: %1" +StudioMode.ProgramSceneName="Program %1" ShowInMultiview="Prikaži u Višestrukom prikazu" VerticalLayout="Okomiti raspored" Group="Grupa" @@ -90,21 +93,52 @@ ShowOnStartup="Prikaži pri pokretanju" OpenFile="Otvori datoteku" AddValue="Dodaj %1" +AddSource="Dodaj izvor" +RemoveScene="Ukloni odabranu scenu" +RemoveSource="Uklonite odabrane izvore" +MoveSceneUp="Pomakni scenu gore" +MoveSceneDown="Pomakni scenu dolje" +MoveSourceUp="Pomakni izvore gore" +MoveSourceDown="Pomakni izvore dolje" +SourceProperties="Svojstva otvoreni izvore" +SourceFilters="Filtri otvorenog izvora" +MixerToolbarMenu="Audio mikser jelovnik" +PluginsFailedToLoad.Title="Greška u učitavanju plugin" +PluginsFailedToLoad.Text="Naredni OBS plugins nisu uspjelo utvarati:\n\n%1\nMolim vas ažuriranje ili sklanjajte ovi plugins." AlreadyRunning.Title="OBS je već pokrenut" AlreadyRunning.Text="OBS je već pokrenut! Osim ako to niste namjeravali učiniti, isključite sve postojeće OBS instance prije nego što pokušate pokrenuti novu instancu. Ako imate OBS postavljen na minimiziraj u traku sustava, provjerite radi li još uvijek tamo." AlreadyRunning.LaunchAnyway="Svejedno pokreni" ChromeOS.Title="Nepodržana platforma" +ChromeOS.Text="OBS čini se trčanje unutar ChromeOS spremnika. Ova platforma je bez podrške." +Wine.Title="Wine otkriveno" +Wine.Text="Pokretanje OBS u Wine nije podržano i mnoge značajke poput unosa ili izvora uređaja ne rade ili rade s ograničenim kapacitetom.<br><br>Umjesto toga preporučuje se pokrenuti domaću verziju OBS, na primjer <a href='https://flathub.org/apps/details/com.obsproject.Studio'>naš Flatpak verzija</a> ili vaše operacijski sustav paketa" DockCloseWarning.Title="Zatvaranje usidrenog prozora" DockCloseWarning.Text="Opravo ste zatvorili usidreni prozor. Ukoliko ga želite ponovno prikazati, otvorite izbornik Sidrišta u traci izbornika." ExtraBrowsers="Prilagođena sidrišta za preglednik" +ExtraBrowsers.Info="Dodajte dokove dajući im ime i URL, onda kliknite Apply ili Close da možete otvarati dokove. Možete dodati ili ukloniti dokove u bilo koje vrijeme." +ExtraBrowsers.DockName="Naziv doka" Auth.Authing.Title="Autentikacija..." Auth.Authing.Text="Autentikacija na %1, molimo pričekajte..." Auth.AuthFailure.Title="Greška kod autentikacije" Auth.AuthFailure.Text="Greška autentikacije s %1:\n\n%2: %3" Auth.InvalidScope.Title="Potrebna autentikacija" +Auth.InvalidScope.Text="Uvjeti autentičnost za %1 su se promijenili. Neke značajke možda neće biti dostupne." +Auth.LoadingChannel.Title="Učitavam informacije o kanalu..." +Auth.LoadingChannel.Text="Učitavanje informacija kanala za %1, molim vaš čekajte..." +Auth.LoadingChannel.Error="Nije mogao dobiti informacije o kanalu." +Auth.ChannelFailure.Title="Nije mogao učitao kanal." +Auth.ChannelFailure.Text="Nije uspio učitavanje informacija o kanalu za %1\n\n%2: %3" +Auth.Chat="Ćaskanje" +Auth.StreamInfo="Informacije o stream" +TwitchAuth.Stats="Twitch statistike" +TwitchAuth.Feed="Aktivnost od Twitch feed" +TwitchAuth.TwoFactorFail.Title="Nije mogao upisati ključ stream" TwitchAuth.TwoFactorFail.Text="OBS se nije uspio povezati s vašim Twitch računom. Provjerite je li u <a href='https://www.twitch.tv/settings/security'>sigurnosnim postavkama vašeg Twitch računa</a> uključena provjera identiteta u dva koraka." +RestreamAuth.Channels="Restream-kanali" Copy.Filters="Kopiraj filtere" Paste.Filters="Zalijepi filtere" +BrowserPanelInit.Title="Inicijalizacija Browser..." +BrowserPanelInit.Text="Inicijalizacija Browser, molim pričekajte..." BandwidthTest.Region="Regija" BandwidthTest.Region.US="Sjedinjene Američke Države" BandwidthTest.Region.EU="Europa" @@ -116,6 +150,7 @@ Basic.AutoConfig.StartPage.SubTitle="Navedite što želite da koristite program za" Basic.AutoConfig.StartPage.PrioritizeStreaming="Optimiziraj za streaming, snimanje je drugo" Basic.AutoConfig.StartPage.PrioritizeRecording="Optimiziraj samo za snimanje, neću prenositi uživo" +Basic.AutoConfig.StartPage.PrioritizeVirtualCam="Ja samo ću koristit virtualnu kameru" Basic.AutoConfig.VideoPage="Video postavke" Basic.AutoConfig.VideoPage.SubTitle="Navedite željene postavke videozapisa koje želite koristiti" Basic.AutoConfig.VideoPage.BaseResolution.UseCurrent="Koristi trenutačnu (%1 × %2)" @@ -123,12 +158,28 @@ Basic.AutoConfig.VideoPage.FPS.UseCurrent="Koristi trenutačnu (%1)" Basic.AutoConfig.VideoPage.FPS.PreferHighFPS="60 ili 30, ali radije 60 kada je to moguće" Basic.AutoConfig.VideoPage.FPS.PreferHighRes="60 ili 30, ali radije visoke rezolucije" +Basic.AutoConfig.VideoPage.CanvasExplanation="Pažnja: Rezolucija platna (baze) nije nužno ista kao rezolucija kojom ćete prosljeđivati ili snimati. Vaš stvarni tok / snimanje rezolucija može biti smanjena od platna rezolucije smanjiti korištenje resursa ili bitrate zahtjeve." +Basic.AutoConfig.StreamPage="Informacije o stream" +Basic.AutoConfig.StreamPage.SubTitle="Molim vas, unesite svoje Informacije o stream" +Basic.AutoConfig.StreamPage.ConnectAccount="Poveži Account (preporučeno)" +Basic.AutoConfig.StreamPage.DisconnectAccount="Isključite Account" +Basic.AutoConfig.StreamPage.DisconnectAccount.Confirm.Title="Isključite Account?" +Basic.AutoConfig.StreamPage.DisconnectAccount.Confirm.Text="Ova promjena će se primijeniti odmah. Jeste li sigurni da želite isključiti tvoj Account?" +Basic.AutoConfig.StreamPage.GetStreamKey="Uzmi ključ za Stream" Basic.AutoConfig.StreamPage.MoreInfo="Više informacija" +Basic.AutoConfig.StreamPage.UseStreamKey="Upotrijebi svoj Stream ključ" +Basic.AutoConfig.StreamPage.UseStreamKeyAdvanced="Upotrijebi svoj Stream ključ (Napredno)" Basic.AutoConfig.StreamPage.Service="Usluga" Basic.AutoConfig.StreamPage.Service.ShowAll="Prikaži sve..." Basic.AutoConfig.StreamPage.Service.Custom="Prilagođeno..." Basic.AutoConfig.StreamPage.StreamKey="Stream ključ" Basic.AutoConfig.StreamPage.StreamKey.LinkToSite="(Poveznica)" +Basic.AutoConfig.StreamPage.EncoderKey="Encoder ključ" +Basic.AutoConfig.StreamPage.ConnectedAccount="Poveži Account" +Basic.AutoConfig.StreamPage.PerformBandwidthTest="Procijenite brzinu prijenosa sa testom propusnosti (može potrajati nekoliko minuta)" +Basic.AutoConfig.StreamPage.PreferHardwareEncoding="Više volim hardversko kodiranje" +Basic.AutoConfig.StreamPage.PreferHardwareEncoding.ToolTip="Hardversko kodiranje eliminira većinu upotrebe CPU, ali može zahtijevati veću brzinu prijenosa za postizanje iste razine kvalitete." +Basic.AutoConfig.StreamPage.StreamWarning.Title="Stream upozorenje" Basic.AutoConfig.TestPage="Završni rezultat" Basic.AutoConfig.TestPage.SubTitle.Complete="Testiranje završeno" Basic.AutoConfig.TestPage.TestingBandwidth.Connecting="Povezivanje na: %1..." @@ -206,6 +257,7 @@ Output.BadPath.Title="Neispravna putanja datoteke" LogReturnDialog="Slanje zapisnika uspješno" LogReturnDialog.CopyURL="Kopiraj URL" +LogReturnDialog.AnalyzeURL="Analiziraj" LogReturnDialog.ErrorUploadingLog="Greška u slanju zapisnika" Remux.SourceFile="OBS-snimak" Remux.TargetFile="Datoteka" @@ -217,6 +269,12 @@ Remux.FileExistsTitle="Ciljana datoteka postoji" Remux.ExitUnfinishedTitle="Remux u tijeku" Remux.ExitUnfinished="Remux nije završen, ako sada zaustavite proces datoteka može biti neupotrebljiva.\nJeste li sigurni da želite zaustaviti remux?" +MissingFiles.NewFile="Nova datoteka" +MissingFiles.Missing="Nedostaje" +MissingFiles.Found="Pronađeno" +MacPermissions.Item.Camera="Kamera" +MacPermissions.Item.Microphone="Mikrofon" +MacPermissions.Continue="Nastavi" UpdateAvailable="Dostupno je novo ažuriranje" UpdateAvailable.Text="Verzija %1.%2.%3 je dostupna. <a href='%4'>Kliknite ovdje da ju preuzmete</a>" Basic.DesktopDevice1="Zvuk s računala" @@ -228,6 +286,7 @@ Basic.Scene="Scena" Basic.DisplayCapture="Prikaži ulaz" Basic.Main.PreviewConextMenu.Enable="Omogući pregled" +Basic.Main.Preview.Disable="Onemogući pregled" ScaleFiltering="Filter uvećanja" ScaleFiltering.Point="Točka" ScaleFiltering.Bilinear="Bilinearno" @@ -286,6 +345,8 @@ Basic.TransformWindow.Position="Pozicija" Basic.TransformWindow.Rotation="Rotacija" Basic.TransformWindow.Size="Veličina" +Basic.TransformWindow.Width="Širina" +Basic.TransformWindow.Height="Visina" Basic.TransformWindow.Alignment="Pozicijsko poravnanje" Basic.TransformWindow.BoundsType="Vrsta okvira" Basic.TransformWindow.BoundsAlignment="Poravnanje u okviru" @@ -311,6 +372,7 @@ Basic.Main.AddSourceHelp.Text="Potrebno je najmanje jedna scena da dodate izvor." Basic.Main.Scenes="Scene" Basic.Main.Sources="Izvori" +Basic.Main.Source="Izvor" Basic.Main.Controls="Kontrole" Basic.Main.Connecting="Povezivanje..." Basic.Main.StartRecording="Počni snimanje" @@ -328,7 +390,6 @@ Basic.MainMenu.File.Settings="Podešavanja (&S)" Basic.MainMenu.File.ShowSettingsFolder="Prikaži mapu s postavkama" Basic.MainMenu.File.ShowProfileFolder="Prikaži mapu s profilima" -Basic.MainMenu.AlwaysOnTop="Uvijek na vrhu (&A)" Basic.MainMenu.File.Exit="Izlaz (&X)" Basic.MainMenu.Edit="Ur&edi" Basic.MainMenu.Edit.Undo="Poništi (&U)" @@ -516,9 +577,9 @@ Basic.SystemTray.Hide="Sakrij" Basic.SystemTray.Message.Reconnecting="Veza prekinuta. Ponovno uspostavljanje..." Hotkeys.Left="Strelica levo" -Hotkeys.Right="Strelica desno" -Hotkeys.Up="Strelica gore" -Hotkeys.Down="Strelica dole" +Hotkeys.Right="Desno" +Hotkeys.Up="Gore" +Hotkeys.Down="Dolje" Hotkeys.Menu="Izbornik" Hotkeys.Space="Razmak" Hotkeys.NumpadNum="Numerički %1" @@ -538,11 +599,13 @@ NoSources.Title="Nema izvora" About="O programu" PreviewTransition="Pregledaj prijelaz" +Importer.Program="Izbrisana aplikacija" YouTube.Actions.Title="Naslov*" YouTube.Actions.Category="Kategorija" YouTube.Actions.Thumbnail.SelectFile="Odaberi datoteku..." YouTube.Actions.Thumbnail.NoFileSelected="Datoteka nije izabrana" YouTube.Actions.Thumbnail.ClearFile="Očisti" +YouTube.Actions.AdditionalSettings="Dodatne postavke" YouTube.Actions.Latency="Latencija" YouTube.Actions.Latency.Normal="Normalna" YouTube.Actions.Latency.Low="Niska"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/hu-HU.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/hu-HU.ini
Changed
@@ -576,14 +576,13 @@ Basic.MainMenu.File="&Fájl" Basic.MainMenu.File.Export="&Exportálás" Basic.MainMenu.File.Import="&Importálás" -Basic.MainMenu.File.ShowRecordings="Felvételek megjelenítése (&R)" +Basic.MainMenu.File.ShowRecordings="&Felvételek megjelenítése" Basic.MainMenu.File.Remux="Felvételek re&muxolása" Basic.MainMenu.File.Settings="Beállítá&sok" Basic.MainMenu.File.ShowSettingsFolder="Beállítási mappa megjelenítése" Basic.MainMenu.File.ShowProfileFolder="Profilmappa megjelenítése" Basic.MainMenu.File.ShowMissingFiles="Hiányzó fájlok keresése" -Basic.MainMenu.AlwaysOnTop="Mindig legfelül (&A)" -Basic.MainMenu.File.Exit="Kilépés (&X)" +Basic.MainMenu.File.Exit="&Kilépés" Basic.MainMenu.Edit="Sz&erkesztés" Basic.MainMenu.Edit.Undo="&Visszavonás" Basic.MainMenu.Edit.Redo="&Mégis" @@ -622,6 +621,7 @@ Basic.MainMenu.View.StatusBar="Állapot&sor" Basic.MainMenu.View.Fullscreen.Interface="Teljes képernyős felület" Basic.MainMenu.View.ResetUI="&Felület visszaállítása" +Basic.MainMenu.View.AlwaysOnTop="&Mindig legfelül" Basic.MainMenu.Docks="&Dokkok" Basic.MainMenu.Docks.ResetDocks="&Dokkok visszaállítása" Basic.MainMenu.Docks.LockDocks="&Dokkok zárolása" @@ -649,7 +649,7 @@ Basic.MainMenu.Help.CrashLogs="Összeomlás&jelentés" Basic.MainMenu.Help.CrashLogs.ShowLogs="Összeomlásjelentések &megjelenítése" Basic.MainMenu.Help.CrashLogs.UploadLastLog="&Következő naplófájl feltöltése" -Basic.MainMenu.Help.About="Névjegy (&A)" +Basic.MainMenu.Help.About="&Névjegy" Basic.Settings.ProgramRestart="A beállítások érvénybe lépéséhez a program újraindítása szükséges." Basic.Settings.ConfirmTitle="Változtatások megerősítése" Basic.Settings.Confirm="Nem mentette a módosításokat. Menti a változtatásokat?" @@ -764,6 +764,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="Hardveres (AMD, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="Hardveres (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="Hardveres (NVENC, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="Hardveres (NVENC, AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="Hardveres (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="Hardveres (Apple, H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="Szoftver (x264 alacsony CPU használatú előbeállítás, növeli a fájlméretet)" @@ -835,7 +836,6 @@ Basic.Settings.Output.SplitFile.TypeManual="Csak kézi felosztás" Basic.Settings.Output.SplitFile.Time="Felosztási idő" Basic.Settings.Output.SplitFile.Size="Felosztási méret" -Basic.Settings.Output.SplitFile.ResetTimestamps="Időbélyegek újraindítása az összes fájlfelosztásnál" Screenshot="Képernyőkép a kimenetről" Screenshot.SourceHotkey="Képernyőkép készítése a kiválasztott forrásról" Screenshot.StudioProgram="Képernyőkép (program)" @@ -1028,6 +1028,9 @@ About.Contribute="Támogassa az OBS Projektet" AddUrl.Title="Forrás hozzáadása URL-en keresztül" AddUrl.Text="Behúzott egy URL-t az OBS-be. Ez automatikusan forrásként adja hozzá a hivatkozást. Folytatja?" +ResizeOutputSizeOfSource="Kimenet átméretezése (forrás mérete)" +ResizeOutputSizeOfSource.Text="Az alap és a kimeneti felbontás átméretezése a jelenlegi forrás méretére." +ResizeOutputSizeOfSource.Continue="Folytatja?" PreviewTransition="Átmenet előnézete" Importer="Jelenetgyűjtemény importáló" Importer.SelectCollection="Jelenetgyűjtemény kiválasztása" @@ -1075,7 +1078,7 @@ YouTube.Actions.MadeForKids="Gyermekeknek készült ez a videó?*" YouTube.Actions.MadeForKids.Yes="Igen, gyermekeknek készült" YouTube.Actions.MadeForKids.No="Nem, nem gyermekeknek készült" -YouTube.Actions.AdditionalSettings="További beállítások:" +YouTube.Actions.AdditionalSettings="További beállítások" YouTube.Actions.Latency="Késleltetés" YouTube.Actions.Latency.Normal="Normál" YouTube.Actions.Latency.Low="Alacsony"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/hy-AM.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/hy-AM.ini
Changed
@@ -589,7 +589,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Բացել կարգավորումների թղթապանակը" Basic.MainMenu.File.ShowProfileFolder="Բացել պրոֆիլի թղթապանակը" Basic.MainMenu.File.ShowMissingFiles="Ստուգել բացակայող ֆայլերը" -Basic.MainMenu.AlwaysOnTop="Բոլոր պատուհանների վրա (&A)" Basic.MainMenu.File.Exit="Ելք (&X)" Basic.MainMenu.Edit="Խմբագրել (&E)" Basic.MainMenu.Edit.Undo="Չեղարկել (&U)" @@ -629,6 +628,7 @@ Basic.MainMenu.View.StatusBar="Կարգավիճակի բար (&S)" Basic.MainMenu.View.Fullscreen.Interface="Ամբողջ էկրանով" Basic.MainMenu.View.ResetUI="&Վերականգնել ինտերֆեյսը" +Basic.MainMenu.View.AlwaysOnTop="&Միշտ առջևում" Basic.MainMenu.Docks="&Դոկի վահանակներ" Basic.MainMenu.Docks.ResetDocks="&Վերակայել նավահանգիստները (Docks)" Basic.MainMenu.Docks.LockDocks="&կողպեք Docks" @@ -771,6 +771,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="Սարքավորում (AMD, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="Սարքավորումներ (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="Սարքավորում (NVENC, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="Սարքավորում (NVENC, AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="Սարքավորում (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="Սարքավորում (Apple, H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="Ծրագրային ապահովում (x264 ցածր պրոցեսորի օգտագործմամբ, մեծացնում է ֆայլի չափը)" @@ -843,7 +844,6 @@ Basic.Settings.Output.SplitFile.TypeManual="Առանձնացնել միայն ձեռքով" Basic.Settings.Output.SplitFile.Time="Ժամանակի բաժանում" Basic.Settings.Output.SplitFile.Size="Պառակտման չափը" -Basic.Settings.Output.SplitFile.ResetTimestamps="Վերականգնել ժամադրոշմները յուրաքանչյուր բաժանված ֆայլի սկզբում" Screenshot="էկրանակադրը անել արդյունքը" Screenshot.SourceHotkey="Էկրանակադրը անել այս աղբյուրը" Screenshot.StudioProgram="Էկրանակադր անել (Ծրագիր)" @@ -1036,6 +1036,9 @@ AddUrl.Title="Ավելացրեք աղբյուրը URL-ի միջոցով" AddUrl.Text="Դուք URL եք քաշել OBS-ում: Սա ավտոմատ կերպով կավելացնի այդ հղումը որպես աղբյուր: Շարունակե՞լ" AddUrl.Text.Url="URL-հասցե: %1" +ResizeOutputSizeOfSource="Չափափոխել ելքը (աղբյուրի չափը)" +ResizeOutputSizeOfSource.Text="Բազային և ելքային չափերը կչափափոխվեն ընթացիկ աղբյուրի չափին:" +ResizeOutputSizeOfSource.Continue="Ցանկանու՞մ եք շարունակել։" PreviewTransition="Անցումային նախադիտում" Importer="Տեսարանների հավաքածուի ներմուծող" Importer.SelectCollection="Ընտրեք տեսարանների հավաքածու"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/id-ID.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/id-ID.ini
Changed
@@ -315,7 +315,7 @@ ConfirmRemove.TextMultiple="Apakah Anda yakin ingin menghapus item-item %1?" Output.StartStreamFailed="Gagal memulai streaming" Output.StartRecordingFailed="Gagal memulai rekaman" -Output.StartReplayFailed="Gagal memulai buffer replay" +Output.StartReplayFailed="Gagal memulai replay buffer" Output.StartFailedGeneric="Gagal memulai output. Silakan periksa catatan untuk detail lebih lanjut. \n\nCatatan: Jika Anda menggunakan pengkodean NVENC atau AMD, pastikan versi driver video Anda adalah yang terbaru." Output.ReplayBuffer.PauseWarning.Title="Tidak dapat menyimpan tayangan ulang saat dijeda" Output.ReplayBuffer.PauseWarning.Text="Peringatan: Tayangan ulang tidak dapat disimpan saat rekaman dijeda." @@ -325,7 +325,7 @@ Output.ConnectFail.InvalidStream="Tidak bisa mengakses saluran atau kunci stream yang ditentukan, mohon periksa kembali dengan benar kunci stream Anda. Jika sudah benar, kemungkinan ada masalah saat menghubungkan ke server." Output.ConnectFail.Error="Kesalahan yang tak terduga terjadi ketika mencoba menghubungkan ke server. Info lebih lanjut ada di catatan berkas." Output.ConnectFail.Disconnected="Terputus dari sever." -Output.StreamEncodeError.Title="Kesalahan pengkodean" +Output.StreamEncodeError.Title="Galat enkode" Output.StreamEncodeError.Msg="Kesalahan pengkodean terjadi saat streaming." Output.StreamEncodeError.Msg.LastError="Sebuah kesalahan pengkodean terjadi saat streaming:\n\n%1" Output.RecordFail.Title="Gagal memulai rekaman" @@ -569,7 +569,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Tampilkan Folder Pengaturan" Basic.MainMenu.File.ShowProfileFolder="Tampilkan Folder Profil" Basic.MainMenu.File.ShowMissingFiles="Periksa Berkas yang Hilang" -Basic.MainMenu.AlwaysOnTop="Sel&alu di Atas" Basic.MainMenu.File.Exit="Keluar (&X)" Basic.MainMenu.Edit="Ubah (&E)" Basic.MainMenu.Edit.Undo="M&undur" @@ -608,6 +607,7 @@ Basic.MainMenu.View.StatusBar="Bar &Status" Basic.MainMenu.View.Fullscreen.Interface="Antarmuka Layar Penuh" Basic.MainMenu.View.ResetUI="Atu&r Ulang UI" +Basic.MainMenu.View.AlwaysOnTop="Selalu di &Atas" Basic.MainMenu.Docks="&Dok" Basic.MainMenu.Docks.ResetDocks="Atu&r Ulang Dok" Basic.MainMenu.Docks.LockDocks="Kunci Dok (&L)" @@ -628,7 +628,7 @@ Basic.MainMenu.Help.Logs="Catatan Berkas (&L)" Basic.MainMenu.Help.Logs.ShowLogs="Tampilkan Catatan Berka&s" Basic.MainMenu.Help.Logs.UploadCurrentLog="Unggah &Catatan Berkas Saat Ini" -Basic.MainMenu.Help.Logs.UploadLastLog="Unggah berkas log sebelumnya (&P)" +Basic.MainMenu.Help.Logs.UploadLastLog="Unggah Berkas Catatan Sebelumnya (&P)" Basic.MainMenu.Help.Logs.ViewCurrentLog="Tampilkan Catatan Saat Ini (&V)" Basic.MainMenu.Help.CheckForUpdates="Periksa Pembaruan" Basic.MainMenu.Help.Repair="Cek Integritas Berkas" @@ -724,7 +724,7 @@ Basic.Settings.Output.Mode.Simple="Sederhana" Basic.Settings.Output.Mode.Adv="Lanjutan" Basic.Settings.Output.Mode.FFmpeg="Output FFmpeg" -Basic.Settings.Output.UseReplayBuffer="Aktifkan Buffer Replay" +Basic.Settings.Output.UseReplayBuffer="Aktifkan Replay Buffer" Basic.Settings.Output.ReplayBuffer.SecondsMax="Maksimum Waktu Tayangan Ulang" Basic.Settings.Output.ReplayBuffer.MegabytesMax="Maksimum Memori (Megabyte)" Basic.Settings.Output.ReplayBuffer.Estimate="Perkiraan penggunaan memori: %1 MB" @@ -749,6 +749,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="Perangkat Keras (AMD, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="Perangkat Keras (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="Perangkat Keras (NVENC, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="Perangkat Keras (NVENC, AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="Perangkat Keras (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="Perangkat Keras (Apple, H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="Perangkat Lunak (preset penggunaan CPU rendah x264, ukuran berkas meningkat)" @@ -760,7 +761,7 @@ Basic.Settings.Output.Warn.ServiceCodecCompatibility.Msg="Layanan streaming \"%1\" tidak mendukung pengkodean \"%2\". Pengkodean akan diganti dengan \"%3\".\n\nAnda yakin ingin lanjut?" Basic.Settings.Output.VideoBitrate="Bitrate Video" Basic.Settings.Output.AudioBitrate="Bitrate Audio" -Basic.Settings.Output.Reconnect="Hubungkan Kembali Secara Otomatis" +Basic.Settings.Output.Reconnect="Otomatis Menyambungkan Ulang" Basic.Settings.Output.RetryDelay="Pengulangan Delay" Basic.Settings.Output.MaxRetries="Maksimum Pengulangan" Basic.Settings.Output.Advanced="Aktifkan Setelan Penyesuaian Pengkodean (Lanjutan)" @@ -817,7 +818,6 @@ Basic.Settings.Output.SplitFile.TypeManual="Hanya dipisah secara manual" Basic.Settings.Output.SplitFile.Time="Pemecah Waktu" Basic.Settings.Output.SplitFile.Size="Pemecah Ukuran" -Basic.Settings.Output.SplitFile.ResetTimestamps="Atur ulang penanda waktu di setiap awal pemecah berkas" Screenshot="Output Tangkapan Layar" Screenshot.SourceHotkey="Sumber Tangkapan Layar yang Dipilih" Screenshot.StudioProgram="Tangkapan Layar (Program)" @@ -995,6 +995,9 @@ About.Contribute="Dukung proyek OBS" AddUrl.Title="Tambahkan Sumber melalui URL" AddUrl.Text="Anda telah menyeret URL ke OBS. Ini secara otomatis akan menambahkan tautan sebagai sumber. Lanjutkan?" +ResizeOutputSizeOfSource="Ubah ukuran output (ukuran sumber)" +ResizeOutputSizeOfSource.Text="Resolusi dasar dan output akan diubah ukuran nya menjadi ukuran sumber saat ini." +ResizeOutputSizeOfSource.Continue="Apakah Anda ingin melanjutkan?" PreviewTransition="Pratinjau Transisi" Importer="Pengimpor Koleksi Adegan" Importer.SelectCollection="Pilih Koleksi Adegan" @@ -1041,7 +1044,7 @@ YouTube.Actions.MadeForKids="Apakah video ini dibuat untuk anak-anak?*" YouTube.Actions.MadeForKids.Yes="Ya, video ini dibuat untuk anak-anak" YouTube.Actions.MadeForKids.No="Tidak, video ini tidak dibuat untuk anak-anak" -YouTube.Actions.AdditionalSettings="Pengaturan tambahan:" +YouTube.Actions.AdditionalSettings="Pengaturan tambahan" YouTube.Actions.Latency="Latensi" YouTube.Actions.Latency.Low="Rendah" YouTube.Actions.Latency.UltraLow="Ultra rendah"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/it-IT.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/it-IT.ini
Changed
@@ -24,11 +24,11 @@ StudioProgramProjector="Proiettore a schermo intero (programma)" PreviewProjector="Proiettore Schermo intero (Anteprima)" SceneProjector="Proiettore Schermo intero (Scena)" -SourceProjector="Proiettore Schermo intero (Sorgente)" -StudioProgramWindow="Proiettore in finestra (Programma)" +SourceProjector="Proiettore a schermo intero (fonte)" +StudioProgramWindow="Proiettore in finestra (programma)" PreviewWindow="Proiettore in finestra (Anteprima)" SceneWindow="Proiettore in finestra (Scena)" -SourceWindow="Proiettore in finestra (Fonte)" +SourceWindow="Proiettore in finestra (fonte)" MultiviewProjector="Vista multipla (Schermo intero)" MultiviewWindowed="Vista multipla (Finestra)" ResizeProjectorWindowToContent="Adatta la finestra al contenuto" @@ -92,15 +92,15 @@ ShowOnStartup="Mostra all'avvio" OpenFile="Apri file" AddValue="Aggiungi %1" -AddSource="Aggiungi sorgente" +AddSource="Aggiungi fonte" RemoveScene="Rimuovi scena selezionata" -RemoveSource="Rimuovi sorgente selezionata" +RemoveSource="Rimuovi fonti selezionate" MoveSceneUp="Sposta scena su" MoveSceneDown="Sposta scena giù" -MoveSourceUp="Sposta sorgente/i su" -MoveSourceDown="Sposta sorgente/i giù" -SourceProperties="Apri proprietà soregente" -SourceFilters="Apri filtri sorgente" +MoveSourceUp="Sposta fonti su" +MoveSourceDown="Sposta fonti giù" +SourceProperties="Apri proprietà della fonte" +SourceFilters="Apri filtri della fonte" MixerToolbarMenu="Menu mixer audio" PluginsFailedToLoad.Title="Errore caricamento plugin" PluginsFailedToLoad.Text="Non sono stati caricati i seguenti plugin OBS :\n\n%1\nAggiorna o rimuovi questi plugin." @@ -214,7 +214,7 @@ Basic.Stats.MegabytesSent="Uscita dati totale" Basic.Stats.Bitrate="Velocità in bit" Basic.Stats.DiskFullIn="Disco pieno in (appross.)" -Basic.Stats.ResetStats="Reset statistiche" +Basic.Stats.ResetStats="Ripristina le statistiche" ResetUIWarning.Title="Sei sicuro di voler ripristinare l'interfaccia utente?" ResetUIWarning.Text="Ripristinare l'interfaccia utente nasconderà altri pannelli. Dovrai mostrare questi pannelli dal menu Pannelli se vuoi che siano visibili.\n\nSei sicuro di voler resettare l'UI?" Updater.Title="Nuovo aggiornamento disponibile" @@ -236,9 +236,9 @@ QuickTransitions.SwapScenes="Scambia scene anteprima/programma dopo la transizione" QuickTransitions.SwapScenesTT="Scambia l'anteprima e le scene del programma dopo la transizione (se la scena originale del programma esiste ancora).\nQuesto non annullerà le modifiche che potrebbero essere state apportate alla scena originale del programma." QuickTransitions.DuplicateScene="Duplica la scena" -QuickTransitions.DuplicateSceneTT="Quando si modifica la stessa scena, consente di modificare la trasformazione/visibilità delle sorgenti senza modificare l'output del programma.\nPer modificare le proprietà delle sorgenti senza modificare l'output del programma, abilitare 'Duplica sorgenti'.\nLa modifica di questo valore ripristinerà la scena del programma corrente (se esiste ancora)." +QuickTransitions.DuplicateSceneTT="Quando si modifica la stessa scena, consente di modificare la trasformazione/visibilità delle fonti senza modificare l'output del programma.\nPer modificare le proprietà delle fonti senza modificare l'output del programma, abilitare 'Duplica fonti'.\nLa modifica di questo valore ripristinerà la scena del programma corrente (se esiste ancora)." QuickTransitions.EditProperties="Duplica le fonti" -QuickTransitions.EditPropertiesTT="Quando si modifica la stessa scena, consente di modificare le proprietà delle sorgenti senza modificare l'output del programma.\nPuò essere utilizzato solo se è abilitato 'Duplica scena'.\nAlcune sorgenti (come acquisizione o sorgenti multimediali) non lo supportano e non possono essere modificate separatamente.\nLa modifica di questo valore ripristinerà la scena del programma attuale (se esiste ancora).\n\nAttenzione: poiché le sorgenti verranno duplicate, ciò potrebbe richiedere risorse video o di sistema aggiuntive." +QuickTransitions.EditPropertiesTT="Quando si modifica la stessa scena, consente di modificare le proprietà delle sorgenti senza modificare l'output del programma.\nPuò essere utilizzato solo se è abilitato 'Duplica scena'.\nAlcune fonti (come acquisizione o sorgenti multimediali) non lo supportano e non possono essere modificate separatamente.\nLa modifica di questo valore ripristinerà la scena del programma attuale (se esiste ancora).\n\nAttenzione: poiché le sorgenti verranno duplicate, ciò potrebbe richiedere risorse video o di sistema aggiuntive." QuickTransitions.HotkeyName="Transizione rapida «%1»" Basic.AddTransition="Aggiungi una transizione configurabile" Basic.RemoveTransition="Rimuovi una transizione configurabile" @@ -258,7 +258,7 @@ Undo.Filters="Modifiche Filtro su '%1'" Undo.Filters.Paste.Single="Incolla filtro '%1' a '%2'" Undo.Filters.Paste.Multiple="Copia i filtri da '%1' a '%2'" -Undo.Transform="Trasforma sorgente(i) in '%1'" +Undo.Transform="Trasforma fonti in '%1'" Undo.Transform.Paste="Incolla trasformazione in '%1'" Undo.Transform.Rotate="Rotazione in '%1'" Undo.Transform.Reset="Reimposta trasformazione in '%1'" @@ -279,7 +279,7 @@ Undo.ForceMono.On="Abilita Forza Mono su '%1'" Undo.ForceMono.Off="Disabilita Mono forzato su '%1'" Undo.Properties="Cambio proprietà su '%1'" -Undo.Scene.Duplicate="Duplica la Scena \"%1\"" +Undo.Scene.Duplicate="Duplica la scena '%1'" Undo.ShowTransition="Transizione quando visibile su '%1'" Undo.HideTransition="Transizione quando invisibile su '%1'" Undo.ShowSceneItem="Mostra '%1' in '%2'" @@ -289,8 +289,8 @@ Undo.MoveDown="Sposta '%1' giù in '%2'" Undo.MoveToTop="Sposta '%1' in cima in '%2'" Undo.MoveToBottom="Sposta '%1' in basso in '%2'" -Undo.PasteSource="Incolla Sorgente(i) in '%1'" -Undo.PasteSourceRef="Incolla riferimenti sorgente in '%1'" +Undo.PasteSource="Incolla fonti in '%1'" +Undo.PasteSourceRef="Incolla riferimenti fonte in '%1'" Undo.GroupItems="Raggruppa elementi in '%1'" TransitionNameDlg.Text="Inserisci il nome della transizione" TransitionNameDlg.Title="Nome della transizione" @@ -338,7 +338,7 @@ Output.RecordError.EncodeErrorMsg.LastError="Si è verificato un errore di codifica durante la registrazione:\n\n%1" Output.BadPath.Title="Percorso del file non valido" Output.BadPath.Text="Impossibile aprire il percorso di registrazione configurato. Controlla il percorso di registrazione in Impostazioni → Output → Recording." -Output.NoBroadcast.Title="Nessuna Trasmissione Configurata" +Output.NoBroadcast.Title="Nessuna trasmissione configurata" Output.NoBroadcast.Text="È necessario impostare una trasmissione prima di poter iniziare la diretta." Output.BroadcastStartFailed="Impossibile avviare la trasmissione" Output.BroadcastStopFailed="Impossibile interrompere la trasmissione" @@ -371,7 +371,7 @@ MissingFiles.HelpText="Alcuni file risultano mancanti da quando hai usato per l'ultima volta OBS" MissingFiles.Clear="<vuoto>" MissingFiles.NumFound="Trovato %1 di %2" -MissingFiles.Search="Cerca Cartella..." +MissingFiles.Search="Cerca cartella..." MissingFiles.SelectFile="Seleziona file..." MissingFiles.SelectDir="Seleziona la cartella in cui cercare" MissingFiles.State="Stato" @@ -447,10 +447,10 @@ Basic.Main.MixerRename.Title="Rinomina della fonte audio" Basic.Main.MixerRename.Text="Inserisci il nome della fonte audio" Basic.Main.PreviewDisabled="L'anteprima è attualmente disattivata" -Basic.SourceSelect="Crea/seleziona Sorgente" -Basic.SourceSelect.CreateNew="Crea una nuova fonte" +Basic.SourceSelect="Crea/seleziona fonte" +Basic.SourceSelect.CreateNew="Crea nuova" Basic.SourceSelect.AddExisting="Aggiungine una esistente" -Basic.SourceSelect.AddVisible="Rendi visibile la provenienza" +Basic.SourceSelect.AddVisible="Rendi visibile la fonte" Basic.Main.Sources.Visibility="Visibilità" Basic.Main.Sources.VisibilityDescription="Controlla la visibilità di «%1» nella superficie" Basic.Main.Sources.Lock="Blocca" @@ -529,12 +529,12 @@ Basic.TransformWindow.BoundsType.ScaleToHeight="Scala all'altezza dei limiti" Basic.TransformWindow.BoundsType.Stretch="Allungare ai limiti" Basic.TransformWindow.Title="Modifica trasformazione per '%1'" -Basic.TransformWindow.NoSelectedSource="Nessuna sorgente selezionata" +Basic.TransformWindow.NoSelectedSource="Nessuna fonte selezionata" Basic.Main.AddSourceHelp.Title="Impossibile aggiungere la fonte" Basic.Main.AddSourceHelp.Text="Devi avere almeno una scena per aggiungere una fonte." Basic.Main.Scenes="Scene" Basic.Main.Sources="Fonti" -Basic.Main.Source="Sorgente" +Basic.Main.Source="Fonte" Basic.Main.Controls="Controlli" Basic.Main.Connecting="Connessione in corso..." Basic.Main.StartRecording="Avvia la registrazione" @@ -550,7 +550,7 @@ Basic.Main.StoppingRecording="Terminazione della registrazione in corso..." Basic.Main.StopReplayBuffer="Termina il buffer di replay" Basic.Main.StoppingReplayBuffer="Terminazione del buffer di replay in corso..." -Basic.Main.SetupBroadcast="Gestisci Trasmissione" +Basic.Main.SetupBroadcast="Gestisci trasmissione" Basic.Main.StopStreaming="Termina la diretta" Basic.Main.StopBroadcast="Ferma trasmissione" Basic.Main.StoppingStreaming="Terminazione della diretta in corso..." @@ -572,15 +572,14 @@ Basic.VCam.InternalPreview="Output anteprima" Basic.MainMenu.File.Export="&Esporta" Basic.MainMenu.File.Import="&Importa" -Basic.MainMenu.File.ShowRecordings="Visualizza le ®istrazioni" -Basic.MainMenu.File.Remux="Converti le registrazioni (&M)" +Basic.MainMenu.File.ShowRecordings="Mostra le ®istrazioni" +Basic.MainMenu.File.Remux="&Converti le registrazioni" Basic.MainMenu.File.Settings="Impo&stazioni" Basic.MainMenu.File.ShowSettingsFolder="Visualizza la cartella delle impostazioni" Basic.MainMenu.File.ShowProfileFolder="Mostra la cartella dei profili" Basic.MainMenu.File.ShowMissingFiles="Controlla i file mancanti" -Basic.MainMenu.AlwaysOnTop="Sempre in primo pi&ano" -Basic.MainMenu.File.Exit="Esci (&X)" -Basic.MainMenu.Edit="Modifica (&E)" +Basic.MainMenu.File.Exit="&Esci" +Basic.MainMenu.Edit="&Modifica" Basic.MainMenu.Edit.Undo="Ann&ulla" Basic.MainMenu.Edit.Redo="&Ripeti" Basic.MainMenu.Edit.LockPreview="B&locca l'anteprima" @@ -589,41 +588,42 @@ Basic.MainMenu.Edit.Scale.Canvas="Riquadro (%1x%2)" Basic.MainMenu.Edit.Scale.Output="Uscita (%1×%2)" Basic.MainMenu.Edit.Transform="&Trasforma" -Basic.MainMenu.Edit.Transform.EditTransform="Modifica Trasformazion&e..." -Basic.MainMenu.Edit.Transform.CopyTransform="Copia Trasformazione" -Basic.MainMenu.Edit.Transform.PasteTransform="Incolla Trasformazione" -Basic.MainMenu.Edit.Transform.ResetTransform="&Ripristina Trasformazione" +Basic.MainMenu.Edit.Transform.EditTransform="Modifica trasformazion&e..." +Basic.MainMenu.Edit.Transform.CopyTransform="Copia trasformazione" +Basic.MainMenu.Edit.Transform.PasteTransform="Incolla trasformazione" +Basic.MainMenu.Edit.Transform.ResetTransform="&Ripristina trasformazione" Basic.MainMenu.Edit.Transform.Rotate90CW="Ruota di 90 gradi in senso orario" Basic.MainMenu.Edit.Transform.Rotate90CCW="Ruota di 90 gradi in senso antiorario" Basic.MainMenu.Edit.Transform.Rotate180="Ruota di 180 gradi" -Basic.MainMenu.Edit.Transform.FlipHorizontal="Capovolgi orizzontalmente (&H)" +Basic.MainMenu.Edit.Transform.FlipHorizontal="Capovol&gi orizzontalmente" Basic.MainMenu.Edit.Transform.FlipVertical="Capovolgi &verticalmente" -Basic.MainMenu.Edit.Transform.FitToScreen="Adatta allo schermo (&F)" +Basic.MainMenu.Edit.Transform.FitToScreen="A&datta allo schermo" Basic.MainMenu.Edit.Transform.StretchToScreen="Allunga per riempire lo &schermo" Basic.MainMenu.Edit.Transform.CenterToScreen="&Centra nello schermo" Basic.MainMenu.Edit.Transform.VerticalCenter="Centra verticalmente" Basic.MainMenu.Edit.Transform.HorizontalCenter="Centra orizzontalmente" Basic.MainMenu.Edit.Order="&Ordina" Basic.MainMenu.Edit.Order.MoveUp="Sposta s&u" -Basic.MainMenu.Edit.Order.MoveDown="Sposta giù (&D)" +Basic.MainMenu.Edit.Order.MoveDown="Sposta &giù" Basic.MainMenu.Edit.Order.MoveToTop="Spos&ta in cima" -Basic.MainMenu.Edit.Order.MoveToBottom="Sposta in fondo (&B)" +Basic.MainMenu.Edit.Order.MoveToBottom="Sposta in &fondo" Basic.MainMenu.Edit.AdvAudio="Proprietà &audio avanzate" Basic.MainMenu.View="&Visualizza" Basic.MainMenu.View.Toolbars="Barre degli s&trumenti" -Basic.MainMenu.View.ListboxToolbars="Elenco Pulsanti Scena/Sorgente" +Basic.MainMenu.View.ListboxToolbars="Elenco pulsanti scena/fonte" Basic.MainMenu.View.ContextBar="Barra degli strumenti delle fonti" Basic.MainMenu.View.SceneTransitions="Transizioni di s&cena" -Basic.MainMenu.View.SourceIcons="Sorgente &Icone" +Basic.MainMenu.View.SourceIcons="&Icone fonti" Basic.MainMenu.View.StatusBar="Barra di &stato" Basic.MainMenu.View.Fullscreen.Interface="Interfaccia a schermo intero" Basic.MainMenu.View.ResetUI="&Ripristina UI" +Basic.MainMenu.View.AlwaysOnTop="Sempre in primo pi&ano" Basic.MainMenu.Docks="&Pannelli" Basic.MainMenu.Docks.ResetDocks="&Ripristina pannelli" Basic.MainMenu.Docks.LockDocks="&Blocca pannelli" -Basic.MainMenu.Docks.CustomBrowserDocks="&Pannelli Browser Personalizzati..." +Basic.MainMenu.Docks.CustomBrowserDocks="&Pannelli browser personalizzati..." Basic.MainMenu.SceneCollection="Collezione &scene" -Basic.MainMenu.Profile="&Profilo" +Basic.MainMenu.Profile="P&rofilo" Basic.MainMenu.Profile.Import="Importa un profilo" Basic.MainMenu.Profile.Export="Esporta il profilo" Basic.MainMenu.SceneCollection.Import="Importa una collezione di scene" @@ -631,21 +631,21 @@ Basic.MainMenu.Profile.Exists="Il profilo esiste già" Basic.MainMenu.SceneCollection.Exists="La collezione di scene esiste già" Basic.MainMenu.Tools="S&trumenti" -Basic.MainMenu.Help="Aiuto (&H)" +Basic.MainMenu.Help="&Aiuto" Basic.MainMenu.Help.HelpPortal="&Portale di assistenza" Basic.MainMenu.Help.Website="Visita il sito &web" -Basic.MainMenu.Help.Discord="Unisciti al server di &Discord" +Basic.MainMenu.Help.Discord="Unisciti al server &Discord" Basic.MainMenu.Help.Logs="File di &log" -Basic.MainMenu.Help.Logs.ShowLogs="Vi&sualizza i file di Log" +Basic.MainMenu.Help.Logs.ShowLogs="Vi&sualizza i file di log" Basic.MainMenu.Help.Logs.UploadCurrentLog="&Carica il file di log attuale" -Basic.MainMenu.Help.Logs.UploadLastLog="Carica File Di Log &Precedente" +Basic.MainMenu.Help.Logs.UploadLastLog="Carica il file di log &precedente" Basic.MainMenu.Help.Logs.ViewCurrentLog="&Visualizza il file di log attuale" Basic.MainMenu.Help.CheckForUpdates="Controlla gli aggiornamenti" Basic.MainMenu.Help.Repair="Controlla integrità file" -Basic.MainMenu.Help.CrashLogs="&Registro dei crash" +Basic.MainMenu.Help.CrashLogs="&Registro degli arresti anomali" Basic.MainMenu.Help.CrashLogs.ShowLogs="Vi&sualizza i registri dei crash" Basic.MainMenu.Help.CrashLogs.UploadLastLog="Carica &Precedente Rapporto Crash" -Basic.MainMenu.Help.About="Riconoscimenti (&A)" +Basic.MainMenu.Help.About="Inform&azioni" Basic.Settings.ProgramRestart="Il programma deve essere riavviato perché questi cambiamenti abbiano effetto." Basic.Settings.ConfirmTitle="Conferma i cambiamenti" Basic.Settings.Confirm="Hai dei cambiamenti non salvati. Vuoi salvarli?" @@ -688,7 +688,7 @@ Basic.Settings.General.StudioPortraitLayout="Attiva il layout verticale" Basic.Settings.General.TogglePreviewProgramLabels="Mostra le etichette di anteprima/programma" Basic.Settings.General.Multiview="Visualizzazione multipla" -Basic.Settings.General.Multiview.MouseSwitch="Clicca per passare da una scena all'altra" +Basic.Settings.General.Multiview.MouseSwitch="Fai clic per passare da una scena all'altra" Basic.Settings.General.Multiview.DrawSourceNames="Visualizza i nomi delle scene" Basic.Settings.General.Multiview.DrawSafeAreas="Evidenzia le aree sicure (EBU R 95)" Basic.Settings.General.MultiviewLayout="Disposizione della visualizzazione multipla" @@ -709,7 +709,7 @@ Basic.Settings.Stream.TTVAddon="Plugins per la chat di Twitch" Basic.Settings.Stream.TTVAddon.None="Nessuno" Basic.Settings.Stream.TTVAddon.Both="BetterTTV e FrankerFaceZ" -Basic.Settings.Stream.MissingSettingAlert="Configurazione Stream Mancante" +Basic.Settings.Stream.MissingSettingAlert="Configurazione flusso mancante" Basic.Settings.Stream.StreamSettingsWarning="Apri Impostazioni" Basic.Settings.Stream.MissingUrlAndApiKey="URL e Codice delle dirette sono mancanti.\n\nApri le impostazioni per inserire URL e codice delle dirette nella scheda 'stream'." Basic.Settings.Stream.MissingUrl="URL dello stream mancante.\n\nApri le impostazione per inserire l'URL nella scheda \"Stream\"." @@ -819,13 +819,12 @@ Basic.Settings.Output.SplitFile.TypeManual="Dividi solo manualmente" Basic.Settings.Output.SplitFile.Time="Durata divisione" Basic.Settings.Output.SplitFile.Size="Dimensione divisione" -Basic.Settings.Output.SplitFile.ResetTimestamps="Reimposta data/ora all'inizio di ogni file diviso" Screenshot="Screenshot dell'uscita" -Screenshot.SourceHotkey="Screenshot Sorgente Selezionata" +Screenshot.SourceHotkey="Schermata fonte selezionata" Screenshot.StudioProgram="Screenshot (Programma)" Screenshot.Preview="Screenshot (Anteprima)" Screenshot.Scene="Screenshot (Scena)" -Screenshot.Source="Screenshot (Fonte)" +Screenshot.Source="Schermata (fonte)" Basic.Settings.Video.Adapter="Adattatore video" Basic.Settings.Video.BaseResolution="Risoluzione di base (inquadratura)" Basic.Settings.Video.ScaledResolution="Risoluzione effettiva di uscita (scalata)" @@ -1004,20 +1003,23 @@ FinalScene.Text="Deve esserci almeno una scena." NoSources.Title="Nessuna fonte" NoSources.Text="Sembra che tu non abbia ancora aggiunto nessuna sorgente video, quindi vedrai solo una schermata nera. Sei sicuro di volere fare questo?" -NoSources.Text.AddSource="Puoi aggiungere fonti cliccando l'icona + sotto il pannello delle fonti nella finestra principale in qualsiasi momento." +NoSources.Text.AddSource="Puoi aggiungere fonti facendo clic sull'icona + sotto il pannello delle fonti nella finestra principale in qualsiasi momento." NoSources.Label="Non hai nessuna fonte.\nClicca il pulsante + qui sotto,\no clicca col tasto destro per aggiungerne una." ChangeBG="Seleziona il colore" CustomColor="Colore personalizzato" -BrowserSource.EnableHardwareAcceleration="Attiva l'accelerazione Hardware di Browser Source" -About="Riconoscimenti" -About.Info="OBS Studio è un software gratuito e open source per la registrazione di video e dirette streaming." +BrowserSource.EnableHardwareAcceleration="Attiva l'accelerazione hardware per la fonte browser" +About="Informazioni" +About.Info="OBS Studio è un software gratuito e open source per la registrazione di video e trasmissioni in diretta." About.Donate="Effettua una donazione" About.GetInvolved="Partecipa allo sviluppo" About.Authors="Autori" About.License="Licenza" About.Contribute="Sostieni il progetto OBS" AddUrl.Title="Aggiungi origine tramite URL" -AddUrl.Text="Hai spostato un URL in OBS. Questo aggiungerà automaticamente il link come sorgente. Continuare?" +AddUrl.Text="Hai spostato un URL in OBS. Questo aggiungerà automaticamente il collegamento come fonte. Continuare?" +ResizeOutputSizeOfSource="Ridimensiona destinazione (dimensione fonte)" +ResizeOutputSizeOfSource.Text="Le risoluzioni di base e destinazione saranno ridimensionate in base alle dimensioni della fonte attuale." +ResizeOutputSizeOfSource.Continue="Vuoi continuare?" PreviewTransition="Anteprima transizione" Importer="Importatore raccolta scene" Importer.SelectCollection="Seleziona una collezione di scene" @@ -1031,15 +1033,15 @@ NeedsRestart="OBS Studio deve essere riavviato. Vuoi riavviarlo ora?" LoadProfileNeedsRestart="Il profilo contiene impostazioni che richiedono il riavvio di OBS:\n%1\n\nVuoi riavviare OBS affinché queste impostazioni vengano applicate?" ContextBar.NoSelectedSource="Nessuna fonte selezionata" -ContextBar.ResetTransform="Ripristina Trasformazione" +ContextBar.ResetTransform="Ripristina trasformazione" ContextBar.FitToCanvas="Adatta allo schermo" -ContextBar.MediaControls.PlayMedia="Riproduci Media" -ContextBar.MediaControls.PauseMedia="Pausa il media" +ContextBar.MediaControls.PlayMedia="Riproduci media" +ContextBar.MediaControls.PauseMedia="Sospendi media" ContextBar.MediaControls.StopMedia="Ferma media" ContextBar.MediaControls.RestartMedia="Riavvia media" -ContextBar.MediaControls.PlaylistNext="Successivo nella playlist" -ContextBar.MediaControls.PlaylistPrevious="Precedente nella playlist" -ContextBar.MediaControls.MediaProperties="Proprietà del media" +ContextBar.MediaControls.PlaylistNext="Successivo nella scaletta" +ContextBar.MediaControls.PlaylistPrevious="Precedente nella scaletta" +ContextBar.MediaControls.MediaProperties="Proprietà media" ContextBar.MediaControls.BlindSeek="Widget ricerca multimediale" YouTube.Auth.Ok="Autorizzazione completata con successo.\nOra puoi chiudere questa pagina." YouTube.Auth.NoCode="Il processo di autorizzazione non è stato completato." @@ -1048,10 +1050,10 @@ YouTube.Auth.WaitingAuth.Text="Completa l'autorizzazione nel browser esterno.<br>Se il browser esterno non si apre, apri questo collegamento e completa l'autorizzazione:<br>%1" YouTube.AuthError.Text="Recupero delle informazioni del canale non riuscito: %1." YouTube.Actions.WindowTitle="Configurazione di trasmissione di YouTube - Canale: %1" -YouTube.Actions.CreateNewEvent="Crea Nuova Trasmissione" -YouTube.Actions.ChooseEvent="Seleziona Trasmissione Esistente" +YouTube.Actions.CreateNewEvent="Crea nuova trasmissione" +YouTube.Actions.ChooseEvent="Seleziona trasmissione esistente" YouTube.Actions.Title="Titolo*" -YouTube.Actions.MyBroadcast="Mio broadcast" +YouTube.Actions.MyBroadcast="Mia trasmissione" YouTube.Actions.Description="Descrizione" YouTube.Actions.Privacy.Private="Privato" YouTube.Actions.Privacy.Public="Pubblico" @@ -1064,7 +1066,7 @@ YouTube.Actions.MadeForKids="Questo vdieo è adatto per bambini?*" YouTube.Actions.MadeForKids.Yes="Sì, è adatto per bambini" YouTube.Actions.MadeForKids.No="No, non è adatto per bambini" -YouTube.Actions.AdditionalSettings="Impostazioni aggiuntive:" +YouTube.Actions.AdditionalSettings="Impostazioni aggiuntive" YouTube.Actions.Latency="Latenza" YouTube.Actions.Latency.Normal="Normale" YouTube.Actions.Latency.Low="Bassa" @@ -1083,10 +1085,10 @@ YouTube.Actions.Create_Schedule="Pianifica trasmissione" YouTube.Actions.Create_Schedule_Ready="Pianifica e seleziona trasmissione" YouTube.Actions.Dashboard="Apri YouTube Studio" -YouTube.Actions.Error.Title="Errore creazione broadcast Live" +YouTube.Actions.Error.Title="Errore creazione trasmissione in diretta" YouTube.Actions.Error.Text="Errore accesso YouTube '%1'.<br/>Descrizione dettagliata errore disponibile qui: <a href='https://developers.google.com/youtube/v3/live/docs/errors'>https://developers.google.com/youtube/v3/live/docs/errors</a>" YouTube.Actions.Error.General="Errore di accesso a YouTube.\nControlla la connessione di rete o l'accesso al server YouTube." -YouTube.Actions.Error.NoBroadcastCreated="Errore creazione broadcast '%1'.<br/>Descrizione dettagliata dell'errore disponibile qui: <a href='https://developers.google.com/youtube/v3/live/docs/errors'>https://developers.google.com/youtube/v3/live/docs/errors</a>" +YouTube.Actions.Error.NoBroadcastCreated="Errore creazione trasmissione '%1'.<br/>Descrizione dettagliata dell'errore disponibile qui: <a href='https://developers.google.com/youtube/v3/live/docs/errors'>https://developers.google.com/youtube/v3/live/docs/errors</a>" YouTube.Actions.Error.NoStreamCreated="Nessun flusso creato.\nRi-collegati all'account." YouTube.Actions.Error.YouTubeApi="Errore API YouTube.\nPer maggiori informazioni, consulta il file del regsitro eventi." YouTube.Actions.Error.BroadcastNotFound="La trasmissione selezionata non è stata trovata." @@ -1101,21 +1103,21 @@ YouTube.Actions.Stream.ScheduledFor="Pianificato per %1" YouTube.Actions.Stream.Resume="Riprendi lo stream interrotto" YouTube.Actions.Stream.YTStudio="Creato automaticamente da YouTube Studio" -YouTube.Actions.Notify.CreatingBroadcast="Creazione nuovo broadcast live..." +YouTube.Actions.Notify.CreatingBroadcast="Creazione di una nuova trasmissione in diretta, attendi..." YouTube.Actions.AutoStartStreamingWarning.Title="Avvio manuale richiesto" -YouTube.Actions.AutoStartStreamingWarning="er questo evento l'avvio automatico è disabilitato, per avviare la trasmissionefai clic su \"Vai Live\" ." -YouTube.Actions.AutoStopStreamingWarning="Non potrai riconnetterti.<br>Il tuo streaming verrà interrotto e non sarai più in diretta." +YouTube.Actions.AutoStartStreamingWarning="L'avvio automatico è disabilitato per questo evento, per avviare la trasmissione fai clic su \"Vai in diretta\" ." +YouTube.Actions.AutoStopStreamingWarning="Non potrai riconnetterti.<br>La tua trasmissione sarà interrotta e non sarai più in diretta." YouTube.Chat.Input.Send="Invia" YouTube.Chat.Input.Placeholder="Inserisci qui il messaggio" YouTube.Chat.Input.Sending="Invio..." YouTube.Chat.Error.Title="Errore nell'invio del messaggio" YouTube.Chat.Error.Text="Il messaggio non può essere inviato: %1" -YouTube.Errors.liveStreamingNotEnabled="Lo streaming live non è abilitato sul canale YouTube selezionato.<br/><br/>Vedi <a href='https://www.youtube.com/features'>youtube.com/features</a> per ulteriori informazioni." -YouTube.Errors.livePermissionBlocked="Lo streaming live non è disponibile sul canale YouTube selezionato.<br/>Si prega di notare che potrebbero essere necessarie fino a 24 ore perché lo streaming in diretta diventi disponibile dopo averlo abilitato nelle impostazioni del canale.<br/><br/>Vedi <a href='https://www.youtube.com/features'>youtube.com/features</a> per i dettagli." +YouTube.Errors.liveStreamingNotEnabled="La trasmissione in diretta non è abilitata sul canale YouTube selezionato.<br/><br/>Vedi <a href='https://www.youtube.com/features'>youtube.com/features</a> per ulteriori informazioni." +YouTube.Errors.livePermissionBlocked="La trasmissione in diretta non è disponibile sul canale YouTube selezionato.<br/>Nota che potrebbero essere necessarie fino a 24 ore perché la trasmissione in diretta diventi disponibile dopo averlo abilitato nelle impostazioni del canale.<br/><br/>Vedi <a href='https://www.youtube.com/features'>youtube.com/features</a> per i dettagli." YouTube.Errors.errorExecutingTransition="Transizione fallita a causa di un errore di backend. Riprova tra pochi secondi." YouTube.Errors.errorStreamInactive="YouTube non sta ricevendo dati per il tuo flusso. Controlla la tua configurazione e riprova." YouTube.Errors.invalidTransition="Il tentativo di transizione non è valido. Questo potrebbe essere dovuto al fatto che lo stream non ha terminato una transizione precedente. Si prega di attendere alcuni secondi e riprovare." -YouTube.Errors.liveChatDisabled="In questo stream la chat live è disabilitata." -YouTube.Errors.liveChatEnded="Lo stream live è terminato." +YouTube.Errors.liveChatDisabled="In questa trasmissione la chat live è disabilitata." +YouTube.Errors.liveChatEnded="La trasmissione in diretta è terminata." YouTube.Errors.messageTextInvalid="Il testo del messaggio non è valido." YouTube.Errors.rateLimitExceeded="Stai inviando messaggi troppo velocemente."
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/ja-JP.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/ja-JP.ini
Changed
@@ -10,7 +10,7 @@ Add="追加" Remove="削除" Rename="名前を変更" -Interact="対話" +Interact="対話 (操作)" Filters="フィルタ" Properties="プロパティ" MoveUp="上へ移動" @@ -322,7 +322,7 @@ Output.StartStreamFailed="配信開始に失敗しました" Output.StartRecordingFailed="録画開始に失敗しました" Output.StartReplayFailed="リプレイバッファの開始に失敗しました" -Output.StartFailedGeneric="出力開始に失敗しました。詳細はログを確認してください。\n\n注: NVENC または AMDエンコーダ を使用している場合は、ビデオドライバが最新のものであるかを確認してください。" +Output.StartFailedGeneric="出力開始に失敗しました。詳細はログを確認してください。\n\n注: NVENC または AMDエンコーダ を使用している場合は、ビデオドライバーが最新のものであるかを確認してください。" Output.ReplayBuffer.PauseWarning.Title="一時停止中はリプレイを保存できません" Output.ReplayBuffer.PauseWarning.Text="警告: 録画の一時停止中はリプレイを保存できません。" Output.ConnectFail.Title="接続失敗" @@ -378,7 +378,7 @@ MissingFiles.Clear="<クリア>" MissingFiles.NumFound="%2 個中 %1 個見つかりました" MissingFiles.Search="検索ディレクトリ..." -MissingFiles.SelectFile="ファイル選択..." +MissingFiles.SelectFile="ファイルを選択..." MissingFiles.SelectDir="検索するフォルダを選択" MissingFiles.State="状態" MissingFiles.Missing="行方不明" @@ -587,7 +587,6 @@ Basic.MainMenu.File.ShowSettingsFolder="設定フォルダを表示" Basic.MainMenu.File.ShowProfileFolder="プロファイルフォルダを表示" Basic.MainMenu.File.ShowMissingFiles="不足ファイルを確認" -Basic.MainMenu.AlwaysOnTop="常に手前に表示(&A)" Basic.MainMenu.File.Exit="終了(&X)" Basic.MainMenu.Edit="編集(&E)" Basic.MainMenu.Edit.Undo="元に戻す(&U)" @@ -621,12 +620,13 @@ Basic.MainMenu.View="表示(&V)" Basic.MainMenu.View.Toolbars="ツールバー(&T)" Basic.MainMenu.View.ListboxToolbars="シーン/ソース リストボタン" -Basic.MainMenu.View.ContextBar="ソースツールバー" +Basic.MainMenu.View.ContextBar="ソース ツールバー" Basic.MainMenu.View.SceneTransitions="シーントランジション(&C)" -Basic.MainMenu.View.SourceIcons="ソースアイコン(&I)" +Basic.MainMenu.View.SourceIcons="ソース アイコン(&I)" Basic.MainMenu.View.StatusBar="ステータスバー(&S)" Basic.MainMenu.View.Fullscreen.Interface="全画面インターフェイス" Basic.MainMenu.View.ResetUI="UIをリセット(&R)" +Basic.MainMenu.View.AlwaysOnTop="常に手前に表示(&A)" Basic.MainMenu.Docks="ドック(&D)" Basic.MainMenu.Docks.ResetDocks="ドックをリセット(&R)" Basic.MainMenu.Docks.LockDocks="ドックをロック(&L)" @@ -769,6 +769,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="ハードウェア (AMD, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="ハードウェア (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="ハードウェア (NVENC, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="ハードウェア (NVENC, AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="ハードウェア (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="ハードウェア (Apple, H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="ソフトウェア (x264 CPU使用率の低いプリセット、ファイルサイズ増加)" @@ -840,7 +841,6 @@ Basic.Settings.Output.SplitFile.TypeManual="手動で分割" Basic.Settings.Output.SplitFile.Time="分割時間" Basic.Settings.Output.SplitFile.Size="分割サイズ" -Basic.Settings.Output.SplitFile.ResetTimestamps="各分割ファイルの先頭でタイムスタンプをリセットする" Screenshot="出力をスクリーンショット" Screenshot.SourceHotkey="選択したソースをスクリーンショット" Screenshot.StudioProgram="スクリーンショット (プログラム)" @@ -1048,6 +1048,9 @@ About.Contribute="OBS Projectを支援する" AddUrl.Title="URL経由でソースを追加" AddUrl.Text="URLをOBSにドラッグしました。これによりリンクがソースとして自動的に追加されます。続行しますか?" +ResizeOutputSizeOfSource="出力サイズ変更 (ソースサイズ)" +ResizeOutputSizeOfSource.Text="基本解像度 と 出力解像度 は現在のソースサイズにリサイズされます。" +ResizeOutputSizeOfSource.Continue="続行しますか?" PreviewTransition="トランジションのプレビュー" Importer="シーンコレクションインポーター" Importer.SelectCollection="シーンコレクションを選択" @@ -1089,13 +1092,13 @@ YouTube.Actions.Privacy.Unlisted="限定公開" YouTube.Actions.Category="カテゴリ" YouTube.Actions.Thumbnail="サムネイル" -YouTube.Actions.Thumbnail.SelectFile="ファイル選択..." +YouTube.Actions.Thumbnail.SelectFile="ファイルを選択..." YouTube.Actions.Thumbnail.NoFileSelected="ファイルが選択されていません" YouTube.Actions.Thumbnail.ClearFile="クリア" YouTube.Actions.MadeForKids="この動画は子ども向けに作られていますか?*" YouTube.Actions.MadeForKids.Yes="はい、子ども向けです" YouTube.Actions.MadeForKids.No="いいえ、子ども向けではありません" -YouTube.Actions.AdditionalSettings="詳細設定:" +YouTube.Actions.AdditionalSettings="詳細設定" YouTube.Actions.Latency="遅延" YouTube.Actions.Latency.Normal="通常の遅延" YouTube.Actions.Latency.Low="低遅延"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/ka-GE.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/ka-GE.ini
Changed
@@ -161,7 +161,7 @@ Basic.AutoConfig.VideoPage.FPS.UseCurrent="მიმდინარეს გამოყენება (%1)" Basic.AutoConfig.VideoPage.FPS.PreferHighFPS="60 ან 30, თუმცა უმჯობესია 60, როცა შესაძლებელია" Basic.AutoConfig.VideoPage.FPS.PreferHighRes="60 ან 30, თუმცა უმჯობესია მაღალი გარჩევადობით" -Basic.AutoConfig.VideoPage.CanvasExplanation="შენიშვნა: ეკრანის ფონის (ძირითადი) გაფართოება არაა აუცილებელი გაშვებული ნაკადის ან გადაღებული ვიდეოს გაფართოებას ემთხვეოდეს. ცალკეული ნაკადის/ვიდეოს ზომები შეიძლება შემცირდეს, რესურსების მოხმარების ან ბიტური სიხშირის შესამცირებლად." +Basic.AutoConfig.VideoPage.CanvasExplanation="შენიშვნა: ეკრანის ფონის (ძირითადი) გაფართოება არაა აუცილებელი, გაშვებული ნაკადის ან გადაღებული ვიდეოს გაფართოებას ემთხვეოდეს. ცალკეული ნაკადის/ვიდეოს ზომები შეიძლება შემცირდეს დატვირთვის ან ბიტური სიხშირის შესამცირებლად." Basic.AutoConfig.StreamPage="ნაკადის მონაცემები" Basic.AutoConfig.StreamPage.SubTitle="გთხოვთ მიუთითოთ ნაკადის მონაცემები" Basic.AutoConfig.StreamPage.ConnectAccount="ანგარიშთან დაკავშირება (სასურველია)" @@ -201,7 +201,7 @@ Basic.AutoConfig.TestPage.Result.RecordingEncoder="ჩანაწერის დამშიფრავი" Basic.AutoConfig.TestPage.Result.Header="პროგრამის მიერ დადგენილი მიახლოებითი პარამეტრები, რომელიც მეტად გამოსადეგია თქვენთვის:" Basic.AutoConfig.TestPage.Result.Footer="თუ გსურთ ამ პარამეტრების გამოყენება, დააწკაპეთ „პარამეტრების მიღებას“. თუ გსურთ პარამეტრების ხელახლა დადგენა, დააწკაპეთ ღილაკს „უკან“. ხოლო, თუ პარამეტრების ხელით გამართვა გსურთ, დააწკაპეთ „გაუქმებას“ და გადადით პარამეტრებზე." -Basic.AutoConfig.Info="თვითგამართვის მეგზური ირჩევს საუკეთესო პარამეტრებს, თქვენი კომპიუტერის სიმძლავრისა და ინტერნეტსიჩქარის საფუძველზე." +Basic.AutoConfig.Info="თვითგამართვის მეგზური ირჩევს საუკეთესო პარამეტრებს თქვენი კომპიუტერის სიმძლავრისა და ინტერნეტსიჩქარის მიხედვით." Basic.AutoConfig.RunAnytime="მისი გაშვება ნებისმიერ დროს შეიძლება ხელსაწყოების მენიუდან." Basic.Stats="სტატისტიკა" Basic.Stats.CPUUsage="CPU დატვირთვა" @@ -583,7 +583,6 @@ Basic.MainMenu.File.ShowSettingsFolder="პარამეტრების საქაღალდის ჩვენება" Basic.MainMenu.File.ShowProfileFolder="პროფილის საქაღალდის ჩვენება" Basic.MainMenu.File.ShowMissingFiles="ნაკლული ფაილების შემოწმება" -Basic.MainMenu.AlwaysOnTop="ყოველთვის წინა პლანზე (&A)" Basic.MainMenu.File.Exit="გამოსვლა (&X)" Basic.MainMenu.Edit="ჩასწორება (&E)" Basic.MainMenu.Edit.Undo="დაბრუნება (&U)" @@ -623,6 +622,7 @@ Basic.MainMenu.View.StatusBar="მდგომარეობის ზოლი (&S)" Basic.MainMenu.View.Fullscreen.Interface="სრულეკრანიანი" Basic.MainMenu.View.ResetUI="&იერსახის აღდგენა" +Basic.MainMenu.View.AlwaysOnTop="ყოველთვის ზემოთ (&A)" Basic.MainMenu.Docks="&იერსახის ნაწილები" Basic.MainMenu.Docks.ResetDocks="&იერსახის ნაწილების აღდგენა" Basic.MainMenu.Docks.LockDocks="&იერსახის ჩაკეტვა" @@ -755,16 +755,17 @@ Basic.Settings.Output.Simple.RecordingQuality.Lossless="უდანაკარგო ხარისხი, მეტისმეტად დიდი ზომის ფაილი" Basic.Settings.Output.Simple.Warn.VideoBitrate="გაფრთხილება: ნაკადის ვიდეოს სიხშირედ მიეთითება %1, რომელიც მოცემული მომსახურების უმაღლესი ზღვრული მნიშვნელობაა." Basic.Settings.Output.Simple.Warn.AudioBitrate="გაფრთხილება: ნაკადის ხმის სიხშირედ მიეთითება %1, რომელიც მოცემული მომსახურების უმაღლესი ზღვრული მნიშვნელობაა." -Basic.Settings.Output.Simple.Warn.CannotPause="შენიშვნა: ჩაწერის შეჩერება შეუძლებელია, თუ ჩაწერის ხარისხად მითითებულია „გაშვებული ნაკადის შესაბამისი“." -Basic.Settings.Output.Simple.Warn.Encoder="გაფრთხილება: გაშვებული ნაკადისგან განსხვავებულ ხარისხში ჩანაწერის დაშიფვრა, ზრდის პროცესორის დატვირთვას, როცა ნაკადის გაშვება და ჩაწერა, ერთდროულად მიმდინარეობს." -Basic.Settings.Output.Simple.Warn.Lossless="გაფრთხილება: უდანაკარგო ხარისხის მითითების შემთხვევაში, შეიქმნება მეტისმეტად დიდი ზომის ფაილები! უდანაკარგო ხარისხის ვიდეოს თითოეული წუთის მოცულობამ დისკზე, შესაძლოა 7 გიგაბაიტს გადააჭარბოს, მაღალი გარჩევადობისა და კადრის სიხშირის პირობებში. ხანგრძლივი ჩანაწერებისთვის, უდანაკარგოს არჩევა არაა მიზანშეწონილი, თუ არ გაქვთ საკმარისად დიდი მოცულობის თავისუფალი ადგილი დისკზე." +Basic.Settings.Output.Simple.Warn.CannotPause="შენიშვნა: ჩაწერა ვერ შეჩერდება, თუ ჩაწერის ხარისხად მითითებულია „გაშვებული ნაკადის შესაბამისი“." +Basic.Settings.Output.Simple.Warn.Encoder="გაფრთხილება: გაშვებული ნაკადისგან განსხვავებულ ხარისხში ჩაწერის დაშიფვრა ზრდის პროცესორის დატვირთვას, როცა ნაკადის გაშვება და ჩაწერა ერთდროულად მიმდინარეობს." +Basic.Settings.Output.Simple.Warn.Lossless="გაფრთხილება: უდანაკარგო ხარისხის მითითებისას შეიქმნება მეტისმეტად დიდი ზომის ფაილები! უდანაკარგო ხარისხის ვიდეოს თითოეული წუთმა დისკზე შეიძლება დაიკავოს 7 გიგაბაიტზე მეტი მაღალი გარჩევადობისა და კადრის სიხშირისას. ხანგრძლივი ჩანაწერებისთვის უდანაკარგოს არჩევა არაა მიზანშეწონილი, თუ არ გაქვთ საკმარისად დიდი თავისუფალი ადგილი დისკზე." Basic.Settings.Output.Simple.Warn.Lossless.Msg="ნამდვილად გსურთ უდანაკარგო ხარისხის მითითება?" -Basic.Settings.Output.Simple.Warn.Lossless.Title="გაფრთხილება, უდანაკარგო ხარისხის შესახებ!" +Basic.Settings.Output.Simple.Warn.Lossless.Title="გაფრთხილება უდანაკარგო ხარისხის შესახებ!" Basic.Settings.Output.Simple.Encoder.Software="პროგრამული (x264)" Basic.Settings.Output.Simple.Encoder.Hardware.QSV.H264="აპარატურული (QSV, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="აპარატურული (AMD, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="აპარატურული (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="აპარატურული (NVENC, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="აპარატურული (NVENC, AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="აპარატურული (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="აპარატურული (Apple, H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="პროგრამული (x264 პროცესორის დაბალი მოხმარების მზა პარამეტრები, ზრდის ფაილის ზომას)" @@ -787,7 +788,7 @@ Basic.Settings.Output.EncoderPreset.fast="%1 (პროცესორის მეტად დატვირთვა, მაღალი ხარისხი)" Basic.Settings.Output.CustomEncoderSettings="დამშიფრავის პარამეტრების მითითება" Basic.Settings.Output.CustomMuxerSettings="შემფუთავის პარამეტრების მითითება" -Basic.Settings.Output.NoSpaceFileName="ფაილის სახელის შექმნა, გამოტოვებული ადგილების გარეშე" +Basic.Settings.Output.NoSpaceFileName="ფაილის სახელის შექმნა გამოტოვებული ადგილების გარეშე" Basic.Settings.Output.Adv.Rescale="გამოტანის ზომების შეცვლა" Basic.Settings.Output.Adv.AudioTrack="ხმოვანი ჩანაწერი" Basic.Settings.Output.Adv.Streaming="ნაკადი" @@ -837,7 +838,6 @@ Basic.Settings.Output.SplitFile.TypeManual="მხოლოდ ხელით დანაწევრება" Basic.Settings.Output.SplitFile.Time="დაყოფის დრო" Basic.Settings.Output.SplitFile.Size="დაყოფის ზომა" -Basic.Settings.Output.SplitFile.ResetTimestamps="დროითი აღნიშვნების განულება ყოველი დაყოფისას" Screenshot="გამოტანილის სურათის გადაღება" Screenshot.SourceHotkey="შერჩეული წყაროს სურათის გადაღება" Screenshot.StudioProgram="სურათის გადაღება (პროგრამის)" @@ -913,7 +913,7 @@ Basic.Settings.Accessibility.ColorOverrides.Preset.Custom="მითითებული" Basic.Settings.Accessibility.ColorOverrides.Preset.ColorBlind1="დაქვეითებული ფერითი მხედველობისთვის" Basic.Settings.Advanced="დამატებითი" -Basic.Settings.Advanced.General.ConfirmOnExit="გამოტანილ სიგნალებზე გაფრთხილება, პროგრამიდან გასვლისას." +Basic.Settings.Advanced.General.ConfirmOnExit="მოქმედი გამოტანის შესახებ გაფრთხილება გამოსვლისას." Basic.Settings.Advanced.General.ProcessPriority="უპირატესობა დამუშავებისას" Basic.Settings.Advanced.General.ProcessPriority.High="მაღალი" Basic.Settings.Advanced.General.ProcessPriority.AboveNormal="საშუალოზე მაღალი" @@ -1009,7 +1009,7 @@ SceneItemHide="დაიმალოს „%1“" OutputWarnings.NoTracksSelected="უნდა მიუთითოთ ერთი ხმოვანი ჩანაწერი მაინც" OutputWarnings.MP4Recording="გაფრთხილება: MP4/MOV სახით შენახული ჩანაწერები ვეღარ აღდგება, მუშაობის შეწყვეტის შემთხვევაში (მაგ. ლურჯი ეკრანის ამოგდებისას, ძაბვის ვარდნისას და ა.შ.). თუ გსურთ რამდენიმე ხმოვანი ფაილის ჩაწერა, სასურველია ამისთვის გამოიყენოთ MKV და დასრულების შემდეგ გადაფუთოთ MP4/MOV-ფაილად. (ფაილი → ჩანაწერების გადაფუთვა)" -OutputWarnings.CannotPause="შენიშვნა: ჩაწერის შეჩერება შეუძლებელია, თუ ჩაწერისთვის მითითებულია „(გაშვებული ნაკადის დამშიფრავის გამოყენება)“" +OutputWarnings.CannotPause="შენიშვნა: ჩაწერა ვერ შეჩერდება, თუ ჩაწერისთვის მითითებულია „(ნაკადის დამშიფრავის გამოყენება)“" FinalScene.Title="სცენის წაშლა" FinalScene.Text="აუცილებელია, სულ მცირე ერთი სცენა." NoSources.Title="წყაროები არაა" @@ -1029,6 +1029,9 @@ AddUrl.Title="წყაროს დამატება ბმულიდან" AddUrl.Text="ბმული გადმოტანილია OBS-ში. შედეგად, ბმული წყაროს სახით დაემატება. გსურთ, განაგრძოთ?" AddUrl.Text.Url="ბმული: %1" +ResizeOutputSizeOfSource="გამოტანის ზომების შეცვლა (წყაროს ზომები)" +ResizeOutputSizeOfSource.Text="ეკრანის ძირითადი და გამოტანილი ვიდეოს გაფართოება ჩანაცვლდება მიმდინარე წყაროს ზომებით." +ResizeOutputSizeOfSource.Continue="გსურთ, განაგრძოთ?" PreviewTransition="გადასვლის შეთვალიერება" Importer="სცენის კრებულის შემომტანი" Importer.SelectCollection="აირჩიეთ სცენის კრებული" @@ -1076,7 +1079,7 @@ YouTube.Actions.MadeForKids="ეს ვიდეო ბავშვებისთვისაა?" YouTube.Actions.MadeForKids.Yes="დიახ, ბავშვებისთვისაა შექმნილი" YouTube.Actions.MadeForKids.No="არა, ბავშვებისთვის არაა შექმნილი" -YouTube.Actions.AdditionalSettings="დამატებითი პარამეტრები:" +YouTube.Actions.AdditionalSettings="დამატებითი პარამეტრები" YouTube.Actions.Latency="დაყოვნება" YouTube.Actions.Latency.Normal="ჩვეულებრივი" YouTube.Actions.Latency.Low="დაბალი"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/kab-KAB.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/kab-KAB.ini
Changed
@@ -209,6 +209,7 @@ Undo.Redo="Uɣal" Undo.Add="Rnu '%1'" Undo.Delete="kkes '%1'" +Undo.SceneCollection.Switch="Senfel ɣer '%1'" TransitionNameDlg.Text="Ma ulac uɣilif sekcem isem i usayes" TransitionNameDlg.Title="Isem n usaka" TitleBar.Profile="Amaɣnu" @@ -265,6 +266,7 @@ Remux.FileExistsTitle="Afaylu anican yella" Remux.FileExists="Ifuyla-agi inicanen llan yakan. Tebɣiḍ ad ten-tsemselsiḍ?" Remux.HelpText="Sers ifuyla deg usfaylu-agi akken ad ten-tselkteḍ, neɣ fren tabniqt \"Asekles OBS\" akken ad tnadiḍ afaylu." +MissingFiles.NewFile="Afaylu amaynut" UpdateAvailable="Yewjed lqem amaynut" UpdateAvailable.Text="Lqem %1.%2.%3 yewjed tura. <a href='%4'>Ssit dagi akken ad t-tsidreḍ</a>" Basic.DesktopDevice1="Ameslaw n tnarit" @@ -275,6 +277,7 @@ Basic.Main.Preview.Disable="Sens tadlayt" ScaleFiltering.Point="Tanqiḍt" ScaleFiltering.Area="Taɣzut" +BlendingMethod.Default="Amezwer" Deinterlacing.TopFieldFirst="Urti n ufella d amezwaru" VolControl.SliderUnmuted="Taḥnaccaḍt n ubleɣ i '%1':" VolControl.SliderMuted="Taḥnaccaḍt n ubleɣ i '%1': (akka tura yessusem)" @@ -383,7 +386,6 @@ Basic.MainMenu.File.Settings="Iɣewwaren (&S)" Basic.MainMenu.File.ShowSettingsFolder="Beqqeḍ akaram n yiɣewwaren" Basic.MainMenu.File.ShowProfileFolder="Beqqeḍ akaram n umaɣnu" -Basic.MainMenu.AlwaysOnTop="Y&alas nnig" Basic.MainMenu.File.Exit="Ffeɣ (&X)" Basic.MainMenu.Edit="Ẓr&eg" Basic.MainMenu.Edit.Undo="Sefsex (&U)"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/kmr-TR.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/kmr-TR.ini
Changed
@@ -580,7 +580,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Peldanka sazkariyan nîşan bide" Basic.MainMenu.File.ShowProfileFolder="Peldanka profîlê nîşan bide" Basic.MainMenu.File.ShowMissingFiles="Bo pelên wendayî kontrol bike" -Basic.MainMenu.AlwaysOnTop="Her dem li jor (&A)" Basic.MainMenu.File.Exit="Derkeve (&X)" Basic.MainMenu.Edit="Biguh&erîne" Basic.MainMenu.Edit.Undo="Vegerîne (&U)" @@ -619,6 +618,7 @@ Basic.MainMenu.View.StatusBar="Darika rewşê (&S)" Basic.MainMenu.View.Fullscreen.Interface="Navrûya dîmendera tije" Basic.MainMenu.View.ResetUI="&Navrûya bikarhêneriyê ji nû ve saz bike" +Basic.MainMenu.View.AlwaysOnTop="&Her dem li jor" Basic.MainMenu.Docks="&Bender" Basic.MainMenu.Docks.ResetDocks="&Benderê ji nû ve saz bike" Basic.MainMenu.Docks.LockDocks="&Benderê kilît bike" @@ -761,6 +761,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="Reqalav (AMD, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="Reqalav (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="Reqalav (NVENC, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="Reqalav (NVENC, AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="Reqalav (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="Reqalav (Apple, H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="Bernameya (x264 pêşsazkirî ku kêm CPU bi kar bînê, mezinahiyapelê bêtir dike)" @@ -831,7 +832,6 @@ Basic.Settings.Output.SplitFile.TypeManual="Dabeşkirin tenê bi destan" Basic.Settings.Output.SplitFile.Time="Dema dabeşkirinê" Basic.Settings.Output.SplitFile.Size="Mezinahiya dabeşkirinê" -Basic.Settings.Output.SplitFile.ResetTimestamps="Di destpêka her pelê dabeşkirî de nîşanên demê ji nû ve saz bike" Screenshot="Derana wêneya dîmenderê" Screenshot.SourceHotkey="Wêneya dîmenderê çavkaniya hilbijartî" Screenshot.StudioProgram="Wêneya dîmenderê (bername)" @@ -1023,6 +1023,9 @@ AddUrl.Title="Çavkanî bi riya girêdanê tevlî bike" AddUrl.Text="Te girêdanek kêşand OBS. Ev ê bixweber girêdanê wekî çavkanî tevlî bike. Bidomîne?" AddUrl.Text.Url="Girêdan %1" +ResizeOutputSizeOfSource="Mezinahiya deranê ji nû ve saz bike (mezinahiya çavkaniyê)" +ResizeOutputSizeOfSource.Text="Pîvana bingehîn û çareseriyên deranê wê ji nû ve werin sazkirin bo mezinahiya çavkaniya heyî." +ResizeOutputSizeOfSource.Continue="Tu dixwazî bidomînî?" PreviewTransition="Pêşdîtina derbasbûnê" Importer="Têxistinera berhevoka dîmenê" Importer.SelectCollection="Berhevokeke dîmenan hilbijêre" @@ -1070,7 +1073,7 @@ YouTube.Actions.MadeForKids="Ma ev vîdyo ji bo zarokan hatiye çêkirin? *" YouTube.Actions.MadeForKids.Yes="Erê, ji bo zarokan hatiye çêkirin" YouTube.Actions.MadeForKids.No="Na, ji bo zarokan nehatiye çêkirin" -YouTube.Actions.AdditionalSettings="Bêhtir sazkarî" +YouTube.Actions.AdditionalSettings="Sazkariyên vebijêrkî" YouTube.Actions.Latency="Derengxistin" YouTube.Actions.Latency.Low="Kêm" YouTube.Actions.Latency.UltraLow="Pir kêm"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/ko-KR.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/ko-KR.ini
Changed
@@ -272,7 +272,7 @@ Undo.Transform.Reset="'%1' 변환 초기화" Undo.Transform.HFlip="'%1' 수평 반전" Undo.Transform.VFlip="'%1' 수직 반전" -Undo.Transform.FitToScreen="'%1' 화면 맞춤" +Undo.Transform.FitToScreen="'%1' 화면에 맞추기" Undo.Transform.StretchToScreen="'%1' 화면 맞춤" Undo.Transform.Center="'%1' 화면 중앙 맞춤" Undo.Transform.VCenter="'%1' 화면 수직 중앙 맞춤" @@ -281,7 +281,7 @@ Undo.Volume.Mute="'%1' 음소거" Undo.Volume.Unmute="'%1' 음소거 해제" Undo.Balance.Change="'%1' 오디오 밸런스 변경" -Undo.SyncOffset.Change="'%1' 오디오 동기화 오프셋 변경" +Undo.SyncOffset.Change="'%1' 오디오 싱크 오프셋 변경" Undo.MonitoringType.Change="'%1' 오디오 모니터링 변경" Undo.Mixers.Change="'%1' 오디오 믹서 변경" Undo.ForceMono.On="'%1' 모노 강제 활성화" @@ -418,6 +418,8 @@ Basic.Main.PreviewConextMenu.Enable="미리보기 켜기" Basic.Main.Preview.Disable="미리보기 끄기" ScaleFiltering="비율 필터링" +ScaleFiltering.Bilinear="바이리니어" +ScaleFiltering.Bicubic="바이큐빅" ScaleFiltering.Area="영역" BlendingMethod="혼합 방법" BlendingMethod.Default="기본" @@ -432,7 +434,7 @@ BlendingMode.Darken="어둡게" Deinterlacing="디인터레이싱" Deinterlacing.Discard="버리기" -Deinterlacing.TopFieldFirst="위 필드 우선" +Deinterlacing.TopFieldFirst="위 필드 우선" Deinterlacing.BottomFieldFirst="아래 필드 우선" VolControl.SliderUnmuted="'%1'의 음량 조절:" VolControl.SliderMuted="'%1'의 음량 조절: (현재 음소거)" @@ -584,7 +586,6 @@ Basic.MainMenu.File.ShowSettingsFolder="설정 폴더 보기" Basic.MainMenu.File.ShowProfileFolder="프로파일 폴더 보기" Basic.MainMenu.File.ShowMissingFiles="누락된 파일 검사" -Basic.MainMenu.AlwaysOnTop="항상 위(&A)" Basic.MainMenu.File.Exit="끝내기(&X)" Basic.MainMenu.Edit="편집(&E)" Basic.MainMenu.Edit.Undo="실행 취소(&U)" @@ -604,7 +605,7 @@ Basic.MainMenu.Edit.Transform.Rotate180="180도 회전" Basic.MainMenu.Edit.Transform.FlipHorizontal="수평으로 뒤집기(&H)" Basic.MainMenu.Edit.Transform.FlipVertical="수직으로 뒤집기(&V)" -Basic.MainMenu.Edit.Transform.FitToScreen="화면에 채우기(&F)" +Basic.MainMenu.Edit.Transform.FitToScreen="화면에 맞추기(&F)" Basic.MainMenu.Edit.Transform.StretchToScreen="화면에 맞춰 늘리기(&S)" Basic.MainMenu.Edit.Transform.CenterToScreen="화면 가운데(&C)" Basic.MainMenu.Edit.Transform.VerticalCenter="수직 중앙으로" @@ -624,6 +625,7 @@ Basic.MainMenu.View.StatusBar="상태 표시줄(&S)" Basic.MainMenu.View.Fullscreen.Interface="전체화면 인터페이스" Basic.MainMenu.View.ResetUI="UI 초기화(&R)" +Basic.MainMenu.View.AlwaysOnTop="항상 위(&A)" Basic.MainMenu.Docks="독(&D)" Basic.MainMenu.Docks.ResetDocks="독 초기화(&R)" Basic.MainMenu.Docks.LockDocks="독 잠그기(&L)" @@ -681,7 +683,7 @@ Basic.Settings.General.KeepReplayBufferStreamStops="방송을 중단해도 리플레이 버퍼를 중단하지 않기" Basic.Settings.General.SysTray="시스템 트레이" Basic.Settings.General.SysTrayWhenStarted="시작할 때 시스템 트레이로 최소화" -Basic.Settings.General.SystemTrayHideMinimize="작업 표시줄 대신 시스템 트레이에 항상 최소화" +Basic.Settings.General.SystemTrayHideMinimize="항상 작업 표시줄 대신 시스템 트레이로 최소화" Basic.Settings.General.SaveProjectors="종료 시 프로젝터 저장" Basic.Settings.General.CloseExistingProjectors="스크린 당 프로젝터를 한 개만 전체화면으로 제한" Basic.Settings.General.Preview="미리보기" @@ -725,7 +727,7 @@ Basic.Settings.Stream.IgnoreRecommended="권장 스트리밍 서비스 설정 무시" Basic.Settings.Stream.IgnoreRecommended.Warn.Title="권장 설정 덮어쓰기" Basic.Settings.Stream.IgnoreRecommended.Warn.Text="경고: 서비스 제한을 넘는 경우 방송의 품질이 저하되거나 방송이 중단될 수 있습니다.\n\n계속하시겠습니까?" -Basic.Settings.Stream.Recommended.MaxVideoBitrate="최대 영상 비트레이트: %1 kbps" +Basic.Settings.Stream.Recommended.MaxVideoBitrate="최대 비디오 비트레이트: %1 kbps" Basic.Settings.Stream.Recommended.MaxAudioBitrate="최대 오디오 비트레이트: %1 kbps" Basic.Settings.Stream.Recommended.MaxResolution="최대 해상도: %1" Basic.Settings.Stream.Recommended.MaxFPS="최대 FPS: %1" @@ -746,8 +748,8 @@ Basic.Settings.Output.ReplayBuffer.MegabytesMax="최대 메모리 (MB)" Basic.Settings.Output.ReplayBuffer.Estimate="예상되는 메모리 사용량: %1 MB" Basic.Settings.Output.ReplayBuffer.EstimateUnknown="메모리 사용량을 계산할 수 없습니다. 최대 메모리 사용량을 직접 설정하세요." -Basic.Settings.Output.ReplayBuffer.Prefix="리플레이 버퍼 파일 이름 접두사" -Basic.Settings.Output.ReplayBuffer.Suffix="접미사" +Basic.Settings.Output.ReplayBuffer.Prefix="리플레이 버퍼 파일 이름 접두" +Basic.Settings.Output.ReplayBuffer.Suffix="접미" Basic.Settings.Output.Simple.SavePath="녹화 저장 경로" Basic.Settings.Output.Simple.RecordingQuality="녹화 품질" Basic.Settings.Output.Simple.RecordingQuality.Stream="방송 품질과 동일하게" @@ -766,6 +768,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="하드웨어 (AMD, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="하드웨어 (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="하드웨어 (NVENC, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="하드웨어 (NVENC, AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="하드웨어 (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="하드웨어 (Apple, H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="소프트웨어 (x264 CPU 부담이 적은 사전 설정, 파일 크기 증가)" @@ -837,7 +840,6 @@ Basic.Settings.Output.SplitFile.TypeManual="수동으로만 분할" Basic.Settings.Output.SplitFile.Time="나눌 시간" Basic.Settings.Output.SplitFile.Size="나눌 크기" -Basic.Settings.Output.SplitFile.ResetTimestamps="분할 파일마다 파일명 시간 초기화하기" Screenshot="스크린샷 출력" Screenshot.SourceHotkey="선택한 소스를 스크린샷" Screenshot.StudioProgram="스크린샷 (프로그램)" @@ -858,12 +860,12 @@ Basic.Settings.Video.Numerator="분자" Basic.Settings.Video.Denominator="분모" Basic.Settings.Video.Renderer="렌더러" -Basic.Settings.Video.InvalidResolution="유효하지 않은 해상도 값입니다. 반드시 widthxheight 형식이어야 합니다. (예시: 1920x1080)" +Basic.Settings.Video.InvalidResolution="유효하지 않은 해상도 값입니다. 반드시 너비x높이 형식이어야 합니다. (예시: 1920x1080)" Basic.Settings.Video.CurrentlyActive="현재 비디오가 출력되고 있습니다. 비디오 설정을 변경하려면 관련 작업을 중단해야 합니다." Basic.Settings.Video.DisableAero="Aero 끄기" -Basic.Settings.Video.DownscaleFilter.Bilinear="Bilinear (가장 빠름, 크기가 바뀌면 흐려짐)" -Basic.Settings.Video.DownscaleFilter.Bicubic="Bicubic (조금 더 날카롭게 처리, 16 샘플)" -Basic.Settings.Video.DownscaleFilter.Lanczos="Lanczos (조금 더 날카롭게 처리, 36 샘플)" +Basic.Settings.Video.DownscaleFilter.Bilinear="이중 선형 (빠름, 크기가 바뀌면 흐려짐)" +Basic.Settings.Video.DownscaleFilter.Bicubic="바이큐빅 (조금 더 날카롭게 처리, 16 샘플)" +Basic.Settings.Video.DownscaleFilter.Lanczos="란초스 (조금 더 날카롭게 처리, 36 샘플)" Basic.Settings.Video.DownscaleFilter.Area="영역 (가중치 합, 4/6/9 샘플)" Basic.Settings.Audio="오디오" Basic.Settings.Audio.SampleRate="샘플 레이트" @@ -887,10 +889,10 @@ Basic.Settings.Audio.AuxDevice2="마이크/Aux 오디오 2" Basic.Settings.Audio.AuxDevice3="마이크/Aux 오디오 3" Basic.Settings.Audio.AuxDevice4="마이크/Aux 오디오 4" -Basic.Settings.Audio.EnablePushToMute="누르면 음소거 활성화" -Basic.Settings.Audio.PushToMuteDelay="누르면 음소거 지연" -Basic.Settings.Audio.EnablePushToTalk="누르며 말하기 활성화" -Basic.Settings.Audio.PushToTalkDelay="누르며 말하기 지연" +Basic.Settings.Audio.EnablePushToMute="눌러서 음소거하기" +Basic.Settings.Audio.PushToMuteDelay="음소거 시작 지연" +Basic.Settings.Audio.EnablePushToTalk="눌러서 말하기" +Basic.Settings.Audio.PushToTalkDelay="말하기 시작 지연" Basic.Settings.Audio.UnknownAudioDevice="장치가 연결되지 않았거나 사용할 수 없음" Basic.Settings.Audio.Disabled="비활성화" Basic.Settings.Audio.LowLatencyBufferingMode="낮은 지연 시간의 오디오 버퍼링 모드 (Decklink/NDI 출력 전용)" @@ -967,10 +969,10 @@ Basic.AdvAudio.Balance="균형" Basic.AdvAudio.BalanceSource="'%1' 밸런싱" Basic.AdvAudio.SyncOffset="싱크 오프셋" -Basic.AdvAudio.SyncOffsetSource="'%1' 싱크 조절" +Basic.AdvAudio.SyncOffsetSource="'%1' 싱크 오프셋" Basic.AdvAudio.Monitoring="오디오 모니터링" Basic.AdvAudio.Monitoring.None="모니터링 끔" -Basic.AdvAudio.Monitoring.MonitorOnly="모니터링만 (출력은 제거)" +Basic.AdvAudio.Monitoring.MonitorOnly="모니터링 전용 (출력 음소거)" Basic.AdvAudio.Monitoring.Both="모니터링과 출력" Basic.AdvAudio.MonitoringSource="'%1' 오디오 모니터링" Basic.AdvAudio.AudioTracks="트랙" @@ -991,11 +993,11 @@ Hotkeys.Menu="메뉴" Hotkeys.Space="스페이스" Hotkeys.NumpadNum="숫자키 패드 %1" -Hotkeys.NumpadMultiply="숫자키 패드 *" -Hotkeys.NumpadDivide="숫자키 패드 /" +Hotkeys.NumpadMultiply="키패드 *" +Hotkeys.NumpadDivide="키패드 /" Hotkeys.NumpadAdd="숫자키 패드 +" -Hotkeys.NumpadSubtract="숫자키 패드 -" -Hotkeys.NumpadDecimal="숫자키 패드 ." +Hotkeys.NumpadSubtract="키패드 -" +Hotkeys.NumpadDecimal="키패드 ." Hotkeys.AppleKeypadNum="%1 (키패드)" Hotkeys.AppleKeypadMultiply="* (키패드)" Hotkeys.AppleKeypadDivide="/ (키패드)" @@ -1031,6 +1033,9 @@ About.Contribute="OBS 프로젝트를 후원하세요" AddUrl.Title="URL을 통해 소스 추가" AddUrl.Text="URL을 OBS로 가져왔습니다. 이 링크를 소스로 자동으로 추가할 것입니다. 계속할까요?" +ResizeOutputSizeOfSource="출력 크기 조정 (소스 크기)" +ResizeOutputSizeOfSource.Text="기본 및 출력 해상도가 현재 소스 크기로 조정됩니다." +ResizeOutputSizeOfSource.Continue="계속하시겠습니까?" PreviewTransition="화면 전환 미리보기" Importer="장면 모음 불러오기" Importer.SelectCollection="장면 모음 선택" @@ -1074,26 +1079,26 @@ YouTube.Actions.Thumbnail="미리보기" YouTube.Actions.Thumbnail.SelectFile="파일 선택..." YouTube.Actions.Thumbnail.NoFileSelected="선택된 파일 없음" -YouTube.Actions.Thumbnail.ClearFile="선택 해제" +YouTube.Actions.Thumbnail.ClearFile="삭제" YouTube.Actions.MadeForKids="아동용 영상인가요?*" YouTube.Actions.MadeForKids.Yes="예, 아동용입니다" YouTube.Actions.MadeForKids.No="아니요, 아동용이 아닙니다" -YouTube.Actions.AdditionalSettings="추가 설정:" +YouTube.Actions.AdditionalSettings="추가 설정" YouTube.Actions.Latency="지연 시간" YouTube.Actions.Latency.Normal="기본" YouTube.Actions.Latency.Low="짧음" YouTube.Actions.Latency.UltraLow="매우 짧음" YouTube.Actions.EnableAutoStart="자동 시작 사용" -YouTube.Actions.EnableAutoStop="자동 멈추기 사용" +YouTube.Actions.EnableAutoStop="자동 중단 사용" YouTube.Actions.AutoStartStop.TT="예약된 방송이 자동으로 시작될지 선택" YouTube.Actions.EnableDVR="DVR 사용" YouTube.Actions.360Video="360° 동영상" -YouTube.Actions.ScheduleForLater="나중을 위해 임시 저장하기" +YouTube.Actions.ScheduleForLater="나중을 위해 예약하기" YouTube.Actions.RememberSettings="이 설정 기억하기" YouTube.Actions.Create_Ready="방송 생성" -YouTube.Actions.Create_GoLive="방송 생성 후 생방송 켜기" +YouTube.Actions.Create_GoLive="방송 생성 후 생방송 시작하기" YouTube.Actions.Choose_Ready="방송 선택" -YouTube.Actions.Choose_GoLive="방송 선택 후 스트리밍 시작" +YouTube.Actions.Choose_GoLive="방송 선택 후 생방송 시작하기" YouTube.Actions.Create_Schedule="방송 예약" YouTube.Actions.Create_Schedule_Ready="방송 선택 후 예약" YouTube.Actions.Dashboard="YouTube 스튜디오 열기" @@ -1115,7 +1120,7 @@ YouTube.Actions.Stream="스트림" YouTube.Actions.Stream.ScheduledFor="예정: %1" YouTube.Actions.Stream.Resume="중단된 송출 재개" -YouTube.Actions.Stream.YTStudio="YouTube 스튜디오에 의해 자동적으로 생성됨" +YouTube.Actions.Stream.YTStudio="YouTube Studio에 의해 자동으로 생성됨" YouTube.Actions.Notify.CreatingBroadcast="새로운 실시간 스트리밍을 생성하는 중입니다. 기다려 주십시오..." YouTube.Actions.AutoStartStreamingWarning.Title="수동 시작 필요" YouTube.Actions.AutoStartStreamingWarning="이 이벤트는 자동 시작이 꺼져 있습니다. \"방송 시작\"을 눌러 방송을 시작하십시오."
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/lo-LA.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/lo-LA.ini
Changed
@@ -1,5 +1,6 @@ Language="ພາສາລາວ" OK="ໂອເຄ" +Apply="ສະໝັກ" Cancel="ຍົກເລີກ" Close="ປິດ" Save="ບັນທຶກ" @@ -10,6 +11,7 @@ Add="ເພີ່ມ" Remove="ເອົາອອກ" Rename="ປ່ຽນຊື່" +Interact="ໂຕ້ຕອບ" Filters="ເພີ່ມພິເສດ" Properties="ລາຍລະອຽດ" MoveUp="ຍັບຂຶ້ນເທິງ" @@ -22,10 +24,15 @@ Browse="ເປີດຫາ" Mono="ໂມໂນ" Stereo="ສະເຕີຣີໂອ" +DroppedFrames="ເຟຣມຫຼຸດລົງ %1 (%2%)" StudioProgramProjector="ສະແດງຜົນເຕັມຈໍ ( ພາບສົດປະຈຸບັນ)" PreviewProjector="ສະແດງຜົນເຕັມຈໍ ( ພາບສະແຕນບາຍ)" SceneProjector="ສະແດງຜົນເຕັມຈໍ (ສາກ)" SourceProjector="ສະແດງຜົນເຕັມຈໍ ( Source)" +StudioProgramWindow="Windowed Projector (ໂປຣແກຣມ)" +PreviewWindow="ໂປເຈັກເຕີທີ່ມີປ່ອງຢ້ຽມ (ເບິ່ງຕົວຢ່າງ)" +SceneWindow="ໂປເຈັກເຕີທີ່ມີປ່ອງຢ້ຽມ (ສາກ)" +SourceWindow="Windowed Projector (ແຫຼ່ງທີ່ມາ)" MultiviewProjector="ຫລາຍຈໍ (ແບບເຕັມຈໍ)" MultiviewWindowed="ຫລາຍຈໍ (ແບບບໍ່ເຕັມຈໍ)" ResizeProjectorWindowToContent="ປັບຫນ້າຈໍໃຫ້ເທົ່າກັບ ພາບ ໂຕປະຈຸບັນ" @@ -39,7 +46,34 @@ Duplicate="ສຳເນົາອອກມາ" Enable="ເປີດໃຊ້ງານ" DisableOSXVSync="ປິດໃຊ້ງານ macOS V-Sync" +ResetOSXVSyncOnExit="ຣີເຊັດ macOS V-Sync ເມື່ອອອກ" HighResourceUsage="ການ Encode ເລີ່ມເກີນຂີດຈຳກັດ! ລອງພິຈາລະນາ ປັບການຕັ້ງຄ່າ ວີດີໂອ ໜ້ອຍລົງ ຫລື ເລືອກໃຊ້ encoding preset." +Transition="ການຫັນປ່ຽນ" +QuickTransitions="ການຫັນປ່ຽນດ່ວນ" +FadeToBlack="ຈາງລົງເປັນສີດຳ" +Left="ຊ້າຍ" +Right="ສິດ" +Top="ເທິງ" +Bottom="ລຸ່ມ" +Reset="ຣີເຊັດ" +Hours="ຊົ່ວໂມງ" +Minutes="ນາທີ" +Seconds="ວິນາທີ" +Deprecated="ເຊົາໃຊ້ແລ້ວ" +ReplayBuffer="ຫຼິ້ນ Buffer ຄືນໃໝ່" +Import="ນຳເຂົ້າ" +Export="ສົ່ງອອກ" +Copy="ສຳເນົາ" +Paste="ວາງ" +PasteReference="ວາງ (ອ້າງອີງ)" +PasteDuplicate="ວາງ (ຊໍ້າກັນ)" +RemuxRecordings="ການບັນທຶກ Remux" +Next="ຕໍ່ໄປ" +Back="ກັບຄືນໄປບ່ອນ" +Defaults="ຄ່າເລີ່ມຕົ້ນ" +RestoreDefaults="ຄ່າເລີ່ມຕົ້ນ" +HideMixer="ເຊື່ອງໃນ Mixer" +TransitionOverride="ລົບລ້າງການຫັນປ່ຽນ" Fullscreen="ເຕັມຈໍ" LockVolume="ລັອກລະດັບສຽງໄວ້" LogViewer="ເບິ່ງ Log"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/lt-LT.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/lt-LT.ini
Changed
@@ -69,6 +69,7 @@ Next="Kitas" Back="Atgal" Defaults="Numatytieji" +RestoreDefaults="Numatytieji nustatymai" HideMixer="Paslėpti maišyklėje" TransitionOverride="Perėjimo perrašymas" ShowTransition="Rodymo perėjimas" @@ -325,7 +326,6 @@ Basic.MainMenu.File.Settings="Nu&statymai" Basic.MainMenu.File.ShowSettingsFolder="Parodyti nustatymų katalogą" Basic.MainMenu.File.ShowProfileFolder="Parodyti profilių katalogą" -Basic.MainMenu.AlwaysOnTop="Visuomet viršuje (&A)" Basic.MainMenu.File.Exit="Išeiti (&X)" Basic.MainMenu.Edit="R&edaguoti" Basic.MainMenu.Edit.Undo="Atša&ukti" @@ -370,3 +370,4 @@ Push-to-talk="Kalbėti paspaudus" FinalScene.Title="Ištrinti sceną" FinalScene.Text="Turi būti bent viena scena." +ResizeOutputSizeOfSource.Continue="Ar jūs norite tęsti?"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/lv-LV.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/lv-LV.ini
Changed
@@ -476,7 +476,6 @@ Basic.MainMenu.File.Settings="Ie&statījumi" Basic.MainMenu.File.ShowSettingsFolder="Parādīt iestatījumu mapi" Basic.MainMenu.File.ShowProfileFolder="Parādīt profila mapi" -Basic.MainMenu.AlwaysOnTop="Vienmēr virspusē" Basic.MainMenu.File.Exit="Aizvērt" Basic.MainMenu.Edit="R&ediģēt" Basic.MainMenu.Edit.Undo="Atgriezt (&undo)"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/mn-MN.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/mn-MN.ini
Changed
@@ -282,7 +282,6 @@ Basic.MainMenu.File.Settings="Тохиргоо (&S)" Basic.MainMenu.File.ShowSettingsFolder="Тохиргооны хавтасыг харуулах" Basic.MainMenu.File.ShowProfileFolder="Профайлын хавтасыг харуулах" -Basic.MainMenu.AlwaysOnTop="Үргэлж дээд хэсэгт (&A)" Basic.MainMenu.File.Exit="Гарах (&X)" Basic.MainMenu.Edit="&Засах" Basic.MainMenu.Edit.LockPreview="Урьдчилан харуулахыг түгжих"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/ms-MY.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/ms-MY.ini
Changed
@@ -572,7 +572,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Tunjuk Folder Tetapan" Basic.MainMenu.File.ShowProfileFolder="Tunjuk Folder Profil" Basic.MainMenu.File.ShowMissingFiles="Periksa Fail yang Hilang" -Basic.MainMenu.AlwaysOnTop="Senti&asa Di Atas" Basic.MainMenu.File.Exit="&Keluar" Basic.MainMenu.Edit="&Sunting" Basic.MainMenu.Edit.Undo="Buat &Asal" @@ -821,7 +820,6 @@ Basic.Settings.Output.SplitFile.TypeManual="Hanya pisah secara manual" Basic.Settings.Output.SplitFile.Time="Pisah Waktu" Basic.Settings.Output.SplitFile.Size="Pisah Saiz" -Basic.Settings.Output.SplitFile.ResetTimestamps="Ubah waktu timestamp pada setiap permulaan pecahan fail" Screenshot="Tangkap Skrin Output" Screenshot.SourceHotkey="Tangkap Skrin Sumber Terpilih" Screenshot.StudioProgram="Tangkap Skrin (Program)" @@ -1005,6 +1003,9 @@ About.Contribute="Sokong Projek OBS" AddUrl.Title="Tambah Sumber melalui URL" AddUrl.Text="Anda telah menyeret satu URL ke dalam OBS. Ia akan menambah pautan sebagai sumber secara automatik. Teruskan?" +ResizeOutputSizeOfSource="Saiz semula output (saiz sumber)" +ResizeOutputSizeOfSource.Text="Resolusi dasar dan output akan disaiz semula ke saiz sumber semasa." +ResizeOutputSizeOfSource.Continue="Anda mahu teruskan?" PreviewTransition="Pratonton Peralihan" Importer="Pengimport Koleksi Adegan" Importer.SelectCollection="Pilih satu Koleksi Adegan" @@ -1052,7 +1053,7 @@ YouTube.Actions.MadeForKids="Adakah video untuk dihasilkan untuk tontonan kanak-kanak?*" YouTube.Actions.MadeForKids.Yes="Ya, ia khusus untuk kanak-kanak" YouTube.Actions.MadeForKids.No="Tidak, bukan untuk tontonan kanak-kanak" -YouTube.Actions.AdditionalSettings="Tetapan tambahan:" +YouTube.Actions.AdditionalSettings="Tetapan tambahan" YouTube.Actions.Latency="Kependaman" YouTube.Actions.Latency.Normal="Biasa" YouTube.Actions.Latency.Low="Rendah"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/nb-NO.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/nb-NO.ini
Changed
@@ -526,7 +526,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Vis innstillingsmappen" Basic.MainMenu.File.ShowProfileFolder="Vis profilmappen" Basic.MainMenu.File.ShowMissingFiles="Sjekk for manglende filer" -Basic.MainMenu.AlwaysOnTop="&Alltid synlig" Basic.MainMenu.File.Exit="Avslutt (&X)" Basic.MainMenu.Edit="R&edigér" Basic.MainMenu.Edit.Undo="Angre (&U)" @@ -927,7 +926,6 @@ YouTube.Actions.MadeForKids="Er denne videoen laget for barn?*" YouTube.Actions.MadeForKids.Yes="Ja, den er laget for barn" YouTube.Actions.MadeForKids.No="Nei, den er ikke laget for barn" -YouTube.Actions.AdditionalSettings="Ytterligere innstillinger:" YouTube.Actions.Latency="Forsinkelse" YouTube.Actions.Latency.Low="Lav" YouTube.Actions.Latency.UltraLow="Ultra-lav"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/nl-NL.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/nl-NL.ini
Changed
@@ -561,7 +561,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Toon de instellingenmap" Basic.MainMenu.File.ShowProfileFolder="Toon de profielmap" Basic.MainMenu.File.ShowMissingFiles="Controleren op ontbrekende bestanden" -Basic.MainMenu.AlwaysOnTop="&Altijd op de voorgrond" Basic.MainMenu.File.Exit="&Afsluiten" Basic.MainMenu.Edit="B&ewerken" Basic.MainMenu.Edit.Undo="Ongedaan maken (&U)" @@ -599,6 +598,7 @@ Basic.MainMenu.View.SourceIcons="Bron-&iconen" Basic.MainMenu.View.StatusBar="&Statusbalk" Basic.MainMenu.View.Fullscreen.Interface="Volledig scherminterface" +Basic.MainMenu.View.AlwaysOnTop="&Altijd op de voorgrond" Basic.MainMenu.Docks.ResetDocks="&Dokken opnieuw instellen" Basic.MainMenu.Docks.LockDocks="&Docks opslot doen" Basic.MainMenu.Docks.CustomBrowserDocks="&Aangepaste browser-docks..." @@ -789,7 +789,6 @@ Basic.Settings.Output.SplitFile.TypeManual="Alleen handmatig splitsen" Basic.Settings.Output.SplitFile.Time="Splits Tijd" Basic.Settings.Output.SplitFile.Size="Splits grootte" -Basic.Settings.Output.SplitFile.ResetTimestamps="Reset tijdstempels aan het begin van elk gesplitst bestand" Screenshot="Schermopname Uitvoer" Screenshot.SourceHotkey="Schermopname Geselecteerde Bron" Screenshot.StudioProgram="Schermopname (Programma)" @@ -935,6 +934,9 @@ About.Contribute="Steun het OBS project" AddUrl.Title="Bron toevoegen via URL" AddUrl.Text="U heeft een URL naar OBS gesleept. Dit zal automatisch de link als bron toevoegen. Doorgaan?" +ResizeOutputSizeOfSource="Uitvoer grootte aanpassen (brongrootte)" +ResizeOutputSizeOfSource.Text="De basis en uitvoer resoluties worden aangepast naar de grootte van de huidige bron." +ResizeOutputSizeOfSource.Continue="Wil je doorgaan?" PreviewTransition="Voorbeeld overgang" Importer="Scèneverzameling importeur" Importer.SelectCollection="Selecteer scèneverzameling" @@ -979,7 +981,7 @@ YouTube.Actions.MadeForKids="Is deze video gemaakt voor kinderen?*" YouTube.Actions.MadeForKids.Yes="Ja, het is gemaakt voor kinderen" YouTube.Actions.MadeForKids.No="Nee, het is niet gemaakt voor kinderen" -YouTube.Actions.AdditionalSettings="Aanvullende instellingen:" +YouTube.Actions.AdditionalSettings="Aanvullende instellingen" YouTube.Actions.Latency="Vertraging" YouTube.Actions.Latency.Normal="Normaal" YouTube.Actions.Latency.Low="Laag"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/pl-PL.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/pl-PL.ini
Changed
@@ -575,7 +575,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Pokaż folder z ustawieniami" Basic.MainMenu.File.ShowProfileFolder="Pokaż folder z profilami" Basic.MainMenu.File.ShowMissingFiles="Sprawdź brakujące pliki" -Basic.MainMenu.AlwaysOnTop="Z&awsze na wierzchu" Basic.MainMenu.File.Exit="Zakończ (&X)" Basic.MainMenu.Edit="&Edycja" Basic.MainMenu.Edit.Undo="Cofnij (&U)" @@ -615,6 +614,7 @@ Basic.MainMenu.View.StatusBar="Pasek &stanu" Basic.MainMenu.View.Fullscreen.Interface="Pełnoekranowy interfejs" Basic.MainMenu.View.ResetUI="P&rzywróć domyślny interfejs" +Basic.MainMenu.View.AlwaysOnTop="Z&awsze na wierzchu" Basic.MainMenu.Docks="Panele" Basic.MainMenu.Docks.ResetDocks="&Resetuj panele" Basic.MainMenu.Docks.LockDocks="Zab&lokuj panele" @@ -755,6 +755,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="Sprzętowe (AMD, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="Sprzętowy (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="Sprzętowe (NVENC, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="Sprzętowe (NVENC, AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="Sprzętowy (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="Sprzętowe (Apple, H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="Programowy (x264 ustawienia małego zużycia procesora, zwiększa wielkość pliku)" @@ -825,7 +826,6 @@ Basic.Settings.Output.SplitFile.TypeManual="Podziel ręcznie" Basic.Settings.Output.SplitFile.Time="Czas podzielenia" Basic.Settings.Output.SplitFile.Size="Rozmiar części" -Basic.Settings.Output.SplitFile.ResetTimestamps="Zresetuj znaczniki czasu na początku każdego dzielonego pliku" Screenshot="Zrzut ekranu - ekran wyjściowy" Screenshot.SourceHotkey="Zrzut ekranu - wybrane źródło" Screenshot.StudioProgram="Zrzut ekranu (Na żywo)" @@ -1009,6 +1009,9 @@ About.Contribute="Wesprzyj projekt" AddUrl.Title="Dodaj źródło z adresu URL" AddUrl.Text="Przeciągnąłeś adres URL do OBS. To automatycznie doda link jako źródło. Kontynuować?" +ResizeOutputSizeOfSource="Zmień rozdzielczość wynikową (rozmiar źródła)" +ResizeOutputSizeOfSource.Text="Rozdzielczość bazowa i wyjściowa zostaną zmienione do rozdzielczości bieżącego źródła." +ResizeOutputSizeOfSource.Continue="Czy chcesz kontynuować?" PreviewTransition="Podgląd efektu przejścia" Importer="Import zbiorów scen" Importer.SelectCollection="Wybierz zbiór scen" @@ -1055,7 +1058,7 @@ YouTube.Actions.MadeForKids="Czy film przeznaczony jest dla dzieci?*" YouTube.Actions.MadeForKids.Yes="Tak, jest przeznaczony dla dzieci" YouTube.Actions.MadeForKids.No="Nie, nie jest przeznaczony dla dzieci" -YouTube.Actions.AdditionalSettings="Dodatkowe ustawienia:" +YouTube.Actions.AdditionalSettings="Ustawienia dodatkowe" YouTube.Actions.Latency="Opóźnienie" YouTube.Actions.Latency.Normal="Normalne" YouTube.Actions.Latency.Low="Niskie"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/pt-BR.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/pt-BR.ini
Changed
@@ -69,7 +69,7 @@ Next="Avançar" Back="Voltar" Defaults="Redefinir" -RestoreDefaults="Padrões" +RestoreDefaults="Redefinir" HideMixer="Ocultar no mixer" TransitionOverride="Sobrepor transição" ShowTransition="Transição ao mostrar" @@ -95,10 +95,10 @@ OpenFile="Abrir arquivo" AddValue="Adicionar %1" AddSource="Adicionar fonte" -RemoveScene="Remover Cena Selecionada" -RemoveSource="Remover Fonte(s) Selecionada(s)" -MoveSceneUp="Mover Cena para Cima" -MoveSceneDown="Mover Cena para Baixo" +RemoveScene="Excluir cena selecionada" +RemoveSource="Remover fonte(s) selecionada(s)" +MoveSceneUp="Mover cena para cima" +MoveSceneDown="Mover cena para baixo" MoveSourceUp="Mover Fonte(s) para cima" MoveSourceDown="Mover Fonte(s) para Baixo" SourceProperties="Propriedades do Código Aberto" @@ -116,7 +116,7 @@ DockCloseWarning.Title="Fechar janela de painel" DockCloseWarning.Text="Você acabou de fechar um painel que estava em uma janela. Se você gostaria de mostrá-lo novamente, acesse o menu de Painéis na barra de menu." ExtraBrowsers="Painéis personalizáveis com URL" -ExtraBrowsers.Info="Adicione abas fornecendo um nome e URL, então clique em Aplicar ou Fechar para abrir as abas. Você pode adicionar ou remover as abas a qualquer momento." +ExtraBrowsers.Info="Adicione painéis fornecendo um nome e URL e então clique em Aplicar ou Fechar para abri-lo. Você pode adicionar ou remover os painéis a qualquer momento." ExtraBrowsers.DockName="Nome do painel" Auth.Authing.Title="Autenticando..." Auth.Authing.Text="Autenticando com %1, aguarde..." @@ -193,7 +193,7 @@ Basic.AutoConfig.TestPage.TestingRecordingEncoder="Testando codificador de gravação, isto pode levar um minuto..." Basic.AutoConfig.TestPage.TestingRes="Testando resoluções, isto pode levar alguns minutos..." Basic.AutoConfig.TestPage.TestingRes.Fail="Falha ao iniciar o codificador" -Basic.AutoConfig.TestPage.TestingRes.Resolution="Testando %1x%2 a %3 quadros por segundo..." +Basic.AutoConfig.TestPage.TestingRes.Resolution="Testando %1x%2 a %3 FPS..." Basic.AutoConfig.TestPage.Result.StreamingEncoder="Codificador da transmissão" Basic.AutoConfig.TestPage.Result.RecordingEncoder="Codificador da gravação" Basic.AutoConfig.TestPage.Result.Header="O programa recomenda as seguintes configurações pra você:" @@ -578,7 +578,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Mostrar pasta de configurações" Basic.MainMenu.File.ShowProfileFolder="Mostrar pasta de perfis" Basic.MainMenu.File.ShowMissingFiles="Verificar arquivos em falta" -Basic.MainMenu.AlwaysOnTop="Sempre no topo (&A)" Basic.MainMenu.File.Exit="Encerrar OBS (&X)" Basic.MainMenu.Edit="&Editar" Basic.MainMenu.Edit.Undo="Desfazer (&U)" @@ -618,6 +617,7 @@ Basic.MainMenu.View.StatusBar="Barra de &status" Basic.MainMenu.View.Fullscreen.Interface="Interface em tela cheia" Basic.MainMenu.View.ResetUI="&Redefinir interface" +Basic.MainMenu.View.AlwaysOnTop="Sempre &ativo" Basic.MainMenu.Docks="Painéis (&D)" Basic.MainMenu.Docks.ResetDocks="&Redefinir painéis" Basic.MainMenu.Docks.LockDocks="B&loquear painéis" @@ -641,7 +641,7 @@ Basic.MainMenu.Help.Logs.UploadLastLog="Carregar arquivo de registro anterior (&P)" Basic.MainMenu.Help.Logs.ViewCurrentLog="&Ver arquivo de registro atual" Basic.MainMenu.Help.CheckForUpdates="Verificar se há atualizações" -Basic.MainMenu.Help.Repair="Verificar Integridade do Arquivo" +Basic.MainMenu.Help.Repair="Verificar integridade dos arquivos" Basic.MainMenu.Help.CrashLogs="&Relatórios de erros" Basic.MainMenu.Help.CrashLogs.ShowLogs="Mo&strar relatórios de erros" Basic.MainMenu.Help.CrashLogs.UploadLastLog="Carregar relatório de erros anterior (&P)" @@ -673,8 +673,8 @@ Basic.Settings.General.KeepRecordingWhenStreamStops="Continuar gravando quando a transmissão parar" Basic.Settings.General.ReplayBufferWhileStreaming="Iniciar automaticamente o buffer de repetição durante a transmissão" Basic.Settings.General.KeepReplayBufferStreamStops="Manter o buffer de repetição ativo quando a transmissão parar" -Basic.Settings.General.SysTray="Barra do sistema" -Basic.Settings.General.SysTrayWhenStarted="Minimizar para a barra do sistema quando começar" +Basic.Settings.General.SysTray="Bandeja do sistema" +Basic.Settings.General.SysTrayWhenStarted="Minimizar para a bandeja do sistema quando iniciar" Basic.Settings.General.SystemTrayHideMinimize="Sempre minimizar para a bandeja (ignorar barra de tarefas)" Basic.Settings.General.SaveProjectors="Salvar projetores ao encerrar" Basic.Settings.General.CloseExistingProjectors="Limite de um projetor em tela cheia por tela" @@ -774,7 +774,7 @@ Basic.Settings.Output.EncoderPreset.veryfast="%1 (padrão) (uso médio da CPU, qualidade padrão)" Basic.Settings.Output.EncoderPreset.fast="%1 (alto uso da CPU, alta qualidade)" Basic.Settings.Output.CustomEncoderSettings="Configurações de codificador personalizadas" -Basic.Settings.Output.CustomMuxerSettings="Configurações personalizadas do conversor de gravações" +Basic.Settings.Output.CustomMuxerSettings="Configs. do conversor de gravações" Basic.Settings.Output.NoSpaceFileName="Gerar nome de arquivo sem espaços" Basic.Settings.Output.Adv.Rescale="Redimensionar a saída" Basic.Settings.Output.Adv.AudioTrack="Faixa de áudio" @@ -825,7 +825,6 @@ Basic.Settings.Output.SplitFile.TypeManual="Dividir apenas manualmente" Basic.Settings.Output.SplitFile.Time="Tempo de divisão" Basic.Settings.Output.SplitFile.Size="Tamanho para dividir" -Basic.Settings.Output.SplitFile.ResetTimestamps="Redefinir data/hora no início de cada arquivo dividido" Screenshot="Caminho da captura de tela" Screenshot.SourceHotkey="Capturar fonte selecionada" Screenshot.StudioProgram="Capturar tela (programa)" @@ -936,7 +935,7 @@ Basic.Settings.Advanced.Network.EnableNewSocketLoop="Ativar otimizações de rede" Basic.Settings.Advanced.Network.EnableLowLatencyMode="Ativar modo de baixa latência" Basic.Settings.Advanced.Network.TCPPacing.Tooltip="Tenta regular a taxa de transmissão para tornar a saída RTMP mais \"amigável\" para outras aplicações sensíveis à latência na rede.\nIsso pode aumentar o risco de perda de quadros em conexões instáveis." -Basic.Settings.Advanced.Hotkeys.HotkeyFocusBehavior="Comportamento do foco das teclas de atalho" +Basic.Settings.Advanced.Hotkeys.HotkeyFocusBehavior="Foco nas teclas de atalho" Basic.Settings.Advanced.Hotkeys.NeverDisableHotkeys="Nunca desativar teclas de atalho" Basic.Settings.Advanced.Hotkeys.DisableHotkeysInFocus="Desativar teclas de atalho quando a janela principal estiver em foco" Basic.Settings.Advanced.Hotkeys.DisableHotkeysOutOfFocus="Desativar teclas de atalho quando a janela principal não estiver em foco" @@ -1012,6 +1011,9 @@ About.Contribute="Apoie o OBS Project" AddUrl.Title="Adicionar fonte via URL" AddUrl.Text="Você arrastou uma URL para o OBS. Isso irá adicionar automaticamente o link como fonte. Deseja continuar?" +ResizeOutputSizeOfSource="Redimensionar saída (tamanho da fonte)" +ResizeOutputSizeOfSource.Text="As resoluções base e de saída serão redimensionadas para o tamanho da fonte atual." +ResizeOutputSizeOfSource.Continue="Você quer continuar?" PreviewTransition="Pré-visualizar transição" Importer="Importador de coleção de cenas" Importer.SelectCollection="Selecione uma coleção de cenas" @@ -1059,7 +1061,7 @@ YouTube.Actions.MadeForKids="Este vídeo é feito para crianças?*" YouTube.Actions.MadeForKids.Yes="Sim, é feito para as crianças" YouTube.Actions.MadeForKids.No="Não, não é feito para crianças" -YouTube.Actions.AdditionalSettings="Configurações adicionais:" +YouTube.Actions.AdditionalSettings="Configurações adicionais" YouTube.Actions.Latency="Latência" YouTube.Actions.Latency.Low="Baixa" YouTube.Actions.Latency.UltraLow="Extremamente baixa"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/pt-PT.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/pt-PT.ini
Changed
@@ -585,7 +585,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Mostrar pasta das definições" Basic.MainMenu.File.ShowProfileFolder="Mostrar pasta do perfil" Basic.MainMenu.File.ShowMissingFiles="Procurar ficheiros em falta" -Basic.MainMenu.AlwaysOnTop="Sempre em cim&a" Basic.MainMenu.File.Exit="&Sair" Basic.MainMenu.Edit="&Editar" Basic.MainMenu.Edit.Undo="&Desfazer" @@ -832,7 +831,6 @@ Basic.Settings.Output.SplitFile.TypeManual="Dividir apenas manualmente" Basic.Settings.Output.SplitFile.Time="Tempo para divisão" Basic.Settings.Output.SplitFile.Size="Tamanho para divisão" -Basic.Settings.Output.SplitFile.ResetTimestamps="Redefinir carimbos temporais no início de cada ficheiro dividido" Screenshot="Saída da captura de ecrã" Screenshot.SourceHotkey="Capturar de fonte selecionada" Screenshot.StudioProgram="Captura de ecrã (programa)" @@ -1019,6 +1017,9 @@ About.Contribute="Apoie o projeto OBS" AddUrl.Title="Adicionar fonte via URL" AddUrl.Text="Arrastou um URL para o OBS. Isto adiciona automaticamente a ligação como uma fonte. Continuar?" +ResizeOutputSizeOfSource="Redimensionar saída (tamanho da fonte)" +ResizeOutputSizeOfSource.Text="As resoluções base e de saída serão redimensionadas para o tamanho da fonte atual." +ResizeOutputSizeOfSource.Continue="Deseja continuar?" PreviewTransition="Antever transição" Importer="Importador de coleção de cenas" Importer.SelectCollection="Selecione uma coleção de cenas" @@ -1066,7 +1067,7 @@ YouTube.Actions.MadeForKids="Este vídeo é feito para crianças?*" YouTube.Actions.MadeForKids.Yes="Sim, é feito para crianças" YouTube.Actions.MadeForKids.No="Não, não é feito para crianças" -YouTube.Actions.AdditionalSettings="Definições adicionais:" +YouTube.Actions.AdditionalSettings="Definições adicionais" YouTube.Actions.Latency="Latência" YouTube.Actions.Latency.Low="Baixa" YouTube.Actions.Latency.UltraLow="Ultra baixa"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/ro-RO.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/ro-RO.ini
Changed
@@ -35,7 +35,7 @@ ResizeProjectorWindowToContent="Potrivește fereastra pe conținut" Clear="Șterge" Revert="Inversează" -Show="Arată" +Show="Afișează" Hide="Ascunde" UnhideAll="Reafișează toate" Untitled="Fără nume" @@ -98,8 +98,8 @@ MoveSceneDown="Mută scena în jos" MoveSourceUp="Mută sursele în sus" MoveSourceDown="Mută sursele în jos" -SourceProperties="Proprietăți cu sursă deschisă" -SourceFilters="Filtre cu sursă deschisă" +SourceProperties="Deschide proprietățile sursei" +SourceFilters="Deschide filtrele sursei" MixerToolbarMenu="Meniu Mixer Audio" PluginsFailedToLoad.Title="Eroare de încărcare a plugin-ului" PluginsFailedToLoad.Text="Următoarele plugin-uri OBS nu au reușit să se încarce:\n\n%1\nVă rugăm să actualizați sau să eliminați aceste plugin-uri." @@ -144,13 +144,13 @@ Basic.AutoConfig.ApplySettings="Aplică setările" Basic.AutoConfig.StartPage="Informații de utilizare" Basic.AutoConfig.StartPage.SubTitle="Specifică pentru ce vrei să folosești programul" -Basic.AutoConfig.StartPage.PrioritizeStreaming="Optimizează pentru transmisie în principal, înregistrarea e secundară" -Basic.AutoConfig.StartPage.PrioritizeRecording="Optimizează pentru înregistrare, nu voi face transmisii" +Basic.AutoConfig.StartPage.PrioritizeStreaming="Optimizează pentru transmisiune, înregistrarea este pe plan secund" +Basic.AutoConfig.StartPage.PrioritizeRecording="Optimizează numai pentru înregistrare, nu voi face transmisiuni" Basic.AutoConfig.StartPage.PrioritizeVirtualCam="Voi folosi doar camera virtuală" Basic.AutoConfig.VideoPage="Setări video" Basic.AutoConfig.VideoPage.SubTitle="Specifică setările video pe care dorești să le folosești" Basic.AutoConfig.VideoPage.BaseResolution.UseCurrent="Folosește-o pe cea actuală (%1x%2)" -Basic.AutoConfig.VideoPage.BaseResolution.Display="Display-ul %1 (%2x%3)" +Basic.AutoConfig.VideoPage.BaseResolution.Display="Displayul %1 (%2x%3)" Basic.AutoConfig.VideoPage.FPS.UseCurrent="Folosește valoarea actuală (%1)" Basic.AutoConfig.VideoPage.FPS.PreferHighFPS="Fie 60 sau 30, însă prefer 60 când este posibil" Basic.AutoConfig.VideoPage.FPS.PreferHighRes="Fie 60 sau 30, însă prefer rezoluție înaltă" @@ -160,7 +160,7 @@ Basic.AutoConfig.StreamPage.ConnectAccount="Conectează un cont (recomandat)" Basic.AutoConfig.StreamPage.DisconnectAccount="Deconectează contul" Basic.AutoConfig.StreamPage.DisconnectAccount.Confirm.Title="Deconectezi contul?" -Basic.AutoConfig.StreamPage.DisconnectAccount.Confirm.Text="Această modificare se va aplica imediat. Ești sigur că vrei să deconectezi contul?" +Basic.AutoConfig.StreamPage.DisconnectAccount.Confirm.Text="Această modificare se va aplica imediat. Sigur vrei să deconectezi contul?" Basic.AutoConfig.StreamPage.GetStreamKey="Obține cheia de transmisiune" Basic.AutoConfig.StreamPage.MoreInfo="Mai multe informații" Basic.AutoConfig.StreamPage.UseStreamKey="Folosește o cheie de transmisiune" @@ -177,7 +177,7 @@ Basic.AutoConfig.StreamPage.StreamWarning.Title="Avertisment privind transmisiunea" Basic.AutoConfig.StreamPage.StreamWarning.Text="Testarea lățimii de bandă este pe cale să transmită date video aleatorii fără audio către canalul tău. Dacă ai posibilitatea, este recomandat să oprești temporar salvarea videoclipurilor transmisiunilor și să setezi transmisiunea pe privat până la încheierea testării. Continui?" Basic.AutoConfig.TestPage="Rezultate finale" -Basic.AutoConfig.TestPage.SubTitle.Testing="Programul rulează acum o serie de teste pentru identificarea setărilor ideale" +Basic.AutoConfig.TestPage.SubTitle.Testing="Programul execută acum o serie de teste pentru estimarea celor mai ideale setări" Basic.AutoConfig.TestPage.SubTitle.Complete="Testare completă" Basic.AutoConfig.TestPage.TestingBandwidth="Se efectuează testarea lățimii de bandă, acest lucru poate dura câteva minute..." Basic.AutoConfig.TestPage.TestingBandwidth.Connecting="Se conectează la: %1..." @@ -201,7 +201,7 @@ Basic.Stats.AverageTimeToRender="Timp mediu de randare a unui cadru" Basic.Stats.SkippedFrames="Cadre sărite din pricina întârzierii de codificare" Basic.Stats.MissedFrames="Cadre sărite din pricina întârzierii de redare" -Basic.Stats.Output.Stream="Transmisie" +Basic.Stats.Output.Stream="Transmisiune" Basic.Stats.Output.Recording="Înregistrare" Basic.Stats.Status="Stare" Basic.Stats.Status.Recording="Se înregistrează" @@ -227,16 +227,16 @@ Updater.RepairButUpdatesAvailable.Title="Verificarea integrității nu este disponibilă" Updater.RepairButUpdatesAvailable.Text="Verificarea integrității fișierelor este posibilă numai pentru cea mai recentă versiune disponibilă. Utilizați Ajutor → Verificare actualizări pentru a verifica și actualiza instalarea OBS." Updater.RepairConfirm.Title="Confirmă verificarea integrității" -Updater.RepairConfirm.Text="Pornirea verificării integrității va scana instalația OBS pentru a detecta orice corupție și va redescărca fișierele deteriorate/modificate.\n\nDorești să continui?" +Updater.RepairConfirm.Text="Pornirea verificării integrității va scana instalarea OBS pentru a detecta orice corupție și va redescărca fișierele deteriorate/modificate.\n\nDorești să continui?" Updater.FailedToLaunch="Lansarea actualizatorului a eșuat" Updater.GameCaptureActive.Title="Captură de joc activă" Updater.GameCaptureActive.Text="Biblioteca hook de captare a jocului este în prezent folosită. Te rugăm să închizi orice joc/program capturat (sau repornește Windows-ul) și încearcă din nou." QuickTransitions.SwapScenes="Schimbați scenele de previzualizare/program după tranziție" QuickTransitions.SwapScenesTT="Schimbă scenele de previzualizare și de program după tranziție (dacă scena originală a programului încă există).\nAceasta nu va anula nicio modificare care ar fi putut fi făcută la scena originală a programului." QuickTransitions.DuplicateScene="Duplică scena" -QuickTransitions.DuplicateSceneTT="La editarea aceleiași scene, permite editarea transformării/vizibilității surselor fără a modifica ieșirea programului.\nPentru a edita proprietățile surselor fără a modifica ieșirea programului, activați \"Duplică scenele\".\nModificarea acestei valori va reseta scena curentă a programului (dacă mai există)." +QuickTransitions.DuplicateSceneTT="La editarea aceleiași scene, permite editarea transformării/vizibilității surselor fără a modifica outputul programului.\nPentru a edita proprietățile surselor fără a modifica outputul programului, activează „Duplică scenele”.\nModificarea acestei valori va reseta scena actuală a programului (dacă mai există)." QuickTransitions.EditProperties="Duplică scenele" -QuickTransitions.EditPropertiesTT="La editarea aceleiași scene, permite editarea proprietăților surselor fără a modifica ieșirea programului.\nAceasta poate fi utilizată numai dacă \"Duplică scena\" este activată.\nAnumite surse (cum ar fi sursele de captură sau media) nu acceptă acest lucru și nu pot fi editate separat.\nModificarea acestei valori va reseta scena curentă a programului (dacă mai există).\n\nAtenție: Deoarece sursele vor fi duplicate, acest lucru poate necesita resurse suplimentare de sistem sau video." +QuickTransitions.EditPropertiesTT="La editarea aceleiași scene, permite editarea proprietăților surselor fără a modifica outputul programului.\nAceasta poate fi folosită numai dacă „Duplică scena” este activată.\nAnumite surse (cum ar fi sursele de captură sau media) nu suportă acest lucru și nu pot fi editate separat.\nModificarea acestei valori va reseta scena actuală a programului (dacă mai există).\n\nAvertisment: Deoarece sursele vor fi duplicate, acest lucru poate necesita resurse suplimentare de sistem sau video." QuickTransitions.HotkeyName="Tranziție rapidă: %1" Basic.AddTransition="Adaugă tranziție configurabilă" Basic.RemoveTransition="Elimină tranziția configurabilă" @@ -286,9 +286,9 @@ Undo.MoveUp="mutarea '%1' în sus în '%2'" Undo.MoveDown="mutarea '%1' în jos în '%2'" Undo.MoveToTop="mutarea '%1' în vârf în '%2'" -Undo.MoveToBottom="mutarea '%1' în vârf în '%2'" -Undo.PasteSource="lipirea sursei(elor) în '%1'" -Undo.PasteSourceRef="lipirea referinței(elor) sursei în '%1'" +Undo.MoveToBottom="mutarea '%1' la fund în '%2'" +Undo.PasteSource="lipirea surselor în '%1'" +Undo.PasteSourceRef="lipirea referințelor sursei în '%1'" Undo.GroupItems="gruparea elementelor în '%1'" TransitionNameDlg.Text="Te rugăm să introduci numele tranziției" TransitionNameDlg.Title="Numele tranziției" @@ -309,7 +309,7 @@ ConfirmExit.Title="Ieși din OBS?" ConfirmExit.Text="OBS este în prezent activ. Toate transmisiunile/înregistrările vor fi închise. Sigur vrei să ieși?" ConfirmRemove.Title="Confirmă eliminarea" -ConfirmRemove.Text="Ești sigur că dorești să elimini '%1'?" +ConfirmRemove.Text="Sigur dorești să elimini '%1'?" ConfirmRemove.TextMultiple="Sigur vrei să elimini %1 elemente?" Output.StartStreamFailed="Pornirea transmisiunii a eșuat" Output.StartRecordingFailed="Pornirea înregistrării a eșuat" @@ -330,7 +330,7 @@ Output.RecordFail.Unsupported="Formatul de output este fie nesuportat, fie nu suportă mai mult de o pistă audio. Te rugăm să verifici setările şi să încerci din nou." Output.RecordNoSpace.Title="Spațiu insuficient pe disc" Output.RecordNoSpace.Msg="Nu există spațiu suficient pe disc pentru a continua înregistrarea." -Output.RecordError.Title="Eroare de înregistrare" +Output.RecordError.Title="Eroare privind înregistrarea" Output.RecordError.Msg="A apărut o eroare nespecificată în timpul înregistrării." Output.RecordError.EncodeErrorMsg="A apărut o eroare de codificare în timpul înregistrării." Output.RecordError.EncodeErrorMsg.LastError="A apărut o eroare de codificare în timpul înregistrării:\n\n%1" @@ -348,6 +348,7 @@ LogReturnDialog.ErrorUploadingLog="Eroare la încărcarea fișierului jurnal" Remux.SourceFile="Înregistrare OBS" Remux.TargetFile="Fișier țintă" +Remux.Remux="Remuxează" Remux.Stop="Oprește remuxarea" Remux.ClearFinished="Șterge elementele finalizate" Remux.ClearAll="Șterge toate elementele" @@ -436,16 +437,16 @@ Basic.Main.AddSceneCollection.Title="Adaugă colecție de scene" Basic.Main.AddSceneCollection.Text="Te rugăm să introduci numele colecției de scene" Basic.Main.RenameSceneCollection.Title="Redenumește colecția de scene" -AddProfile.Title="Adaugă profil" +AddProfile.Title="Adaugă un profil" AddProfile.Text="Te rugăm să introduci numele profilului" AddProfile.WizardCheckbox="Afișează asistentul de configurare automată" RenameProfile.Title="Redenumește profilul" Basic.Main.MixerRename.Title="Redenumește sursa audio" Basic.Main.MixerRename.Text="Te rugăm să introduci numele sursei audio" -Basic.Main.PreviewDisabled="Previzualizarea este în prezent dezactivată" +Basic.Main.PreviewDisabled="Previzualizarea este dezactivată în prezent" Basic.SourceSelect="Creează/Selectează sursa" -Basic.SourceSelect.CreateNew="Creează nouă" -Basic.SourceSelect.AddExisting="Adaugă existentă" +Basic.SourceSelect.CreateNew="Creează una nouă" +Basic.SourceSelect.AddExisting="Adaugă una existentă" Basic.SourceSelect.AddVisible="Fă sursa vizibilă" Basic.Main.Sources.Visibility="Vizibilitate" Basic.Main.Sources.VisibilityDescription="Controlează vizibilitatea '%1' în suprafață" @@ -485,7 +486,7 @@ Basic.Filters="Filtre" Basic.Filters.AsyncFilters="Filtre audio/video" Basic.Filters.AudioFilters="Filtre audio" -Basic.Filters.EffectFilters="Filtre de efect" +Basic.Filters.EffectFilters="Filtre de efecte" Basic.Filters.Title="Filtre pentru „%1”" Basic.Filters.AddFilter.Title="Numele filtrului" Basic.Filters.AddFilter.Text="Te rugăm să specifici numele filtrului" @@ -542,7 +543,7 @@ Basic.Main.StopRecording="Oprește înregistrarea" Basic.Main.PauseRecording="Pune pe pauză înregistrarea" Basic.Main.UnpauseRecording="Scoate de pe pauză înregistrarea" -Basic.Main.SplitFile="Fișier de înregistrare divizat" +Basic.Main.SplitFile="Divizează fișierul de înregistrare" Basic.Main.StoppingRecording="Se oprește înregistrarea..." Basic.Main.StopReplayBuffer="Oprește bufferul de reluări" Basic.Main.StoppingReplayBuffer="Se oprește bufferul de reluări..." @@ -561,11 +562,11 @@ Basic.Main.ListMode="Mod listă" Basic.Main.VirtualCamConfig="Configurează camera virtuală" Basic.VCam.VirtualCamera="Cameră virtuală" -Basic.VCam.OutputType="Tipul de ieșire" -Basic.VCam.OutputSelection="Selectarea ieșirii" +Basic.VCam.OutputType="Tipul outputului" +Basic.VCam.OutputSelection="Selectarea outputului" Basic.VCam.Internal="Intern" -Basic.VCam.InternalDefault="Ieșirea programului (implicit)" -Basic.VCam.InternalPreview="Previzualizarea ieșirii" +Basic.VCam.InternalDefault="Outputul programului (implicit)" +Basic.VCam.InternalPreview="Previzualizarea outputului" Basic.MainMenu.File="&Fișier" Basic.MainMenu.File.Export="&Exportă" Basic.MainMenu.File.Import="&Importă" @@ -575,8 +576,7 @@ Basic.MainMenu.File.ShowSettingsFolder="Afișează folderul cu setări" Basic.MainMenu.File.ShowProfileFolder="Afișează folderul cu profiluri" Basic.MainMenu.File.ShowMissingFiles="Caută fișiere lipsă" -Basic.MainMenu.AlwaysOnTop="Întotde&auna deasupra" -Basic.MainMenu.File.Exit="Ieșire (&X)" +Basic.MainMenu.File.Exit="Ieși (&X)" Basic.MainMenu.Edit="&Editare" Basic.MainMenu.Edit.Undo="An&ulează acțiunea" Basic.MainMenu.Edit.Redo="&Refă acțiunea" @@ -698,6 +698,7 @@ Basic.Settings.General.MultiviewLayout.9Scene="Doar scene (9 scene)" Basic.Settings.General.MultiviewLayout.16Scene="Doar scene (16 scene)" Basic.Settings.General.MultiviewLayout.25Scene="Doar scene (25 de scene)" +Basic.Settings.Stream="Transmisiune" Basic.Settings.Stream.StreamType="Tipul transmisiunii" Basic.Settings.Stream.Custom.UseAuthentication="Folosește autentificarea" Basic.Settings.Stream.Custom.Username="Nume de utilizator" @@ -749,7 +750,7 @@ Basic.Settings.Output.Simple.Warn.Lossless="Avertisment: Calitatea fără pierderi generează dimensiuni extrem de mari de fișiere! Calitatea fără pierderi poate folosi până la 7GB spațiu de disc per minut la frecvențe de cadre și rezoluții ridicate. Această calitate nu este recomandată pentru înregistrări lungi decât dacă ai o cantitate foarte mare de spațiu disponibil pe disc." Basic.Settings.Output.Simple.Warn.Lossless.Msg="Sigur vrei să folosești calitatea fără pierderi?" Basic.Settings.Output.Simple.Warn.Lossless.Title="Avertizare privind calitatea fără pierderi!" -Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="Software (presetare x264 cu utilizare CPU scăzută, crește dimensiunea pentru fișiere)" +Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="Software (presetare x264 cu utilizare CPU scăzută, crește dimensiunea fișierelor)" Basic.Settings.Output.Simple.TwitchVodTrack="Pistă VOD Twitch (folosește pista 2)" Basic.Settings.Output.Warn.EnforceResolutionFPS.Title="Rezoluție/Frecvența cadrelor incompatibilă" Basic.Settings.Output.Warn.EnforceResolutionFPS.Msg="Acest serviciu de transmisiune nu suportă rezoluția actuală a outputului și/sau frecvența cadrelor. Acestea vor fi schimbate la cea mai apropiată valoare compatibilă:\n\n%1\n\nVrei să continui?" @@ -763,14 +764,15 @@ Basic.Settings.Output.MaxRetries="Reîncercări maxime" Basic.Settings.Output.Advanced="Activează setările personalizate ale codificatorului (Avansat)" Basic.Settings.Output.EncoderPreset="Presetare pentru codificator" -Basic.Settings.Output.EncoderPreset.ultrafast="%1 (utilizare redusă CPU, cea mai scăzută calitate)" -Basic.Settings.Output.EncoderPreset.veryfast="%1 (implicit) (utilizare medie CPU, calitate standard)" -Basic.Settings.Output.EncoderPreset.fast="%1 (utilizare ridicată CPU, calitate ridicată)" +Basic.Settings.Output.EncoderPreset.ultrafast="%1 (utilizare CPU scăzută, cea mai scăzută calitate)" +Basic.Settings.Output.EncoderPreset.veryfast="%1 (implicit) (utilizare CPU medie, calitate standard)" +Basic.Settings.Output.EncoderPreset.fast="%1 (utilizare CPU ridicată, calitate ridicată)" Basic.Settings.Output.CustomEncoderSettings="Setări personalizate pentru codificator" Basic.Settings.Output.CustomMuxerSettings="Setări personalizate pentru muxer" Basic.Settings.Output.NoSpaceFileName="Generează nume de fișiere fără spațiu" Basic.Settings.Output.Adv.Rescale="Rescalează outputul" Basic.Settings.Output.Adv.AudioTrack="Pistă audio" +Basic.Settings.Output.Adv.Streaming="Transmisiune" Basic.Settings.Output.Adv.Streaming.Settings="Setări de transmisie în flux" Basic.Settings.Output.Adv.Audio.Track1="Pistă 1" Basic.Settings.Output.Adv.Audio.Track2="Pistă 2" @@ -814,20 +816,18 @@ Basic.Settings.Output.SplitFile.TypeManual="Se divizează numai manual" Basic.Settings.Output.SplitFile.Time="Timp divizat" Basic.Settings.Output.SplitFile.Size="Mărime divizată" -Basic.Settings.Output.SplitFile.ResetTimestamps="Resetarea marcajelor de timp la începutul fiecărui fișier divizat" Screenshot="Realizează o captură de ecran a outputului" Screenshot.SourceHotkey="Realizează o captură de ecran a sursei selectate" Screenshot.StudioProgram="Realizează o captură de ecran (Program)" Screenshot.Preview="Realizează o captură de ecran (Previzualizare)" Screenshot.Scene="Realizează o captură de ecran (Scenă)" Screenshot.Source="Realizează o captură de ecran (Sursă)" -Basic.Settings.Video.Adapter="Adaptor video:" +Basic.Settings.Video.Adapter="Adaptor video" Basic.Settings.Video.BaseResolution="Rezoluție de bază (a planșei)" Basic.Settings.Video.ScaledResolution="Rezoluție a outputului (scalată)" Basic.Settings.Video.DownscaleFilter="Filtru pentru sub-scalare" Basic.Settings.Video.DownscaleFilter.Unavailable="Rezoluțiile se potrivesc, nu este nevoie de sub-scalare" Basic.Settings.Video.DisableAeroWindows="Dezactivează Aero (numai Windows)" -Basic.Settings.Video.FPS="FPS:" Basic.Settings.Video.FPSCommon="Valori FPS comune" Basic.Settings.Video.FPSInteger="Valoare cu număr întreg pentru FPS" Basic.Settings.Video.FPSFraction="Valoare FPS fracționată" @@ -865,15 +865,15 @@ Basic.Settings.Audio.PushToMuteDelay="Întârziere la push-to-mute" Basic.Settings.Audio.EnablePushToTalk="Activează push-to-talk" Basic.Settings.Audio.PushToTalkDelay="Întârziere la push-to-talk" -Basic.Settings.Audio.UnknownAudioDevice="Dispozitivul nu este disponibil sau nu este conectat" +Basic.Settings.Audio.UnknownAudioDevice="Dispozitiv neconectat sau indisponibil" Basic.Settings.Audio.Disabled="Dezactivat" -Basic.Settings.Audio.LowLatencyBufferingMode="Mod de tamponare audio cu latență redusă (pentru ieșirile Decklink/NDI)" -Basic.Settings.Audio.LowLatencyBufferingWarning.Enabled="AVERTISMENT: Este activată tamponarea audio cu latență redusă." -Basic.Settings.Audio.LowLatencyBufferingWarning="Modul de tamponare audio cu latență redusă poate cauza apariția unor defecțiuni audio sau oprirea redării de la unele surse." -Basic.Settings.Audio.LowLatencyBufferingWarning.Title="Activați modul de tamponare audio cu latență redusă?" -Basic.Settings.Audio.LowLatencyBufferingWarning.Confirm="Sunteți sigur că doriți să activați modul de tamponare audio cu latență redusă?" +Basic.Settings.Audio.LowLatencyBufferingMode="Modul de buffering audio cu latență scăzută (pentru outputuri Decklink/NDI)" +Basic.Settings.Audio.LowLatencyBufferingWarning.Enabled="AVERTISMENT: Este activat bufferingul audio cu latență scăzută." +Basic.Settings.Audio.LowLatencyBufferingWarning="Modul de buffering audio cu latență scăzută poate cauza apariția unor defecțiuni audio sau oprirea redării de la unele surse." +Basic.Settings.Audio.LowLatencyBufferingWarning.Title="Activezi modul de buffering audio cu latență scăzută?" +Basic.Settings.Audio.LowLatencyBufferingWarning.Confirm="Sigur vrei să activezi modul de buffering audio cu latență scăzută?" Basic.Settings.Accessibility="Accesibilitate" -Basic.Settings.Accessibility.ColorOverrides="Utilizați culori diferite" +Basic.Settings.Accessibility.ColorOverrides="Folosește culori diferite" Basic.Settings.Accessibility.ColorOverrides.SelectRed="Marginea sursei (selecție)" Basic.Settings.Accessibility.ColorOverrides.SelectGreen="Marginea sursei (trunchiere)" Basic.Settings.Accessibility.ColorOverrides.SelectBlue="Marginea sursei (planare)" @@ -883,12 +883,12 @@ Basic.Settings.Accessibility.ColorOverrides.MixerGreenActive="Banda de volum a mixerului (de la -60 la -20dB) (activă)" Basic.Settings.Accessibility.ColorOverrides.MixerYellowActive="Banda de volum a mixerului (de la -20 la -9dB) (activă)" Basic.Settings.Accessibility.ColorOverrides.MixerRedActive="Banda de volum a mixerului (de la -9 la -0dB) (activă)" -Basic.Settings.Accessibility.ColorOverrides.Preset="Presetare culoare" +Basic.Settings.Accessibility.ColorOverrides.Preset="Presetarea culorii" Basic.Settings.Accessibility.ColorOverrides.Preset.Default="Implicit" Basic.Settings.Accessibility.ColorOverrides.Preset.Custom="Personalizat" Basic.Settings.Accessibility.ColorOverrides.Preset.ColorBlind1="Alternativă daltonistă" Basic.Settings.Advanced="Avansate" -Basic.Settings.Advanced.General.ConfirmOnExit="Afișați avertismentul de ieșiri active la ieșire" +Basic.Settings.Advanced.General.ConfirmOnExit="Afișează avertismentul de outputuri active la ieșire" Basic.Settings.Advanced.General.ProcessPriority="Prioritatea procesului" Basic.Settings.Advanced.General.ProcessPriority.High="Ridicată" Basic.Settings.Advanced.General.ProcessPriority.AboveNormal="Peste normală" @@ -899,7 +899,7 @@ Basic.Settings.Advanced.FormatWarning10BitSdr="Atenție: Formatele de 10 biți sunt mai frecvent folosite cu spațiile de culori HDR." Basic.Settings.Advanced.FormatWarning2100="Atenție: Rec. 2100 trebuie să folosească un format cu multă precizie." Basic.Settings.Advanced.Audio.BufferingTime="Timp pentru bufferingul audio" -Basic.Settings.Advanced.Video.ColorFormat="Format de culoare" +Basic.Settings.Advanced.Video.ColorFormat="Format de culori" Basic.Settings.Advanced.Video.ColorFormat.NV12="NV12 (8 biți, 4:2:0, 2 planuri)" Basic.Settings.Advanced.Video.ColorFormat.I420="I420 (8 biți, 4:2:0, 3 planuri)" Basic.Settings.Advanced.Video.ColorFormat.I444="I444 (8 biți, 4:4:4:4, 3 planuri)" @@ -908,10 +908,10 @@ Basic.Settings.Advanced.Video.ColorFormat.RGB="RGB (8 biți)" Basic.Settings.Advanced.Video.ColorSpace="Spațiu de culori" Basic.Settings.Advanced.Video.ColorRange="Gamă de culori" -Basic.Settings.Advanced.Video.ColorRange.Partial="Limitat" +Basic.Settings.Advanced.Video.ColorRange.Partial="Limitată" Basic.Settings.Advanced.Video.ColorRange.Full="Completă" Basic.Settings.Advanced.Video.SdrWhiteLevel="Nivel alb SDR" -Basic.Settings.Advanced.Video.HdrNominalPeakLevel="Nivel maxim nominal HDR" +Basic.Settings.Advanced.Video.HdrNominalPeakLevel="Nivel de vârf nominal HDR" Basic.Settings.Advanced.Audio.MonitoringDevice="Dispozitiv de monitorizare" Basic.Settings.Advanced.Audio.MonitoringDevice.Default="Implicit" Basic.Settings.Advanced.Audio.DisableAudioDucking="Dezactivează efectul audio de ducking din Windows" @@ -950,7 +950,7 @@ Basic.Settings.Hotkeys="Taste rapide" Basic.Settings.Hotkeys.Pair="Combinațiile de taste partajate cu '%1' acționează ca comutatoare" Basic.Settings.Hotkeys.Filter="Filtrează" -Basic.Settings.Hotkeys.FilterByHotkey="Filtrare după Hotkey" +Basic.Settings.Hotkeys.FilterByHotkey="Filtrează după tasta rapidă" Basic.Settings.Hotkeys.DuplicateWarning="Acest hotkey este folosit de una sau mai multe acțiuni, click pentru a afișa conflictele" Basic.Hotkeys.SelectScene="Comută la scenă" Basic.SystemTray.Show="Afișează" @@ -959,11 +959,13 @@ Hotkeys.Insert="Inserează" Hotkeys.Delete="Șterge" Hotkeys.CapsLock="Caps lock" +Hotkeys.Pause="Pauză" Hotkeys.Left="Stânga" Hotkeys.Right="Dreapta" Hotkeys.Up="Sus" Hotkeys.Down="Jos" Hotkeys.Menu="Meniu" +Hotkeys.Space="Spațiu" Hotkeys.NumpadNum="Tasta numerică %1" Hotkeys.NumpadMultiply="Numpad Multiplica" Hotkeys.NumpadAdd="Numpad Aduna" @@ -1001,6 +1003,9 @@ About.Contribute="Sprijină proiectul OBS" AddUrl.Title="Adaugă o sursă via URL" AddUrl.Text="Ai tras un URL în OBS. Acest lucru va adăuga automat linkul ca sursă. Continui?" +ResizeOutputSizeOfSource="Redimensionează outputul (dimensiunea sursei)" +ResizeOutputSizeOfSource.Text="Rezoluțiile de bază și ale outputului vor fi redimensionate la dimensiunea sursei actuale." +ResizeOutputSizeOfSource.Continue="Vrei să continui?" PreviewTransition="Previzualizează tranziția" Importer="Importator pentru colecții de scene" Importer.SelectCollection="Selectează o colecție de scene" @@ -1047,7 +1052,7 @@ YouTube.Actions.MadeForKids="Este acest video făcut pentru copii?*" YouTube.Actions.MadeForKids.Yes="Da, este făcut pentru copii" YouTube.Actions.MadeForKids.No="Nu, nu este făcut pentru copii" -YouTube.Actions.AdditionalSettings="Setări adiționale:" +YouTube.Actions.AdditionalSettings="Setări adiționale" YouTube.Actions.Latency="Latență" YouTube.Actions.Latency.Low="Redusă" YouTube.Actions.Latency.UltraLow="Ultra redusă"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/ru-RU.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/ru-RU.ini
Changed
@@ -156,9 +156,9 @@ Basic.AutoConfig.VideoPage="Настройки видео" Basic.AutoConfig.VideoPage.SubTitle="Укажите настройки видео, которые вы хотите использовать" Basic.AutoConfig.VideoPage.BaseResolution.UseCurrent="Использовать текущее (%1x%2)" -Basic.AutoConfig.VideoPage.BaseResolution.Display="Экран %1 (%2x%3)" +Basic.AutoConfig.VideoPage.BaseResolution.Display="Дисплей %1 (%2x%3)" Basic.AutoConfig.VideoPage.FPS.UseCurrent="Использовать текущее (%1)" -Basic.AutoConfig.VideoPage.FPS.PreferHighFPS="60 или 30, но предпочитать 60, когда это возможно" +Basic.AutoConfig.VideoPage.FPS.PreferHighFPS="60 или 30, но предпочитать 60 по возможности" Basic.AutoConfig.VideoPage.FPS.PreferHighRes="60 или 30, но предпочитать высокое разрешение" Basic.AutoConfig.VideoPage.CanvasExplanation="Примечание: Разрешение холста (базовое), не обязательно должно совпадать с разрешением трансляции или записи. Реальное разрешение вашей трансляции/записи может быть снижено для уменьшения использования ресурсов или битрейта." Basic.AutoConfig.StreamPage="Информация о трансляции" @@ -172,7 +172,7 @@ Basic.AutoConfig.StreamPage.UseStreamKey="Использовать ключ потока" Basic.AutoConfig.StreamPage.UseStreamKeyAdvanced="Использовать ключ потока (для продвинутых пользователей)" Basic.AutoConfig.StreamPage.Service="Сервис" -Basic.AutoConfig.StreamPage.Service.ShowAll="Показать всё..." +Basic.AutoConfig.StreamPage.Service.ShowAll="Показать все..." Basic.AutoConfig.StreamPage.Service.Custom="Настраиваемый..." Basic.AutoConfig.StreamPage.Server="Сервер" Basic.AutoConfig.StreamPage.StreamKey="Ключ потока" @@ -185,7 +185,7 @@ Basic.AutoConfig.StreamPage.StreamWarning.Title="Предупреждение трансляции" Basic.AutoConfig.StreamPage.StreamWarning.Text="Тест пропускной способности трансляции случайных видеоданных без звука на вашем канале. Рекомендуется временно отключить запись трансляции в файл и сделать трансляцию частной, пока тестирование не завершится. Продолжить?" Basic.AutoConfig.TestPage="Финальные результаты" -Basic.AutoConfig.TestPage.SubTitle.Testing="Сейчас программа выполняет набор тестов для оценки самых лучших параметров" +Basic.AutoConfig.TestPage.SubTitle.Testing="Сейчас программа выполняет набор тестов для оценки лучших настроек" Basic.AutoConfig.TestPage.SubTitle.Complete="Тестирование завершено" Basic.AutoConfig.TestPage.TestingBandwidth="Испытание пропускной способности, это может занять несколько минут..." Basic.AutoConfig.TestPage.TestingBandwidth.Connecting="Подключение к: %1..." @@ -195,11 +195,11 @@ Basic.AutoConfig.TestPage.TestingRecordingEncoder="Тестирование кодировщика записи, это может занять минуту..." Basic.AutoConfig.TestPage.TestingRes="Тестирование разрешений, это может занять несколько минут..." Basic.AutoConfig.TestPage.TestingRes.Fail="Не удалось запустить кодировщик" -Basic.AutoConfig.TestPage.TestingRes.Resolution="Тестирование %1x%2 %3 FPS..." +Basic.AutoConfig.TestPage.TestingRes.Resolution="Проверка %1x%2 %3 к/с..." Basic.AutoConfig.TestPage.Result.StreamingEncoder="Потоковый кодировщик" Basic.AutoConfig.TestPage.Result.RecordingEncoder="Кодировщик записи" Basic.AutoConfig.TestPage.Result.Header="Программа определила, что эти примерные настройки наиболее вам подходят:" -Basic.AutoConfig.TestPage.Result.Footer="Нажмите «Применить настройки» для использования этих параметров. Для повторной настройки с помощью мастера нажмите «Назад». Чтобы настроить нужные параметры самостоятельно, нажмите «Отмена» и откройте «Настройки»." +Basic.AutoConfig.TestPage.Result.Footer="Для использования этих настроек нажмите «Применить настройки». Для повторной настройки с помощью мастера нажмите «Назад». Чтобы задать настройки самостоятельно, нажмите «Отмена» и откройте «Настройки»." Basic.AutoConfig.Info="Мастер автоматической настройки определит оптимальные параметры, основываясь на особенностях вашего компьютера и скорости интернета." Basic.AutoConfig.RunAnytime="Его можно запустить в любое время с помощью меню «Инструменты»." Basic.Stats="Статистика" @@ -220,7 +220,7 @@ Basic.Stats.DroppedFrames="Пропуск кадров (сеть)" Basic.Stats.MegabytesSent="Всего вышло" Basic.Stats.Bitrate="Битрейт" -Basic.Stats.DiskFullIn="Переполнение диска (пример.)" +Basic.Stats.DiskFullIn="Переполнение диска (прибл.)" Basic.Stats.ResetStats="Сбросить статистику" ResetUIWarning.Title="Уверены, что хотите сбросить настройки пользовательского интерфейса?" ResetUIWarning.Text="Сброс пользовательского интерфейса скроет дополнительные доки. Вам нужно будет отобразить эти доки в меню «Док-панели», если вы хотите, чтобы они были видны.\n\nУверены, что хотите сбросить интерфейс?" @@ -234,7 +234,7 @@ Updater.NoUpdatesAvailable.Title="Нет доступных обновлений" Updater.NoUpdatesAvailable.Text="Обновления не обнаружены" Updater.RepairButUpdatesAvailable.Title="Проверка целостности недоступна" -Updater.RepairButUpdatesAvailable.Text="Проверка целостности файлов возможна только для последней версии. Используйте «Справка» → «Проверить наличие обновлений» для проверки и обновления вашей установки OBS." +Updater.RepairButUpdatesAvailable.Text="Проверка целостности файлов возможна только для последней версии. Используйте «Справка» → «Проверить обновления» для проверки и обновления вашей установки OBS." Updater.RepairConfirm.Title="Подтвердите проверку целостности" Updater.RepairConfirm.Text="Запущенная проверка целостности отсканирует вашу установку OBS и перекачает повреждённые/изменённые файлы. Это может занять некоторое время.\n\nВы хотите продолжить?" Updater.FailedToLaunch="Не удалось проверить обновления" @@ -454,7 +454,7 @@ RenameProfile.Title="Переименовать профиль" Basic.Main.MixerRename.Title="Переименовать источник аудио" Basic.Main.MixerRename.Text="Пожалуйста, введите имя источника аудио" -Basic.Main.PreviewDisabled="В настоящее время предпросмотр отключён" +Basic.Main.PreviewDisabled="Предпросмотр в данный момент отключён" Basic.SourceSelect="Создать/Выбрать источник" Basic.SourceSelect.CreateNew="Создать новый" Basic.SourceSelect.AddExisting="Добавить существующий" @@ -477,9 +477,9 @@ Basic.PropertiesWindow.AddEditableListFiles="Добавить файлы в '%1'" Basic.PropertiesWindow.AddEditableListEntry="Добавить запись в '%1'" Basic.PropertiesWindow.EditEditableListEntry="Изменить запись из '%1'" -Basic.PropertiesView.FPS.Simple="Простые значения FPS" -Basic.PropertiesView.FPS.Rational="Рациональные значения FPS" -Basic.PropertiesView.FPS.ValidFPSRanges="Допустимые диапазоны FPS:" +Basic.PropertiesView.FPS.Simple="Простые значения частоты кадров" +Basic.PropertiesView.FPS.Rational="Рациональные значения частоты кадров" +Basic.PropertiesView.FPS.ValidFPSRanges="Допустимые диапазоны частоты кадров:" Basic.PropertiesView.UrlButton.Text="Открыть эту ссылку в браузере по умолчанию?" Basic.PropertiesView.UrlButton.Text.Url="Ссылка: %1" Basic.PropertiesView.UrlButton.OpenUrl="Открыть ссылку" @@ -569,7 +569,7 @@ Basic.Main.HideContextBar="Скрыть панель инструментов источников" Basic.Main.StopVirtualCam="Остановить виртуальную камеру" Basic.Main.Group="Группа %1" -Basic.Main.GroupItems="Сгруппировать выбранные элементы" +Basic.Main.GroupItems="Группировать выбранные объекты" Basic.Main.Ungroup="Разгруппировать" Basic.Main.GridMode="Режим сетки" Basic.Main.ListMode="Режим списка" @@ -589,7 +589,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Открыть папку настроек" Basic.MainMenu.File.ShowProfileFolder="Открыть папку профиля" Basic.MainMenu.File.ShowMissingFiles="Проверить пропавшие файлы" -Basic.MainMenu.AlwaysOnTop="Поверх всех окон (&A)" Basic.MainMenu.File.Exit="Выход (&X)" Basic.MainMenu.Edit="Правка (&E)" Basic.MainMenu.Edit.Undo="Отменить (&U)" @@ -629,6 +628,7 @@ Basic.MainMenu.View.StatusBar="Строка состояния (&S)" Basic.MainMenu.View.Fullscreen.Interface="Полный экран" Basic.MainMenu.View.ResetUI="&Сбросить интерфейс" +Basic.MainMenu.View.AlwaysOnTop="&Поверх других окон" Basic.MainMenu.Docks="Док-панели (&D)" Basic.MainMenu.Docks.ResetDocks="&Сбросить док-панели" Basic.MainMenu.Docks.LockDocks="&Заблокировать док-панели" @@ -643,7 +643,7 @@ Basic.MainMenu.SceneCollection.Exists="Коллекция сцен уже существует" Basic.MainMenu.Tools="Сервис (&T)" Basic.MainMenu.Help="Справка (&H)" -Basic.MainMenu.Help.HelpPortal="Портал помощи (&P)" +Basic.MainMenu.Help.HelpPortal="Справочный портал (&P)" Basic.MainMenu.Help.Website="Посетить веб-сайт (&W)" Basic.MainMenu.Help.Discord="Зайти на сервер &Discord" Basic.MainMenu.Help.Logs="Файлы журнала (&L)" @@ -652,12 +652,12 @@ Basic.MainMenu.Help.Logs.UploadLastLog="Отправить предыдущий файл журнала (&P)" Basic.MainMenu.Help.Logs.ViewCurrentLog="Открыть текущий журнал (&V)" Basic.MainMenu.Help.CheckForUpdates="Проверить обновления" -Basic.MainMenu.Help.Repair="Проверка целостности файла" +Basic.MainMenu.Help.Repair="Проверить целостность файлов" Basic.MainMenu.Help.CrashLogs="Отчёты об ошибках (&R)" Basic.MainMenu.Help.CrashLogs.ShowLogs="Показать отчёты об ошибках (&S)" Basic.MainMenu.Help.CrashLogs.UploadLastLog="Отправить предыдущий отчёт об ошибке (&P)" Basic.MainMenu.Help.About="О программе (&A)" -Basic.Settings.ProgramRestart="Для изменения этих параметров требуется перезапустить программу." +Basic.Settings.ProgramRestart="Чтобы эти настройки вступили в силу, требуется перезапустить программу." Basic.Settings.ConfirmTitle="Подтверждение изменений" Basic.Settings.Confirm="У вас есть несохранённые изменения. Сохранить их?" Basic.Settings.General="Общие" @@ -727,13 +727,13 @@ Basic.Settings.Stream.MissingUrlAndApiKey="URL и ключ потока отсутствуют.\n\nОткройте настройки, чтобы ввести URL-адрес и ключ потока на вкладке «Трансляция»." Basic.Settings.Stream.MissingUrl="Отсутствует URL потока.\n\nОткройте настройки, чтобы ввести URL на вкладке «Трансляция»." Basic.Settings.Stream.MissingStreamKey="Ключ потока отсутствует.\n\nОткройте настройки, чтобы ввести ключ потока на вкладке «Трансляция»." -Basic.Settings.Stream.IgnoreRecommended="Не следовать ограничениям, накладываемым потоковой службой" +Basic.Settings.Stream.IgnoreRecommended="Не следовать рекомендациям потоковой службы по настройке" Basic.Settings.Stream.IgnoreRecommended.Warn.Title="Переопределить рекомендуемые настройки" Basic.Settings.Stream.IgnoreRecommended.Warn.Text="Использование значений за пределами рекомендуемых может отрицательно повлиять на качество и/или стабильность потока.\n\nПродолжить?" Basic.Settings.Stream.Recommended.MaxVideoBitrate="Максимальный битрейт видео: %1 kbps" Basic.Settings.Stream.Recommended.MaxAudioBitrate="Максимальный битрейт аудио: %1 kbps" Basic.Settings.Stream.Recommended.MaxResolution="Максимальное разрешение: %1" -Basic.Settings.Stream.Recommended.MaxFPS="Максимальный FPS: %1" +Basic.Settings.Stream.Recommended.MaxFPS="Максимум частоты кадров: %1" Basic.Settings.Output="Вывод" Basic.Settings.Output.Format="Формат записи" Basic.Settings.Output.Encoder="Кодировщик" @@ -771,6 +771,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="Аппаратный (AMD, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="Аппаратный (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="Аппаратный (NVENC, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="Аппаратное (NVENC, AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="Аппаратный (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="Аппаратный (Apple, H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="Программный (x264 с низкой нагрузкой на ЦП, увеличивает размер файла)" @@ -778,6 +779,7 @@ Basic.Settings.Output.Warn.EnforceResolutionFPS.Title="Несовместимое разрешение или частота кадров" Basic.Settings.Output.Warn.EnforceResolutionFPS.Msg="Эта потоковая служба не поддерживает ваше текущее выходное разрешение и/или частоту кадров. Они будут изменены на наиболее близкое совместимое значение:\n\n%1\n\nВы хотите продолжить?" Basic.Settings.Output.Warn.EnforceResolutionFPS.Resolution="Разрешение: %1" +Basic.Settings.Output.Warn.EnforceResolutionFPS.FPS="Частота кадров: %1" Basic.Settings.Output.Warn.ServiceCodecCompatibility.Title="Несовместимый кодировщик" Basic.Settings.Output.Warn.ServiceCodecCompatibility.Msg="Потоковый сервис \"%1\" не поддерживает кодировщик \"%2\". Кодировщик будет изменен на \"%3\".\n\nВы хотите продолжить?" Basic.Settings.Output.VideoBitrate="Битрейт видео" @@ -842,11 +844,10 @@ Basic.Settings.Output.SplitFile.TypeManual="Разбивать только вручную" Basic.Settings.Output.SplitFile.Time="Время разбиения" Basic.Settings.Output.SplitFile.Size="Размер разбиения" -Basic.Settings.Output.SplitFile.ResetTimestamps="Сбросить метки времени в начале каждого разбитого файла" Screenshot="Сделать снимок вывода" Screenshot.SourceHotkey="Сделать снимок выбранного источника" Screenshot.StudioProgram="Сделать снимок (программы)" -Screenshot.Preview="Сделать снимок (предпросмотра)" +Screenshot.Preview="Сделать снимок (предпросмотр)" Screenshot.Scene="Сделать снимок (сцены)" Screenshot.Source="Сделать снимок (источника)" Basic.Settings.Video="Видео" @@ -856,9 +857,10 @@ Basic.Settings.Video.DownscaleFilter="Фильтр масштабирования" Basic.Settings.Video.DownscaleFilter.Unavailable="Разрешения совпадают, уменьшение масштаба не требуется" Basic.Settings.Video.DisableAeroWindows="Отключить Aero (только для Windows)" -Basic.Settings.Video.FPSCommon="Общие значения FPS" -Basic.Settings.Video.FPSInteger="Целое значение FPS" -Basic.Settings.Video.FPSFraction="Дробное значение FPS" +Basic.Settings.Video.FPS="Частота кадров" +Basic.Settings.Video.FPSCommon="Общие значения частоты кадров" +Basic.Settings.Video.FPSInteger="Целое значение частоты кадров" +Basic.Settings.Video.FPSFraction="Дробное значение частоты кадров" Basic.Settings.Video.Numerator="Числитель" Basic.Settings.Video.Denominator="Знаменатель" Basic.Settings.Video.Renderer="Отрисовщик" @@ -938,7 +940,7 @@ Basic.Settings.Advanced.Video.ColorFormat.RGB="RGB (8 бит)" Basic.Settings.Advanced.Video.ColorSpace="Цветовое пространство" Basic.Settings.Advanced.Video.ColorRange="Цветовой диапазон" -Basic.Settings.Advanced.Video.ColorRange.Partial="Ограничено" +Basic.Settings.Advanced.Video.ColorRange.Partial="Ограниченный" Basic.Settings.Advanced.Video.ColorRange.Full="Полный" Basic.Settings.Advanced.Video.SdrWhiteLevel="Уровень белого SDR" Basic.Settings.Advanced.Video.HdrNominalPeakLevel="Номинальный пиковый уровень HDR" @@ -953,7 +955,7 @@ Basic.Settings.Advanced.Network.Disabled="Текущий выбранный протокол потокового вещания не поддерживает изменение сетевых настроек." Basic.Settings.Advanced.Network.BindToIP="Привязать к IP" Basic.Settings.Advanced.Network.EnableNewSocketLoop="Включить сетевую оптимизацию" -Basic.Settings.Advanced.Network.EnableLowLatencyMode="Включить TCP pacing" +Basic.Settings.Advanced.Network.EnableLowLatencyMode="Включить прореживание данных (TCP pacing)" Basic.Settings.Advanced.Network.TCPPacing.Tooltip="Пытается уменьшить негативный эффект на другие приложения при использовании RTMP-вывода путём регулирования скорости передачи.\nМожет увеличить риск потери кадров при нестабильном соединении." Basic.Settings.Advanced.Hotkeys.HotkeyFocusBehavior="Поведение фокуса горячих клавиш" Basic.Settings.Advanced.Hotkeys.NeverDisableHotkeys="Никогда не отключать горячие клавиши" @@ -1034,6 +1036,9 @@ AddUrl.Title="Добавить источник через URL" AddUrl.Text="Вы перетащили URL в OBS. Это автоматически добавит эту ссылку в качестве источника. Продолжить?" AddUrl.Text.Url="Ссылка: %1" +ResizeOutputSizeOfSource="Масштабировать вывод (по размеру источника)" +ResizeOutputSizeOfSource.Text="Разрешения холста и вывода будут изменены до размера выбранного источника." +ResizeOutputSizeOfSource.Continue="Хотите продолжить?" PreviewTransition="Предпросмотр перехода" Importer="Импортёр коллекции сцен" Importer.SelectCollection="Выберите коллекцию сцен" @@ -1081,7 +1086,7 @@ YouTube.Actions.MadeForKids="Пометить трансляцию как сделанную \"для детей\"?" YouTube.Actions.MadeForKids.Yes="Да, это сделано для детей" YouTube.Actions.MadeForKids.No="Нет, это не для детей" -YouTube.Actions.AdditionalSettings="Дополнительные параметры" +YouTube.Actions.AdditionalSettings="Дополнительные настройки" YouTube.Actions.Latency="Задержка" YouTube.Actions.Latency.Normal="Нормально" YouTube.Actions.Latency.Low="Низко"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/si-LK.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/si-LK.ini
Changed
@@ -521,7 +521,6 @@ Basic.MainMenu.File.ShowSettingsFolder="සැකසුම් බහාලුම පෙන්වන්න" Basic.MainMenu.File.ShowProfileFolder="පැතිකඩ බහාලුම පෙන්වන්න" Basic.MainMenu.File.ShowMissingFiles="නැතිවූ ගොනු සොයා බලන්න" -Basic.MainMenu.AlwaysOnTop="&සැමවිට මුදුනින්" Basic.MainMenu.File.Exit="පි&ටවන්න" Basic.MainMenu.Edit="&සංස්කරණය" Basic.MainMenu.Edit.Undo="&පෙරසේ" @@ -933,7 +932,6 @@ YouTube.Actions.MadeForKids="මෙම දෘශ්යකය ළමුන් සඳහා ද?*" YouTube.Actions.MadeForKids.Yes="ඔව්, එය ළමුන් සඳහා තනා ඇත" YouTube.Actions.MadeForKids.No="නැහැ, එය ළමුන් සඳහා තැනූවක් නොවේ" -YouTube.Actions.AdditionalSettings="අතිරේක සැකසුම්:" YouTube.Actions.Latency="ගුප්තතාව" YouTube.Actions.Latency.Normal="සාමාන්ය" YouTube.Actions.Latency.Low="අඩු"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/sk-SK.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/sk-SK.ini
Changed
@@ -579,7 +579,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Zobraziť priečinok nastavení" Basic.MainMenu.File.ShowProfileFolder="Zobraziť priečinok profilu" Basic.MainMenu.File.ShowMissingFiles="Kontrolovať či nechýbajú súbory" -Basic.MainMenu.AlwaysOnTop="Vždy n&avrchu" Basic.MainMenu.File.Exit="Ukončiť (&x)" Basic.MainMenu.Edit="Upraviť (&E)" Basic.MainMenu.Edit.Undo="Vrátiť späť (&U)" @@ -619,6 +618,7 @@ Basic.MainMenu.View.StatusBar="&Stavový riadok" Basic.MainMenu.View.Fullscreen.Interface="Na celú obrazovku" Basic.MainMenu.View.ResetUI="&Resetovať používateľské rozhranie" +Basic.MainMenu.View.AlwaysOnTop="Vždy n&avrchu" Basic.MainMenu.Docks="&Doky" Basic.MainMenu.Docks.ResetDocks="&Resetovať doky" Basic.MainMenu.Docks.LockDocks="&Zamknúť doky" @@ -759,6 +759,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="Hardvérový (AMD, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="Hardvérový (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="Hardvérový (NVENC, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="Hardvérový (NVENC, AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="Hardvérový (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="Hardvérový (Apple, H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="Softvérový (x264, nízke zaťaženie CPU, zvyšuje veľkosť súboru)" @@ -829,7 +830,6 @@ Basic.Settings.Output.SplitFile.TypeManual="Rozdeľovať iba manuálne" Basic.Settings.Output.SplitFile.Time="Čas rozdelenia" Basic.Settings.Output.SplitFile.Size="Veľkosť rozdelenia" -Basic.Settings.Output.SplitFile.ResetTimestamps="Resetovať časové známky na začiatku každého rozdeleného súboru" Screenshot="Výstup snímkov obrazovky" Screenshot.SourceHotkey="Vybratý zdroj snímkov obrazovky" Screenshot.StudioProgram="Snímok obrazovky (Program)" @@ -1017,6 +1017,9 @@ About.Contribute="Podporte projekt OBS" AddUrl.Title="Pridať Zdroj cez URL" AddUrl.Text="Pretiahli ste nejaký URL do OBS. Toto automaticky pridá daný link ako zdroj. Pokračovať?" +ResizeOutputSizeOfSource="Zmeniť veľkosť výstupu (veľkosť zdroja)" +ResizeOutputSizeOfSource.Text="Základné a výstupné rozlíšenie budú zmenené na veľkosť súčasného zdroja." +ResizeOutputSizeOfSource.Continue="Chcete pokračovať?" PreviewTransition="Ukážka prechodu" Importer="Dovozca scény" Importer.SelectCollection="Vyberte zbierku scény" @@ -1064,7 +1067,7 @@ YouTube.Actions.MadeForKids="Je toto video robené pre deti?*" YouTube.Actions.MadeForKids.Yes="Áno, je robené pre deti" YouTube.Actions.MadeForKids.No="Nie, nie je robené pre deti" -YouTube.Actions.AdditionalSettings="Ďalšie nastavenia:" +YouTube.Actions.AdditionalSettings="Ďalšie nastavenia" YouTube.Actions.Latency="Odozva" YouTube.Actions.Latency.Normal="Normálna" YouTube.Actions.Latency.Low="Nízka"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/sl-SI.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/sl-SI.ini
Changed
@@ -584,7 +584,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Prikaži mapo z nastavitvami" Basic.MainMenu.File.ShowProfileFolder="Prikaži mapo s profili" Basic.MainMenu.File.ShowMissingFiles="Preveri manjkajoče datoteke" -Basic.MainMenu.AlwaysOnTop="Vedno n&a vrhu" Basic.MainMenu.File.Exit="Izhod (&X)" Basic.MainMenu.Edit="Ur&edi" Basic.MainMenu.Edit.Undo="Razveljavi (&U)" @@ -624,6 +623,7 @@ Basic.MainMenu.View.StatusBar="Vr&stica stanja" Basic.MainMenu.View.Fullscreen.Interface="Celozaslonski vmesnik" Basic.MainMenu.View.ResetUI="&Ponastavi uporabniški vmesnik" +Basic.MainMenu.View.AlwaysOnTop="Vedno n&a vrhu" Basic.MainMenu.Docks="&Sidrišča" Basic.MainMenu.Docks.ResetDocks="&Ponastavi sidrišča" Basic.MainMenu.Docks.LockDocks="&Zakleni sidrišča" @@ -766,6 +766,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="Strojna oprema (AMD, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="Strojna oprema (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="Strojna oprema (NVENC, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="Strojna oprema (NVENC, AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="Strojna oprema (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="Strojna oprema (Apple, H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="Programski (prednastavitev x264 s nizko porabo CPE-ja, poveča velikost datoteke)" @@ -838,7 +839,6 @@ Basic.Settings.Output.SplitFile.TypeManual="Razdeli samo ročno" Basic.Settings.Output.SplitFile.Time="Čas delitve" Basic.Settings.Output.SplitFile.Size="Velikost delitve" -Basic.Settings.Output.SplitFile.ResetTimestamps="Ponastavi časovne žige na začetku vsake deljene datoteke" Screenshot="Izhod posnetka zaslona" Screenshot.SourceHotkey="Izbrani vir posnetka zaslona" Screenshot.StudioProgram="Posnetek zaslona (Program)" @@ -1040,6 +1040,9 @@ About.Contribute="Podprite projekt OBS" AddUrl.Title="Dodaj vir preko URL naslova" AddUrl.Text="V OBS ste potegnili URL naslov. To ga bo samodejno dodalo kot vire. Nadaljujem?" +ResizeOutputSizeOfSource="Spremeni izhod (velikost vira)" +ResizeOutputSizeOfSource.Text="Osnovna in izhodna ločljivost bosta spremenjeni na velikost trenutnega vira." +ResizeOutputSizeOfSource.Continue="Ali želite nadaljevati?" PreviewTransition="Predogled prehoda" Importer="Uvoz zbirk prizorov" Importer.SelectCollection="Izberi zbirko prizorov" @@ -1087,7 +1090,7 @@ YouTube.Actions.MadeForKids="Je ta video narejen za otroke?*" YouTube.Actions.MadeForKids.Yes="Da, narejen je za otroke" YouTube.Actions.MadeForKids.No="Ne, ni narejen za otroke" -YouTube.Actions.AdditionalSettings="Dodatne nastavitve:" +YouTube.Actions.AdditionalSettings="Dodatne nastavitve" YouTube.Actions.Latency="Zakasnitev" YouTube.Actions.Latency.Normal="običajna" YouTube.Actions.Latency.Low="majhna"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/sr-CS.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/sr-CS.ini
Changed
@@ -415,7 +415,6 @@ Basic.MainMenu.File.Settings="Podešavanja (&S)" Basic.MainMenu.File.ShowSettingsFolder="Prikaži folder sa podešavanjima" Basic.MainMenu.File.ShowProfileFolder="Prikaži folder sa profilima" -Basic.MainMenu.AlwaysOnTop="Uvek na vrhu (&A)" Basic.MainMenu.File.Exit="Izlaz (&X)" Basic.MainMenu.Edit="Izm&ena" Basic.MainMenu.Edit.Undo="Vrati unazad (&U)"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/sr-SP.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/sr-SP.ini
Changed
@@ -399,7 +399,6 @@ Basic.MainMenu.File.Settings="Подешавања" Basic.MainMenu.File.ShowSettingsFolder="Прикажи фолдере са подешавањима" Basic.MainMenu.File.ShowProfileFolder="Прикажи фолдер са подешавањима" -Basic.MainMenu.AlwaysOnTop="Увек на врху (&A)" Basic.MainMenu.File.Exit="Излаз (&X)" Basic.MainMenu.Edit="Уреди" Basic.MainMenu.Edit.Undo="Врати уназад (&U)" @@ -716,7 +715,6 @@ YouTube.Actions.MadeForKids="Да ли је овај видео направљен за децу?*" YouTube.Actions.MadeForKids.Yes="Да, направљено је за децу" YouTube.Actions.MadeForKids.No="Не, није направљено за децу" -YouTube.Actions.AdditionalSettings="Додатна подешавања" YouTube.Actions.Latency="Одзив" YouTube.Actions.Latency.Normal="Нормално" YouTube.Actions.Latency.Low="Ниско"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/sv-SE.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/sv-SE.ini
Changed
@@ -574,7 +574,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Visa inställningsmapp" Basic.MainMenu.File.ShowProfileFolder="Visa profilmapp" Basic.MainMenu.File.ShowMissingFiles="Sök efter saknade filer" -Basic.MainMenu.AlwaysOnTop="&Alltid överst" Basic.MainMenu.File.Exit="Avsluta (&X)" Basic.MainMenu.Edit="R&edigera" Basic.MainMenu.Edit.Undo="Ångra (&U)" @@ -614,6 +613,7 @@ Basic.MainMenu.View.StatusBar="&Statusfält" Basic.MainMenu.View.Fullscreen.Interface="Helskärmsgränssnitt" Basic.MainMenu.View.ResetUI="&Återställ gränssnitt" +Basic.MainMenu.View.AlwaysOnTop="&Alltid överst" Basic.MainMenu.Docks="&Flytande fönster" Basic.MainMenu.Docks.ResetDocks="&Återställ flytande fönster" Basic.MainMenu.Docks.LockDocks="&Lås flytande fönster" @@ -755,6 +755,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="Hårdvara (AMD, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="Hårdvara (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="Hårdvara (NVENC, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="Hårdvara (NVENC, AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="Hårdvara (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="Hårdvara (Apple, H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="Mjukvara (x264 med förinställning för låg processoranvändning, ökar filstorleken)" @@ -825,7 +826,6 @@ Basic.Settings.Output.SplitFile.TypeManual="Dela endast upp manuellt" Basic.Settings.Output.SplitFile.Time="Tidpunkt att dela vid" Basic.Settings.Output.SplitFile.Size="Storlek att dela vid" -Basic.Settings.Output.SplitFile.ResetTimestamps="Återställ tidsstämplar i början av varje delad fil" Screenshot="Utmatning för skärmdump" Screenshot.SourceHotkey="Vald källa för skärmdump" Screenshot.StudioProgram="Skärmdump (program)" @@ -1013,6 +1013,9 @@ About.Contribute="Stöd OBS-projektet" AddUrl.Title="Lägg till källa via webbadress" AddUrl.Text="Du har dragit en URL till OBS. Detta kommer automatiskt att lägga till länken som källa. Fortsätt?" +ResizeOutputSizeOfSource="Storleksändra utmatning (källans storlek)" +ResizeOutputSizeOfSource.Text="Grund- och utmatningsupplösningarna kommer att ändras till storleken för den nuvarande källan." +ResizeOutputSizeOfSource.Continue="Vill du fortsätta?" PreviewTransition="Förhandsvisa övergång" Importer="Importering av scensamling" Importer.SelectCollection="Välj en scensamling" @@ -1060,7 +1063,7 @@ YouTube.Actions.MadeForKids="Är den här videon gjord för barn?*" YouTube.Actions.MadeForKids.Yes="Ja, den är gjord för barn" YouTube.Actions.MadeForKids.No="Nej, den är inte gjord för barn" -YouTube.Actions.AdditionalSettings="Ytterligare inställningar:" +YouTube.Actions.AdditionalSettings="Ytterligare inställningar" YouTube.Actions.Latency="Latens" YouTube.Actions.Latency.Low="Låg" YouTube.Actions.Latency.UltraLow="Ultralåg"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/szl-PL.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/szl-PL.ini
Changed
@@ -769,7 +769,6 @@ YouTube.Actions.MadeForKids="Je film przeznaczōny dlo bajtli?*" YouTube.Actions.MadeForKids.Yes="Ja, ôn je przeznaczōny dlo bajtli" YouTube.Actions.MadeForKids.No="Niy, ôn niy je przeznaczōny dlo bajtli" -YouTube.Actions.AdditionalSettings="Ekstra ôpcyje:" YouTube.Actions.Latency="Ôpōźniynie" YouTube.Actions.Latency.Normal="Normalne" YouTube.Actions.Latency.Low="Niske"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/ta-IN.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/ta-IN.ini
Changed
@@ -435,7 +435,6 @@ Basic.MainMenu.File.Settings="அமைப்புகள் (&S)" Basic.MainMenu.File.ShowSettingsFolder="அமைப்புகள் கோப்புறைகளைக் காண்பி" Basic.MainMenu.File.ShowProfileFolder="கோப்புறை சுயவிவரம் காண்பி" -Basic.MainMenu.AlwaysOnTop="எப்போதும் உச்சியில்இரு (&A)" Basic.MainMenu.File.Exit="வெளியேறு (&X)" Basic.MainMenu.Edit="திருத்து (&E)" Basic.MainMenu.Edit.Undo="செயல்தவிர் (&U)"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/th-TH.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/th-TH.ini
Changed
@@ -96,11 +96,23 @@ ShowOnStartup="แสดงเมื่อเริ่มต้นแอป" OpenFile="เปิดไฟล์" AddValue="เพิ่ม %1" +AddSource="เพิ่มแหล่งที่มา" RemoveScene="ลบฉากที่เลือก" +RemoveSource="ลบแหล่งที่มาที่เลือก" +MoveSceneUp="ย้ายฉากขึ้น" +MoveSceneDown="ย้ายฉากลง" +MoveSourceUp="ย้ายแหล่งที่มาขึ้น" +MoveSourceDown="ย้ายแหล่งที่มาลง" +SourceProperties="เปิดคุณสมบัติแหล่งที่มา" +SourceFilters="เปิดฟิลเตอร์แหล่งที่มา" +MixerToolbarMenu="เมนูเครื่องเสียง" +PluginsFailedToLoad.Title="ข้อผิดพลาดในการโหลดปลั๊กอิน" +PluginsFailedToLoad.Text="ไม่สามารถโหลดปลั๊กอิน OBS ต่อไปนี้:\n\n%1\n โปรดอัปเดตหรือลบปลั๊กอินเหล่านี้" AlreadyRunning.Title="OBS กำลังทำงานอยู่" AlreadyRunning.Text="โปรแกรม OBS กำลังทำงานอยู่ หากคุณไม่ต้องการดำเนินการดังกล่าวโปรดปิดโปรแกรม OBS ที่มีอยู่ ก่อนที่จะพยายามเรียกใช้อินสแตนซ์ใหม่ หากคุณตั้งค่าโปรแกรม OBS ให้ย่อเล็กสุด ให้ดูที่แถบบาร์ของระบบว่าโปรแกรมยังคงเปิดยังใช้งานอยู่หรือไม่" AlreadyRunning.LaunchAnyway="ยังไงก็จะเปิด" ChromeOS.Title="แพลตฟอร์มที่ไม่รองรับ" +ChromeOS.Text="ดูเหมือนว่า OBS จะทำงานภายในคอนเทนเนอร์ ChromeOS แพลตฟอร์มนี้ไม่ได้รับการสนับสนุน" Wine.Title="Wine ถูกตรวจพบ" Wine.Text="OBS ไม่รองรับการทำงานบน Wine และฟีเจอร์หลาย ๆ อย่างเช่นการจับภาพหน้าจอหรือการนำแหล่งสัญญาณเข้าอาจไม่สามารถใช้งานได้ หรือได้แต่ไม่สมบูรณ์<br><br>ขอแนะนำให้ใช้ OBS เวอร์ชันที่ตรงกับระบบของคุณ เช่น<a href='https://flathub.org/apps/details/com.obsproject.Studio'>เวอร์ชัน Flatpak</a>หรือเวอร์ชันของระบบปฏิบัติการของคุณ" DockCloseWarning.Title="ปิดหน้าต่างเครื่องมือ" @@ -211,6 +223,7 @@ Basic.Stats.DiskFullIn="พื้นที่จัดเก็บเต็ม" Basic.Stats.ResetStats="รีเซ็ตสถิติ" ResetUIWarning.Title="คุณแน่ใจหรือไม่ว่าต้องการคืนค่า UI?" +ResetUIWarning.Text="การรีเซ็ต UI จะซ่อนท่าเรือเพิ่มเติม คุณจะต้องยกเลิกการซ่อน Docks เหล่านี้จากเมนู Docks หากต้องการให้มองเห็นได้\n\nคุณแน่ใจหรือไม่ว่าต้องการรีเซ็ต UI" Updater.Title="มีการอัปเดตใหม่" Updater.Text="มีการอัปเดตใหม่:" Updater.UpdateNow="อัปเดตเดี๋ยวนี้" @@ -220,11 +233,19 @@ Updater.Running.Text="เอาต์พุตกำลังทำงานอยู่ โปรดปิดเอาต์พุตที่ใช้งานอยู่ก่อนที่จะพยายามอัปเดต" Updater.NoUpdatesAvailable.Title="ไม่มีอัพเดทที่พร้อมใช้" Updater.NoUpdatesAvailable.Text="ขณะนี้ยังไม่มีอัพเดทที่พร้อมใช้" +Updater.RepairButUpdatesAvailable.Title="การตรวจสอบความสมบูรณ์ไม่พร้อมใช้งาน" +Updater.RepairButUpdatesAvailable.Text="การตรวจสอบความสมบูรณ์ของไฟล์ทำได้เฉพาะเวอร์ชันล่าสุดที่มีเท่านั้น ใช้ Help → Check For Updates เพื่อตรวจสอบและอัปเดตการติดตั้ง OBS ของคุณ" +Updater.RepairConfirm.Title="ยืนยันการตรวจสอบ Integrity" +Updater.RepairConfirm.Text="การเริ่มต้นการตรวจสอบ integrity จะสแกนการติดตั้ง OBS ของคุณเพื่อหาความเสียหาย และดาวน์โหลดไฟล์ที่เสียหาย/แก้ไขใหม่ อาจใช้เวลาสักครู่\n\nคุณต้องการดำเนินการต่อหรือไม่" Updater.FailedToLaunch="ไม่สามารถเปิดตัวอัปเดตได้" Updater.GameCaptureActive.Title="การจับภาพเกมทำงานอยู่" Updater.GameCaptureActive.Text="ไลบรารีจุดแทรกโค้ดของการจับภาพเกมทำงานอยู่ในขณะนี้ โปรดปิดเกมหรือโปรแกรมทั้งหมดที่จับภาพอยู่ (หรือรีสตาร์ท Windows) แล้วลองอีกครั้ง" +QuickTransitions.SwapScenes="สลับฉากตัวอย่างและฉากของโปรแกรมหลังจากเปลี่ยน" +QuickTransitions.SwapScenesTT="สลับฉากตัวอย่างและฉากของโปรแกรมหลังจากเปลี่ยนแล้ว (หากฉากดั้งเดิมของโปรแกรมยังคงอยู่)\nการดำเนินการนี้จะไม่ยกเลิกการเปลี่ยนแปลงใดๆ ที่อาจเกิดขึ้นกับฉากดั้งเดิมของโปรแกรม" QuickTransitions.DuplicateScene="ฉากซ้ำกัน" +QuickTransitions.DuplicateSceneTT="เมื่อแก้ไขฉากเดียวกัน อนุญาตให้แก้ไขการแปลง/การมองเห็นของแหล่งที่มาโดยไม่ต้องแก้ไขเอาต์พุตของโปรแกรม\nหากต้องการแก้ไขคุณสมบัติของแหล่งที่มาโดยไม่ต้องแก้ไขเอาต์พุตของโปรแกรม ให้เปิดใช้งาน 'แหล่งที่มาที่ซ้ำกัน'\nการเปลี่ยนค่านี้จะรีเซ็ตฉากของโปรแกรมปัจจุบัน (ถ้ามีอยู่)" QuickTransitions.EditProperties="ทำสำเนาทรัพยากร" +QuickTransitions.EditPropertiesTT="เมื่อแก้ไขฉากเดียวกัน อนุญาตให้แก้ไขคุณสมบัติของแหล่งที่มาโดยไม่ต้องแก้ไขเอาต์พุตของโปรแกรม\nสามารถใช้ได้เฉพาะเมื่อเปิดใช้งาน 'ฉากซ้ำ' เท่านั้น\nแหล่งที่มาบางแห่ง (เช่น แหล่งจับภาพหรือแหล่งสื่อ) ไม่รองรับสิ่งนี้และไม่สามารถแก้ไขได้ แยกกัน\nการเปลี่ยนค่านี้จะรีเซ็ตฉากของโปรแกรมปัจจุบัน (หากยังคงมีอยู่)\n\nคำเตือน: เนื่องจากแหล่งที่มาจะถูกทำซ้ำ การดำเนินการนี้อาจต้องใช้ทรัพยากรระบบหรือวิดีโอเพิ่มเติม" QuickTransitions.HotkeyName="สลับฉากอย่างรวดเร็ว: %1" Basic.AddTransition="เพิ่มรูปแบบการสลับฉาก" Basic.RemoveTransition="ลบรูปแบบการสลับฉาก" @@ -276,6 +297,7 @@ Undo.MoveToTop="ย้ายขึ้นมาไว้บนสุด %1 %2" Undo.MoveToBottom="ย้ายลงไปล่างสุด %1 %2" Undo.PasteSource="วางแหล่งที่มา %1" +Undo.PasteSourceRef="วางแหล่งที่มาใน '%1'" Undo.GroupItems="รวมรายการเป็นกลุ่ม %1" TransitionNameDlg.Text="โปรดกำหนดชื่อสำหรับรูปแบบการสลับฉาก" TransitionNameDlg.Title="ชื่อรูปแบบการสลับฉาก" @@ -296,6 +318,7 @@ ConfirmExit.Title="ออก OBS?" ConfirmExit.Text="OBS กำลังใช้งานอยู่ สตรีม/การบันทึกทั้งหมดจะถูกปิด คุณแน่ใจหรือไม่ว่าต้องการออก?" ConfirmRemove.Title="ยืนยันการลบ" +ConfirmRemove.Text="คุณแน่ใจหรือไม่ว่าต้องการลบ '%1'?" ConfirmRemove.TextMultiple="คุณแน่ใจแล้วหรือที่จะลบ '%1'?" Output.StartStreamFailed="ไม่สามารถเริ่มสตรีมได้" Output.StartRecordingFailed="ไม่สามารถเริ่มบันทึกได้" @@ -321,7 +344,9 @@ Output.RecordError.EncodeErrorMsg="มีข้อผิดพลาดเกี่ยวกับตัวเข้ารหัสเกิดขึ้นขณะบันทึก" Output.RecordError.EncodeErrorMsg.LastError="มีข้อผิดพลาดเกี่ยวกับตัวเข้ารหัสเกิดขึ้นขณะบันทึก:\n\n%1" Output.BadPath.Title="เส้นทางของไฟล์ไม่ถูกต้อง" +Output.BadPath.Text="ไม่สามารถเปิดเส้นทางการบันทึกที่กำหนดค่าไว้ได้ โปรดตรวจสอบเส้นทางการบันทึกของคุณใน การตั้งค่า → เอาต์พุต → การบันทึก" Output.NoBroadcast.Title="ไม่ได้กำหนดค่าการถ่ายทอด" +Output.NoBroadcast.Text="คุณต้องตั้งค่า broadcast ก่อนจึงจะเริ่ม streaming ได้" Output.BroadcastStartFailed="ไม่สามารถเริ่มถ่ายทอดได้" Output.BroadcastStopFailed="ไม่สามารถหยุดถ่ายทอดได้" LogReturnDialog="อัพโหลดไฟล์ Log สำเร็จ" @@ -352,6 +377,7 @@ MissingFiles.NewFile="ไฟล์ใหม่" MissingFiles.HelpText="บางไฟล์หายไปตั้งแต่ที่คุณใช้ OBS ครั้งล่าสุด" MissingFiles.Clear="<ถูกล้างแล้ว>" +MissingFiles.NumFound="พบ %1 จาก %2" MissingFiles.Search="ค้นหาไดเรกทอรี..." MissingFiles.SelectFile="เลือกไฟล์..." MissingFiles.SelectDir="เลือกโฟลเดอร์ที่จะค้นหา" @@ -361,12 +387,33 @@ MissingFiles.Cleared="ถูกล้าง" MissingFiles.Found="เจอแล้ว" MissingFiles.AutoSearch="พบไฟล์เพิ่มเติมที่ตรงกัน" +MissingFiles.AutoSearchText="OBS พบไฟล์ที่ตรงกันเพิ่มเติมสำหรับไฟล์ที่ขาดหายไปในไดเร็กทอรีนั้น คุณต้องการเพิ่มหรือไม่" +MissingFiles.NoMissing.Title="ตรวจสอบไฟล์ที่หายไป" +MissingFiles.NoMissing.Text="ไม่มีไฟล์ใดที่ดูเหมือนจะหายไป" +MacPermissions.Title="ตรวจสอบสิทธิ์ของแอป" +MacPermissions.Description="OBS Studio ต้องได้รับอนุญาตจากคุณจึงจะสามารถให้บริการคุณลักษณะบางอย่างได้ ขอแนะนำให้เปิดใช้งานการอนุญาตเหล่านี้ แต่ไม่จำเป็นต้องใช้แอพ คุณสามารถเปิดใช้งานได้ในภายหลัง" +MacPermissions.Description.OpenDialog="คุณสามารถเปิดกล่องโต้ตอบนี้อีกครั้งผ่านเมนู OBS Studio" +MacPermissions.AccessGranted="ได้รับสิทธิ์การเข้าถึง" +MacPermissions.RequestAccess="ขอการเข้าถึง" +MacPermissions.OpenPreferences="เปิดการตั้งค่า %1" +MacPermissions.Item.ScreenRecording="บันทึกหน้าจอ" +MacPermissions.Item.ScreenRecording.Details="OBS ต้องการ การอนุญาตนี้จึงจะสามารถจับภาพหน้าจอของคุณได้" +MacPermissions.Item.Camera="กล้อง" +MacPermissions.Item.Camera.Details="การอนุญาตนี้จำเป็นสำหรับการบันทึกเนื้อหาจากเว็บแคมหรือการ์ดจับภาพ" +MacPermissions.Item.Microphone="ไมโครโฟน" +MacPermissions.Item.Microphone.Details="OBS ต้องการการอนุญาตนี้หากคุณต้องการ capture ไมโครโฟนของคุณ" +MacPermissions.Item.Accessibility="การช่วยการเข้าถึง" +MacPermissions.Item.Accessibility.Details="เพื่อให้แป้นพิมพ์ลัด (ปุ่มลัด) ทำงานขณะที่แอปอื่นโฟกัสอยู่ โปรดเปิดใช้การอนุญาตนี้" +MacPermissions.Continue="ดำเนินการต่อ" UpdateAvailable="มีอัปเดตใหม่พร้อมใช้งาน" UpdateAvailable.Text="เวอร์ชั่น %1.%2.%3 พร้อมใช้งานแล้ว <a href='%4'>คลิกที่นี่เพื่อดาวน์โหลด</a>" Basic.Scene="ฉาก" Basic.DisplayCapture="จับภาพหน้าจอ" Basic.Main.PreviewConextMenu.Enable="เปิดใช้งานตัวอย่าง" Basic.Main.Preview.Disable="ปิดใช้งานตัวอย่าง" +ScaleFiltering="มาตราส่วนฟิลเตอร์" +ScaleFiltering.Point="จุด" +ScaleFiltering.Bilinear="ไบลิเนียร์" BlendingMethod.SrgbOff="ปิด SRGB" BlendingMode.Normal="ปกติ" Deinterlacing.Discard="ยกเลิก" @@ -461,7 +508,6 @@ Basic.MainMenu.File.Settings="ตั้งค่า (&S)" Basic.MainMenu.File.ShowSettingsFolder="แสดงโฟลเดอร์การตั้งค่า" Basic.MainMenu.File.ShowProfileFolder="แสดงโฟลเดอร์โปรไฟล์" -Basic.MainMenu.AlwaysOnTop="&อยู่ด้านบนเสมอ" Basic.MainMenu.File.Exit="ออก (&X)" Basic.MainMenu.Edit="แก้ไข (&E)" Basic.MainMenu.Edit.Undo="&เลิกทำ"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/tl-PH.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/tl-PH.ini
Changed
@@ -353,7 +353,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Ipakita ang Folder ng mga Setting" Basic.MainMenu.File.ShowProfileFolder="Ipakita ang Profile Folder" Basic.MainMenu.File.ShowMissingFiles="Sumuri para sa nawawalang files" -Basic.MainMenu.AlwaysOnTop="P&alaging Nasa Tuktok" Basic.MainMenu.Edit="I&edit" Basic.MainMenu.Edit.Undo="Ipawalang-bisa (&U)" Basic.MainMenu.Edit.Redo="Gawin Muli (&R)"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/tr-TR.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/tr-TR.ini
Changed
@@ -24,7 +24,7 @@ Browse="Gözat" Mono="Tekli" DroppedFrames="Kaybedilen Kareler %1 (%%2)" -StudioProgramProjector="Tam Ekran Projektör (Program)" +StudioProgramProjector="Tam Ekran Yansıtması (Program)" PreviewProjector="Tam Ekran Yansıtması (Önizleme)" SceneProjector="Tam Ekran Yansıtması (Sahne)" SourceProjector="Tam Ekran Yansıtması (Kaynak)" @@ -576,7 +576,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Ayarlar Dosyasını Göster" Basic.MainMenu.File.ShowProfileFolder="Profil Dosyasını Göster" Basic.MainMenu.File.ShowMissingFiles="Kayıp dosyaları kontrol et" -Basic.MainMenu.AlwaysOnTop="Her Z&aman Üstte" Basic.MainMenu.File.Exit="Çıkış (&X)" Basic.MainMenu.Edit="Düz&enle" Basic.MainMenu.Edit.Undo="&Geri al" @@ -616,6 +615,7 @@ Basic.MainMenu.View.StatusBar="Durum Çubuğu (&S)" Basic.MainMenu.View.Fullscreen.Interface="Tam Ekran Arayüz" Basic.MainMenu.View.ResetUI="&Arayüzü Sıfırla" +Basic.MainMenu.View.AlwaysOnTop="&Her Zaman Üstte" Basic.MainMenu.Docks="&Paneller" Basic.MainMenu.Docks.ResetDocks="&Yuvaları Sıfırla" Basic.MainMenu.Docks.LockDocks="&Yuvaları Kilitle" @@ -758,6 +758,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="Donanım (AMD, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="Donanım (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="Donanım (NVENC, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="Donanım (NVENC, AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="Donanım (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="Donanım (Apple, H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="Yazılım (x264 düşük CPU kullanım önayarı, dosya boyutunu artırır)" @@ -828,7 +829,6 @@ Basic.Settings.Output.SplitFile.TypeManual="Sadece elle böl" Basic.Settings.Output.SplitFile.Time="Bölme Süresi" Basic.Settings.Output.SplitFile.Size="Bölme Boyutu" -Basic.Settings.Output.SplitFile.ResetTimestamps="Her bölünmüş dosyanın başında süreyi sıfırla" Screenshot="Ekran Görüntüsü Çıktısı" Screenshot.SourceHotkey="Seçili Ekran Görüntüsü Kaynağı" Screenshot.StudioProgram="Ekran Görüntüsü (Program)" @@ -1021,6 +1021,9 @@ About.Contribute="OBS Projesini Destekleyin" AddUrl.Title="URL ile Kaynak Ekle" AddUrl.Text="Bir URL'i OBS'e sürüklediniz. Bu, bağlantıyı otomatik olarak kaynak olarak ekleyecektir. Devam edilsin mi?" +ResizeOutputSizeOfSource="Çıkışı yeniden boyutlandır (kaynak boyutu)" +ResizeOutputSizeOfSource.Text="Temel ve çıkış çözünürlüğü mevcut kaynağın boyutuna göre yeniden boyutlandırılacaktır." +ResizeOutputSizeOfSource.Continue="Devam etmek istiyor musunuz?" PreviewTransition="Geçişi Önizle" Importer="Sahne Koleksiyonu içe aktar" Importer.SelectCollection="Bir Sahne Koleksiyonu seçin" @@ -1068,7 +1071,7 @@ YouTube.Actions.MadeForKids="Bu video çocuklar için mi yapılmış?*" YouTube.Actions.MadeForKids.Yes="Evet, çocuklar için yapıldı" YouTube.Actions.MadeForKids.No="Hayır, çocuklar için yapılmadı" -YouTube.Actions.AdditionalSettings="Ek Ayarlar:" +YouTube.Actions.AdditionalSettings="Ek ayarlar" YouTube.Actions.Latency="Gecikme" YouTube.Actions.Latency.Low="Düşük" YouTube.Actions.Latency.UltraLow="Ultra Düşük"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/uk-UA.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/uk-UA.ini
Changed
@@ -588,7 +588,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Показати каталог налаштувань" Basic.MainMenu.File.ShowProfileFolder="Показати каталог профілю" Basic.MainMenu.File.ShowMissingFiles="Перевірити відсутність файлів" -Basic.MainMenu.AlwaysOnTop="Поверх інших вікон (&A)" Basic.MainMenu.File.Exit="Вийти (&X)" Basic.MainMenu.Edit="Редагування (&E)" Basic.MainMenu.Edit.Undo="Скасувати (&U)" @@ -628,6 +627,7 @@ Basic.MainMenu.View.StatusBar="Рядок стану (&S)" Basic.MainMenu.View.Fullscreen.Interface="Повноекранний режим" Basic.MainMenu.View.ResetUI="&Скинути інтерфейс" +Basic.MainMenu.View.AlwaysOnTop="&Завжди зверху" Basic.MainMenu.Docks="&Панелі інтерфейсу" Basic.MainMenu.Docks.ResetDocks="&Скинути панелі інтерфейсу" Basic.MainMenu.Docks.LockDocks="&Заблокувати панелі інтерфейсу" @@ -770,6 +770,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="Апаратний (AMD, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="Апаратний (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="Апаратний (NVENC, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="Апаратний (NVENC, AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="Апаратний (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="Апаратний (Apple, H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="Програмний (шаблон x264 з низьким навантаженням на ЦП, збільшує розмір файлу)" @@ -842,7 +843,6 @@ Basic.Settings.Output.SplitFile.TypeManual="Розділяти лише вручну" Basic.Settings.Output.SplitFile.Time="Час розділення" Basic.Settings.Output.SplitFile.Size="Розмір розділення" -Basic.Settings.Output.SplitFile.ResetTimestamps="Скинути часові мітки на початку кожного розділеного файлу" Screenshot="Вивід знімку екрана" Screenshot.SourceHotkey="Вибране джерело знімку екрана" Screenshot.StudioProgram="Знімок екрана (програма)" @@ -1021,6 +1021,9 @@ About.Contribute="Підтримати проект OBS" AddUrl.Title="Додати джерело через URL-адресу" AddUrl.Text="Ви перетягнули URL-адресу в OBS. Це автоматично додасть посилання як джерело. Продовжити?" +ResizeOutputSizeOfSource="Масштабувати вивід (розмір джерела)" +ResizeOutputSizeOfSource.Text="Роздільна здатність полотна та виводу будуть змінені на роздільність поточного джерела." +ResizeOutputSizeOfSource.Continue="Бажаєте продовжити?" PreviewTransition="Перегляд переходу" Importer="Імпортер колекції сцен" Importer.SelectCollection="Виберіть колекцію сцен" @@ -1068,7 +1071,7 @@ YouTube.Actions.MadeForKids="Це відео створено для дітей?*" YouTube.Actions.MadeForKids.Yes="Так, його створено для дітей" YouTube.Actions.MadeForKids.No="Ні, його створено не для дітей" -YouTube.Actions.AdditionalSettings="Додаткові налаштування:" +YouTube.Actions.AdditionalSettings="Додаткові налаштування" YouTube.Actions.Latency="Затримка" YouTube.Actions.Latency.Normal="Звичайнa" YouTube.Actions.Latency.Low="Низька"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/ur-PK.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/ur-PK.ini
Changed
@@ -24,6 +24,7 @@ Browse="تلاش" Mono="مونو" Stereo="سٹیریو" +DroppedFrames="گرائے گئے فریم %1 (%2%)" StudioProgramProjector="پوری اسکرین پروجیکٹر (پروگرام)" PreviewProjector="پوری اسکرین پروجیکٹر (پیش نظارہ)" SceneProjector="پوری اسکرین پروجیکٹر (منظر)"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/vi-VN.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/vi-VN.ini
Changed
@@ -240,7 +240,7 @@ Updater.RepairConfirm.Text="Trình kiểm tra tính toàn vẹn sẽ quét cài đặt OBS của bạn để tìm lỗi và tải lại các tệp bị hỏng/sửa đổi. Quá trình này có thể mất vài phút.\n\nCó chắc là bạn muốn kiểm tra không?" Updater.FailedToLaunch="Thất bại khi mở trình cập nhật" Updater.GameCaptureActive.Title="Trình quay cửa sổ đang hoạt động" -Updater.GameCaptureActive.Text="Trình quay trò chơi hiện đang hoạt động. Xin vui lòng đóng tất cả các trò chơi/chương trình hiện đang quay (hoặc khởi động lại Windows) và thử lại." +Updater.GameCaptureActive.Text="Thư viện móc quay trò chơi hiện đang hoạt động. Xin vui lòng đóng tất cả các trò chơi/chương trình hiện đang quay (hoặc khởi động lại Windows) và thử lại." QuickTransitions.SwapScenes="Hoán đổi cảnh xem trước và đầu ra sau khi chuyển cảnh" QuickTransitions.SwapScenesTT="Hoán đổi cảnh xem trước và cảnh đầu ra sau khi chuyển cảnh (nếu đầu ra gốc tồn tại).\nMọi thay đổi với đầu ra gốc sẽ không hoàn tác." QuickTransitions.DuplicateScene="Tạo bản sao cảnh" @@ -395,6 +395,7 @@ MacPermissions.Description.OpenDialog="Bạn có thể mở lại cái lời thoại trong menu của OBS Studio" MacPermissions.AccessGranted="Cấp quyền truy cập" MacPermissions.RequestAccess="Yêu cầu quyền truy cập" +MacPermissions.OpenPreferences="Mở tùy chọn của %1" MacPermissions.Item.ScreenRecording="Ghi lại màn hình" MacPermissions.Item.ScreenRecording.Details="OBS cần quyền này để có thể ghi lại màn hình của bạn" MacPermissions.Item.Camera.Details="Quyền này là cần thiết để quay được bằng webcam hay capture card." @@ -539,7 +540,7 @@ Basic.Main.StopRecording="Dừng ghi" Basic.Main.PauseRecording="Tạm dừng ghi hình" Basic.Main.UnpauseRecording="Tiếp tục ghi hình" -Basic.Main.SplitFile="Chia file ghi hình ra" +Basic.Main.SplitFile="Tách tệp ghi hình" Basic.Main.StoppingRecording="Dừng ghi video..." Basic.Main.StopReplayBuffer="Dừng Replay Buffer" Basic.Main.StoppingReplayBuffer="Đang dừng Replay Buffer..." @@ -561,6 +562,7 @@ Basic.VCam.VirtualCamera="Máy quay ảo" Basic.VCam.OutputType="Kiểu đầu ra" Basic.VCam.OutputSelection="Chọn đầu ra" +Basic.VCam.Internal="Nội bộ" Basic.VCam.InternalDefault="Đầu ra của chương trình" Basic.VCam.InternalPreview="Xem trước đầu ra" Basic.MainMenu.File="Tập tin (&F)" @@ -572,7 +574,6 @@ Basic.MainMenu.File.ShowSettingsFolder="Hiển thị thư mục thiết đặt" Basic.MainMenu.File.ShowProfileFolder="Hiển thị thư mục cấu hình" Basic.MainMenu.File.ShowMissingFiles="Kiểm tra các tệp bị thiếu" -Basic.MainMenu.AlwaysOnTop="Luôn trên đầu tr&ang" Basic.MainMenu.File.Exit="Thoát (&X)" Basic.MainMenu.Edit="Chỉnh sửa (&E)" Basic.MainMenu.Edit.Undo="Hoàn tác (&U)" @@ -612,6 +613,7 @@ Basic.MainMenu.View.StatusBar="Thanh trạng thái (&S)" Basic.MainMenu.View.Fullscreen.Interface="Giao diện toàn màn hình" Basic.MainMenu.View.ResetUI="&Đặt lại giao diện" +Basic.MainMenu.View.AlwaysOnTop="&Luôn hiện trên cùng" Basic.MainMenu.Docks="&Giá đỡ" Basic.MainMenu.Docks.ResetDocks="&Đặt lại thanh" Basic.MainMenu.Docks.LockDocks="&Khoá thanh" @@ -754,6 +756,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="Phần cứng (QSV, H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="Phần cứng (AMD, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="Phần cứng (NVENC, H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="Phần cứng (NVENC, AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="Phần cứng (NVENC, HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="Phần cứng (Apple, H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="Phần mềm (x264 sử dụng CPU thấp, tăng kích thước tệp)" @@ -821,9 +824,9 @@ Basic.Settings.Output.EnableSplitFile="Tự động phân tách tệp đầu ra" Basic.Settings.Output.SplitFile.TypeTime="Phân tách theo giờ" Basic.Settings.Output.SplitFile.TypeSize="Phân tách theo kích cỡ" +Basic.Settings.Output.SplitFile.TypeManual="Chỉ tách thủ công" Basic.Settings.Output.SplitFile.Time="Phân chia giờ" Basic.Settings.Output.SplitFile.Size="Phân chia kích cỡ" -Basic.Settings.Output.SplitFile.ResetTimestamps="Đặt lại dấu thời gian khi bắt đầu mỗi tệp phân tách" Screenshot="Đầu ra chụp màn hình" Screenshot.SourceHotkey="Chụp màn hình Nguồn được chọn" Screenshot.StudioProgram="Chụp màn hình (Chương trình)" @@ -883,6 +886,9 @@ Basic.Settings.Audio.LowLatencyBufferingWarning.Confirm="Có chắc là bạn muốn bật chế độ đệm âm thanh có độ trễ thấp?" Basic.Settings.Accessibility="Hỗ trợ tiếp cận" Basic.Settings.Accessibility.ColorOverrides="Sử dụng màu khác" +Basic.Settings.Accessibility.ColorOverrides.SelectRed="Đường viền nguồn (Chọn)" +Basic.Settings.Accessibility.ColorOverrides.SelectGreen="Đường viền nguồn (Cắt)" +Basic.Settings.Accessibility.ColorOverrides.SelectBlue="Đường viền nguồn (Di chuột)" Basic.Settings.Accessibility.ColorOverrides.MixerGreen="Bộ trộn âm thanh với tần số (-60 to -20dB)" Basic.Settings.Accessibility.ColorOverrides.MixerYellow="Bộ trộn âm thanh với tần số (-20 to -9dB)" Basic.Settings.Accessibility.ColorOverrides.MixerRed="Bộ trộn âm thanh với tần số (-9 đến 0dB)" @@ -1019,6 +1025,9 @@ About.Contribute="Hỗ trợ dự án OBS" AddUrl.Title="Thêm nguồn bằng URL" AddUrl.Text="Bạn đã thả một URL vào OBS. Điều này sẽ tự động thêm liên kết như là một nguồn. Tiếp tục chứ?" +ResizeOutputSizeOfSource="Thay đổi kích thước đầu ra (kích thước nguồn)" +ResizeOutputSizeOfSource.Text="Độ phân giải cơ sở và độ phân giải đầu ra sẽ được thay dổi kích thước tùy theo kích thước của nguồn hiện tại." +ResizeOutputSizeOfSource.Continue="Có chắc là bạn muốn tiếp tục không?" PreviewTransition="Xem trước chuyển cảnh" Importer="Bộ nhập bộ sưu tập cảnh" Importer.SelectCollection="Chọn một bộ sưu tập cảnh" @@ -1066,7 +1075,7 @@ YouTube.Actions.MadeForKids="Video này có dành cho trẻ em không?*" YouTube.Actions.MadeForKids.Yes="Có, video này dành cho trẻ em" YouTube.Actions.MadeForKids.No="Không, video này không dành cho trẻ em" -YouTube.Actions.AdditionalSettings="Thiết đặt bổ sung:" +YouTube.Actions.AdditionalSettings="Thiết lập bổ sung" YouTube.Actions.Latency="Độ trễ" YouTube.Actions.Latency.Normal="Trung bình" YouTube.Actions.Latency.Low="Thấp"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/zh-CN.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/zh-CN.ini
Changed
@@ -9,9 +9,9 @@ Yes="是" No="否" Add="添加" -Remove="移除" +Remove="删除" Rename="重命名" -Interact="互动" +Interact="交互" Filters="滤镜" Properties="属性" MoveUp="上移" @@ -80,7 +80,7 @@ StudioMode.Preview="预览" StudioMode.Program="输出" StudioMode.PreviewSceneName="预览:%1" -StudioMode.ProgramSceneName="程序:%1" +StudioMode.ProgramSceneName="输出:%1" ShowInMultiview="在多视图中显示" VerticalLayout="垂直布局" Group="分组" @@ -132,10 +132,10 @@ Auth.ChannelFailure.Title="无法加载频道" Auth.ChannelFailure.Text="为 %1 加载频道信息失败\n\n%2: %3" Auth.Chat="聊天" -Auth.StreamInfo="串流资讯" +Auth.StreamInfo="直播信息" TwitchAuth.Stats="Twitch 统计" TwitchAuth.Feed="Twitch 活动订阅源" -TwitchAuth.TwoFactorFail.Title="无法查询流密钥" +TwitchAuth.TwoFactorFail.Title="无法查询推流码" TwitchAuth.TwoFactorFail.Text="OBS 无法连接到您的 Twitch 账户。请确保在 <a href='https://www.twitch.tv/settings/security'>Twitch 安全性设置</a>中开启了双重身份验证,只有开启后才能开始推流。" RestreamAuth.Channels="Restream 频道" Copy.Filters="复制滤镜" @@ -149,41 +149,41 @@ BandwidthTest.Region.Other="其他" Basic.AutoConfig="自动配置向导" Basic.AutoConfig.ApplySettings="应用设置" -Basic.AutoConfig.StartPage="使用情况" -Basic.AutoConfig.StartPage.SubTitle="选择你使用此程序的目的" +Basic.AutoConfig.StartPage="使用场景" +Basic.AutoConfig.StartPage.SubTitle="选择你的使用目的" Basic.AutoConfig.StartPage.PrioritizeStreaming="优先优化串流,其次为录像" Basic.AutoConfig.StartPage.PrioritizeRecording="仅优化录像,将不会进行串流" -Basic.AutoConfig.StartPage.PrioritizeVirtualCam="我只使用虚拟摄像机" +Basic.AutoConfig.StartPage.PrioritizeVirtualCam="只使用虚拟摄像头" Basic.AutoConfig.VideoPage="视频设置" Basic.AutoConfig.VideoPage.SubTitle="指定您想要使用的视频设置" Basic.AutoConfig.VideoPage.BaseResolution.UseCurrent="使用当前的(%1x%2)" -Basic.AutoConfig.VideoPage.BaseResolution.Display="显示器 %1(%2x%3)" -Basic.AutoConfig.VideoPage.FPS.UseCurrent="使用当前(%1)" -Basic.AutoConfig.VideoPage.FPS.PreferHighFPS="60或30,但尽可能选择60" -Basic.AutoConfig.VideoPage.FPS.PreferHighRes="60或30,但优先选择高分辨率" +Basic.AutoConfig.VideoPage.BaseResolution.Display="显示器 %1 (%2x%3)" +Basic.AutoConfig.VideoPage.FPS.UseCurrent="使用当前值 (%1)" +Basic.AutoConfig.VideoPage.FPS.PreferHighFPS="60 或 30 均可,优先选择 60" +Basic.AutoConfig.VideoPage.FPS.PreferHighRes="60 或 30 均可,优先高分辨率" Basic.AutoConfig.VideoPage.CanvasExplanation="注意:画布(基础)分辨率并不一定要与推流或录像的分辨率相同。实际推流或录像的分辨率可从画布分辨率缩小,以降低对资源的使用或对比特率的需求。" -Basic.AutoConfig.StreamPage="串流资讯" +Basic.AutoConfig.StreamPage="直播信息" Basic.AutoConfig.StreamPage.SubTitle="请输入你的串流信息" Basic.AutoConfig.StreamPage.ConnectAccount="连接帐户 (推荐)" Basic.AutoConfig.StreamPage.DisconnectAccount="解除帐户连接" Basic.AutoConfig.StreamPage.DisconnectAccount.Confirm.Title="解除帐户连接?" Basic.AutoConfig.StreamPage.DisconnectAccount.Confirm.Text="此更改将立即应用。您确定要解除帐户连接吗?" -Basic.AutoConfig.StreamPage.GetStreamKey="获取串流密钥" +Basic.AutoConfig.StreamPage.GetStreamKey="获取推流码" Basic.AutoConfig.StreamPage.MoreInfo="更多信息" -Basic.AutoConfig.StreamPage.UseStreamKey="使用串流密钥" -Basic.AutoConfig.StreamPage.UseStreamKeyAdvanced="使用流密钥(高级)" +Basic.AutoConfig.StreamPage.UseStreamKey="使用推流码" +Basic.AutoConfig.StreamPage.UseStreamKeyAdvanced="使用推流码 (高级)" Basic.AutoConfig.StreamPage.Service="服务" Basic.AutoConfig.StreamPage.Service.ShowAll="显示全部..." Basic.AutoConfig.StreamPage.Service.Custom="自定义..." Basic.AutoConfig.StreamPage.Server="服务器" -Basic.AutoConfig.StreamPage.StreamKey="串流密钥" +Basic.AutoConfig.StreamPage.StreamKey="推流码" Basic.AutoConfig.StreamPage.StreamKey.LinkToSite="(链接)" -Basic.AutoConfig.StreamPage.EncoderKey="编码器密钥" +Basic.AutoConfig.StreamPage.EncoderKey="推流码" Basic.AutoConfig.StreamPage.ConnectedAccount="已连接的帐户" Basic.AutoConfig.StreamPage.PerformBandwidthTest="通过带宽测试估计比特率(可能需要几分钟)" Basic.AutoConfig.StreamPage.PreferHardwareEncoding="优先选择硬件编码" Basic.AutoConfig.StreamPage.PreferHardwareEncoding.ToolTip="硬件编码可大量降低 CPU 的使用率,但要获得与软件编码相同的质量,可能需要更多的比特率。" -Basic.AutoConfig.StreamPage.StreamWarning.Title="串流警告" +Basic.AutoConfig.StreamPage.StreamWarning.Title="直播警告" Basic.AutoConfig.StreamPage.StreamWarning.Text="带宽测试将开始串流无音频的随机视频数据。如果可以,建议你暂时关闭视频保存功能并把串流设置成私人直到测试结束。要继续吗?" Basic.AutoConfig.TestPage="最终结果" Basic.AutoConfig.TestPage.SubTitle.Testing="该程序目前正在执行一系列的测试来估计最理想的设置" @@ -196,8 +196,8 @@ Basic.AutoConfig.TestPage.TestingRecordingEncoder="测试录像编码器中,这可能需要一分钟的时间..." Basic.AutoConfig.TestPage.TestingRes="测试分辨率, 这可能需要几分钟时间......" Basic.AutoConfig.TestPage.TestingRes.Fail="未能启动编码器" -Basic.AutoConfig.TestPage.TestingRes.Resolution="测试 %1x%2 %3 FPS..." -Basic.AutoConfig.TestPage.Result.StreamingEncoder="串流编码器" +Basic.AutoConfig.TestPage.TestingRes.Resolution="正在测试 %1x%2 %3 FPS..." +Basic.AutoConfig.TestPage.Result.StreamingEncoder="直播编码器" Basic.AutoConfig.TestPage.Result.RecordingEncoder="录像编码器" Basic.AutoConfig.TestPage.Result.Header="程序已确定这些估计设置是最适合你:" Basic.AutoConfig.TestPage.Result.Footer="要使用这些设置,单击“应用设置”。要重新配置向导并再试一次,单击“后退”。要自己手动配置设置,单击“取消”,然后打开设置。" @@ -210,7 +210,7 @@ Basic.Stats.AverageTimeToRender="渲染帧平均时间" Basic.Stats.SkippedFrames="由于编码延迟跳过的帧" Basic.Stats.MissedFrames="由于渲染延迟错过的帧" -Basic.Stats.Output.Stream="串流" +Basic.Stats.Output.Stream="直播" Basic.Stats.Output.Recording="录像" Basic.Stats.Status="状态" Basic.Stats.Status.Recording="录像中" @@ -241,12 +241,12 @@ Updater.FailedToLaunch="启动更新程序失败" Updater.GameCaptureActive.Title="游戏采集运行中" Updater.GameCaptureActive.Text="游戏采集钩子库正在使用中。请关闭所有正在采集的游戏和程序(或重新启动 Windows)然后重试。" -QuickTransitions.SwapScenes="在过渡动画之后切换预览/程序场景" -QuickTransitions.SwapScenesTT="如果原始程序场景仍然存在, 在过渡动画之后切换预览和程序场景.\n 这将不会撤销对程序原始场景的修改." +QuickTransitions.SwapScenes="在过渡动画之后切换预览/输出场景" +QuickTransitions.SwapScenesTT="在过渡动画后,将预览的场景换至输出,将输出的场景(如果未被删除)换回至预览。\n该功能无法用于撤销对原输出场景的更改。" QuickTransitions.DuplicateScene="复制场景" -QuickTransitions.DuplicateSceneTT="当编辑同一场景时,可以修改源的变换/可见性,而不会影响程序输出。\n若要修改源属性而不影响程序输出,请打开“复制源”。\n改变这个值将会重置当前的程序输出场景(如果仍存在)。" +QuickTransitions.DuplicateSceneTT="编辑与当前输出同一场景时,可以修改源的变换和可见性而不影响输出。\n若要修改源的属性而不影响程序输出,应当使用“复制源”功能。\n切换此开关会重置当前的输出场景(如果场景未被删除)。" QuickTransitions.EditProperties="复制源" -QuickTransitions.EditPropertiesTT="当编辑同一场景时,可以修改源的属性,而不会影响程序输出。\n只有启用了“复制场景”之后才能使用这项设置。\n某些源(如捕获或媒体源)并不支持此功能,且不能单独修改。\n改变这个值将会重置当前的程序输出场景(如果仍存在)。\n\n警告:因为源将被复制,可能需要额外的系统或视频资源。" +QuickTransitions.EditPropertiesTT="编辑与当前输出同一场景时,可以修改源的属性而不影响输出。\n只有启用了“复制场景”之后才能启用此功能。\n某些源(如捕获或媒体源)并不支持此功能,且不能单独修改。\n切换此开关会重置当前的输出场景(如果场景未被删除)。\n\n警告:因为需要复制源,可能会占用额外的系统或视频资源。" QuickTransitions.HotkeyName="快速转场:%1" Basic.AddTransition="添加可配置的转场特效" Basic.RemoveTransition="删除可配置的转场特效" @@ -330,7 +330,7 @@ Output.ConnectFail.Title="连接失败" Output.ConnectFail.BadPath="无效的路径或URL。请检查您的设置以确认它们是有效的。" Output.ConnectFail.ConnectFailed="无法连接到服务器" -Output.ConnectFail.InvalidStream="无法访问指定的频道或串流密钥,请仔细检查您的串流密钥。如果没有问题,则可能是连接到服务器时出现问题。" +Output.ConnectFail.InvalidStream="无法访问指定的频道或推流码,请仔细检查你的推流码。如果推流码是正确的,那么有可能是与服务器的连接出现问题。" Output.ConnectFail.Error="试图连接到服务器时出现意外的错误。详细信息记录在日志文件中。" Output.ConnectFail.Disconnected="已从服务器断开。" Output.StreamEncodeError.Title="编码错误" @@ -415,7 +415,7 @@ Basic.AuxDevice3="麦克风/Aux 3" Basic.AuxDevice4="麦克风/Aux 4" Basic.Scene="场景" -Basic.DisplayCapture="显示器采集" +Basic.DisplayCapture="屏幕采集" Basic.Main.PreviewConextMenu.Enable="开启预览" Basic.Main.Preview.Disable="关闭预览" ScaleFiltering="尺度滤波" @@ -477,10 +477,11 @@ Basic.PropertiesWindow.AddEditableListFiles="将文件添加到 '%1'" Basic.PropertiesWindow.AddEditableListEntry="将条目添加到 '%1'" Basic.PropertiesWindow.EditEditableListEntry="编辑条目从 '%1'" -Basic.PropertiesView.FPS.Simple="简单的 FPS 值" -Basic.PropertiesView.FPS.Rational="有理数 FPS 值" -Basic.PropertiesView.FPS.ValidFPSRanges="FPS 的有效范围:" -Basic.PropertiesView.UrlButton.Text="使用默认网络浏览器打开此链接?" +Basic.PropertiesView.FPS.Simple="常用帧率" +Basic.PropertiesView.FPS.Rational="有理数帧率" +Basic.PropertiesView.FPS.ValidFPSRanges="有效帧率范围:" +Basic.PropertiesView.UrlButton.Text="要使用默认浏览器打开此链接吗?" +Basic.PropertiesView.UrlButton.Text.Url="网址: %1" Basic.PropertiesView.UrlButton.OpenUrl="打开网址" Basic.InteractionWindow="与'%1'交互" Basic.StatusBar.Reconnecting="断开, 重新连接在 %2 秒内 (尝试 %1)" @@ -543,12 +544,12 @@ Basic.Main.Scenes="场景" Basic.Main.Sources="来源" Basic.Main.Source="来源" -Basic.Main.Controls="控件" +Basic.Main.Controls="控制按钮" Basic.Main.Connecting="连接中……" Basic.Main.StartRecording="开始录制" Basic.Main.StartReplayBuffer="开始回放缓存" Basic.Main.SaveReplay="保存回放" -Basic.Main.StartStreaming="开始推流" +Basic.Main.StartStreaming="开始直播" Basic.Main.StartBroadcast="开始直播" Basic.Main.StartVirtualCam="启动虚拟摄像机" Basic.Main.StopRecording="停止录制" @@ -559,11 +560,11 @@ Basic.Main.StopReplayBuffer="停止回放缓存" Basic.Main.StoppingReplayBuffer="正在停止回放缓存..." Basic.Main.SetupBroadcast="管理直播" -Basic.Main.StopStreaming="停止推流" +Basic.Main.StopStreaming="停止直播" Basic.Main.StopBroadcast="结束直播" Basic.Main.AutoStopEnabled="(自动停止)" -Basic.Main.StoppingStreaming="停止推流..." -Basic.Main.ForceStopStreaming="停止流 (放弃延迟)" +Basic.Main.StoppingStreaming="正在停止直播..." +Basic.Main.ForceStopStreaming="切断直播 (丢弃延迟)" Basic.Main.ShowContextBar="显示源工具栏" Basic.Main.HideContextBar="隐藏源工具栏" Basic.Main.StopVirtualCam="停止虚拟摄像机" @@ -588,7 +589,6 @@ Basic.MainMenu.File.ShowSettingsFolder="打开设置文件夹" Basic.MainMenu.File.ShowProfileFolder="打开配置文件文件夹" Basic.MainMenu.File.ShowMissingFiles="检查缺少的文件" -Basic.MainMenu.AlwaysOnTop="窗口置顶(&A)" Basic.MainMenu.File.Exit="退出(&X)" Basic.MainMenu.Edit="编辑(&E)" Basic.MainMenu.Edit.Undo="撤消(&U)" @@ -628,6 +628,7 @@ Basic.MainMenu.View.StatusBar="状态栏(&S)" Basic.MainMenu.View.Fullscreen.Interface="全屏界面" Basic.MainMenu.View.ResetUI="重置界面(&R)" +Basic.MainMenu.View.AlwaysOnTop="窗口置顶 (&A)" Basic.MainMenu.Docks="停靠窗口(&D)" Basic.MainMenu.Docks.ResetDocks="重置停靠栏(&R)" Basic.MainMenu.Docks.LockDocks="锁定停靠栏(&L)" @@ -667,8 +668,8 @@ Basic.Settings.General.HideOBSWindowsFromCapture="在屏幕采集中隐藏OBS窗口" Basic.Settings.General.HideOBSWindowsFromCapture.Tooltip="此设置将隐藏所有非投影的 OBS Studio 窗口,使其不被OBS 采集,避免影响\n其他应用程序,如会议、屏幕共享、远程支持、屏幕截图和其他截屏软件。" Basic.Settings.General.HideOBSWindowsFromCapture.Message="启用此设置会隐藏所有非投影的 OBS Studio 窗口,使其不被OBS 采集,避免影响其他应用程序,如会议、屏幕共享、远程支持、屏幕截图和其他截屏软件。" -Basic.Settings.General.WarnBeforeStartingStream="启动流时显示确认对话框" -Basic.Settings.General.WarnBeforeStoppingStream="停止流时显示确认对话框" +Basic.Settings.General.WarnBeforeStartingStream="开始直播时弹窗确认" +Basic.Settings.General.WarnBeforeStoppingStream="停止直播时弹窗确认" Basic.Settings.General.WarnBeforeStoppingRecord="停止录制时显示确认对话框" Basic.Settings.General.Projectors="投影窗口" Basic.Settings.General.HideProjectorCursor="投影窗口中隐藏光标" @@ -679,8 +680,8 @@ Basic.Settings.General.SourceSnapping="吸附源到其他的源" Basic.Settings.General.SnapDistance="吸附敏感度" Basic.Settings.General.SpacingHelpers="显示像素对齐指引" -Basic.Settings.General.RecordWhenStreaming="推流时自动录像" -Basic.Settings.General.KeepRecordingWhenStreamStops="推流停止后继续录像" +Basic.Settings.General.RecordWhenStreaming="直播时自动录制" +Basic.Settings.General.KeepRecordingWhenStreamStops="停止直播后继续录制" Basic.Settings.General.ReplayBufferWhileStreaming="推流时自动启动重播缓冲区" Basic.Settings.General.KeepReplayBufferStreamStops="推流停止后保持重播缓冲区启用" Basic.Settings.General.SysTray="系统托盘" @@ -712,8 +713,8 @@ Basic.Settings.General.MultiviewLayout.9Scene="只显示场景(9个场景)" Basic.Settings.General.MultiviewLayout.16Scene="只显示场景(16个场景)" Basic.Settings.General.MultiviewLayout.25Scene="只显示场景(25个场景)" -Basic.Settings.Stream="推流" -Basic.Settings.Stream.StreamType="推流类型" +Basic.Settings.Stream="直播" +Basic.Settings.Stream.StreamType="直播类型" Basic.Settings.Stream.Custom.UseAuthentication="使用身份验证" Basic.Settings.Stream.Custom.Username="用户名" Basic.Settings.Stream.Custom.Password="密码" @@ -721,18 +722,18 @@ Basic.Settings.Stream.TTVAddon="Twitch 聊天附加组件" Basic.Settings.Stream.TTVAddon.None="无" Basic.Settings.Stream.TTVAddon.Both="BetterTTV 和 FrankerFaceZ" -Basic.Settings.Stream.MissingSettingAlert="缺少流设置" +Basic.Settings.Stream.MissingSettingAlert="缺少直播设置" Basic.Settings.Stream.StreamSettingsWarning="打开设置" -Basic.Settings.Stream.MissingUrlAndApiKey="URL和流密钥缺失。\n\n打开设置以在“串流”选项卡中输入URL和流密钥。" +Basic.Settings.Stream.MissingUrlAndApiKey="缺少推流地址和推流码。\n\n打开设置,在“直播”选项卡中即可输入推流地址和推流码。" Basic.Settings.Stream.MissingUrl="缺少流的 URL。\n\n打开设置以在“流”选项卡中输入URL。" -Basic.Settings.Stream.MissingStreamKey="缺少流密钥。\n\n打开设置以在“流”选项卡中输入流密钥。" +Basic.Settings.Stream.MissingStreamKey="缺少推流码。\n\n打开设置,在“直播”选项卡中即可输入推流码。" Basic.Settings.Stream.IgnoreRecommended="忽略流媒体服务的推荐设置" Basic.Settings.Stream.IgnoreRecommended.Warn.Title="覆盖推荐设置" Basic.Settings.Stream.IgnoreRecommended.Warn.Text="警告:忽略服务的限制可能会导致推流质量降低或阻止您进行推流。\n\n继续吗?" Basic.Settings.Stream.Recommended.MaxVideoBitrate="最大视频比特率: %1 kbps" Basic.Settings.Stream.Recommended.MaxAudioBitrate="最大音频比特率: %1 kbps" Basic.Settings.Stream.Recommended.MaxResolution="最大分辨率: %1" -Basic.Settings.Stream.Recommended.MaxFPS="最大FPS: %1" +Basic.Settings.Stream.Recommended.MaxFPS="最高帧率: %1" Basic.Settings.Output="输出" Basic.Settings.Output.Format="录像格式" Basic.Settings.Output.Encoder="编码器" @@ -770,14 +771,15 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="硬件(AMD,H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="硬件(AMD,HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="硬件(NVENC,H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="硬件 (NVENC, AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="硬件 (NVENC,HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="硬件(苹果,H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="软件(x264 低 CPU 使用率预设,将会增加文件大小)" Basic.Settings.Output.Simple.TwitchVodTrack="Twitch VOD 轨道 (使用轨道 2)" -Basic.Settings.Output.Warn.EnforceResolutionFPS.Title="不兼容的分辨率/帧率" +Basic.Settings.Output.Warn.EnforceResolutionFPS.Title="分辨率/帧率不兼容" Basic.Settings.Output.Warn.EnforceResolutionFPS.Msg="此串流服务不支持您当前的输出分辨率和/或帧率。 它们将被更改为最接近的兼容值:\n\n%1\n\n你想要继续吗?" -Basic.Settings.Output.Warn.EnforceResolutionFPS.Resolution="分辨率:%1" -Basic.Settings.Output.Warn.EnforceResolutionFPS.FPS="FPS: %1" +Basic.Settings.Output.Warn.EnforceResolutionFPS.Resolution="分辨率: %1" +Basic.Settings.Output.Warn.EnforceResolutionFPS.FPS="帧率: %1" Basic.Settings.Output.Warn.ServiceCodecCompatibility.Title="编码器不兼容" Basic.Settings.Output.Warn.ServiceCodecCompatibility.Msg="串流服务“%1”不支持编码器“%2”。编码器将更改为“%3”。\n\n您想要继续吗?" Basic.Settings.Output.VideoBitrate="视频比特率" @@ -795,8 +797,8 @@ Basic.Settings.Output.NoSpaceFileName="生成没有空格的文件名" Basic.Settings.Output.Adv.Rescale="重新缩放输出" Basic.Settings.Output.Adv.AudioTrack="音轨" -Basic.Settings.Output.Adv.Streaming="串流" -Basic.Settings.Output.Adv.Streaming.Settings="串流设置" +Basic.Settings.Output.Adv.Streaming="直播" +Basic.Settings.Output.Adv.Streaming.Settings="直播设置" Basic.Settings.Output.Adv.Audio.Track1="轨道 1" Basic.Settings.Output.Adv.Audio.Track2="轨道 2" Basic.Settings.Output.Adv.Audio.Track3="轨道 3" @@ -811,7 +813,7 @@ Basic.Settings.Output.Adv.Recording.Type="类型" Basic.Settings.Output.Adv.Recording.Type.Standard="标准" Basic.Settings.Output.Adv.Recording.Type.FFmpegOutput="自定义输出 (FFmpeg)" -Basic.Settings.Output.Adv.Recording.UseStreamEncoder="(使用推流编码器)" +Basic.Settings.Output.Adv.Recording.UseStreamEncoder="(使用直播编码器)" Basic.Settings.Output.Adv.Recording.Filename="文件名格式" Basic.Settings.Output.Adv.Recording.OverwriteIfExists="如果文件存在则覆盖" Basic.Settings.Output.Adv.FFmpeg.Type="FFmpeg 输出类型" @@ -842,10 +844,9 @@ Basic.Settings.Output.SplitFile.TypeManual="仅手动分割" Basic.Settings.Output.SplitFile.Time="分割时间" Basic.Settings.Output.SplitFile.Size="分割大小" -Basic.Settings.Output.SplitFile.ResetTimestamps="在每个分割文件开头重置时间戳" Screenshot="截屏输出" Screenshot.SourceHotkey="当前所选源截屏" -Screenshot.StudioProgram="截屏 (程序)" +Screenshot.StudioProgram="截屏 (输出)" Screenshot.Preview="截屏 (预览)" Screenshot.Scene="截屏 (场景)" Screenshot.Source="截屏 (源)" @@ -856,10 +857,10 @@ Basic.Settings.Video.DownscaleFilter="缩小方法" Basic.Settings.Video.DownscaleFilter.Unavailable="分辨率相符,不需要缩小" Basic.Settings.Video.DisableAeroWindows="禁用 Aero (仅限 Windows)" -Basic.Settings.Video.FPS="FPS(每秒帧数)" -Basic.Settings.Video.FPSCommon="常用 FPS 值(帧率)" -Basic.Settings.Video.FPSInteger="整数 FPS 值(帧率)" -Basic.Settings.Video.FPSFraction="分数 FPS 值(帧率)" +Basic.Settings.Video.FPS="帧率" +Basic.Settings.Video.FPSCommon="常用帧率" +Basic.Settings.Video.FPSInteger="整数帧率" +Basic.Settings.Video.FPSFraction="分数帧率" Basic.Settings.Video.Numerator="分子:" Basic.Settings.Video.Denominator="分母:" Basic.Settings.Video.Renderer="渲染器:" @@ -945,7 +946,7 @@ Basic.Settings.Advanced.Audio.MonitoringDevice="监听设备" Basic.Settings.Advanced.Audio.MonitoringDevice.Default="默认" Basic.Settings.Advanced.Audio.DisableAudioDucking="禁用 Windows 音频闪避(检测到通信活动时降低其他声音的音量)" -Basic.Settings.Advanced.StreamDelay="串流延迟" +Basic.Settings.Advanced.StreamDelay="直播延迟" Basic.Settings.Advanced.StreamDelay.Duration="延迟时间" Basic.Settings.Advanced.StreamDelay.Preserve="重新连接时保持截止点 (增加延迟)" Basic.Settings.Advanced.StreamDelay.MemoryUsage="估计内存使用量:%1 MB" @@ -1033,6 +1034,9 @@ About.Contribute="支持 OBS 项目" AddUrl.Title="通过 URL 添加源" AddUrl.Text="您已将 URL 拖拽到OBS。这会自动将链接添加为一个源。是否继续?" +ResizeOutputSizeOfSource="调整输出大小(源大小)" +ResizeOutputSizeOfSource.Text="基准与输出分辨率将调整为当前源大小。" +ResizeOutputSizeOfSource.Continue="您是否想要继续?" PreviewTransition="预览转场" Importer="场景集合导入器" Importer.SelectCollection="选择一个场景集合" @@ -1080,7 +1084,7 @@ YouTube.Actions.MadeForKids="此视频是面向儿童的内容吗?*" YouTube.Actions.MadeForKids.Yes="是,内容是面向儿童的" YouTube.Actions.MadeForKids.No="否,内容不是面向儿童的" -YouTube.Actions.AdditionalSettings="其他设置:" +YouTube.Actions.AdditionalSettings="其他设置" YouTube.Actions.Latency="延迟" YouTube.Actions.Latency.Normal="正常" YouTube.Actions.Latency.Low="低" @@ -1114,7 +1118,7 @@ YouTube.Actions.EventsLoading="正在加载事件列表..." YouTube.Actions.EventCreated.Title="事件已创建" YouTube.Actions.EventCreated.Text="事件已成功创建。" -YouTube.Actions.Stream="串流" +YouTube.Actions.Stream="直播" YouTube.Actions.Stream.ScheduledFor="计划于 %1" YouTube.Actions.Stream.Resume="恢复中断的串流" YouTube.Actions.Stream.YTStudio="由 YouTube Studio 自动创建"
View file
obs-studio-28.0.3.tar.xz/UI/data/locale/zh-TW.ini -> obs-studio-28.1.1.tar.xz/UI/data/locale/zh-TW.ini
Changed
@@ -589,7 +589,6 @@ Basic.MainMenu.File.ShowSettingsFolder="顯示設定資料夾" Basic.MainMenu.File.ShowProfileFolder="顯示設定檔資料夾" Basic.MainMenu.File.ShowMissingFiles="檢查遺失檔案" -Basic.MainMenu.AlwaysOnTop="總是在最上層(&A)" Basic.MainMenu.File.Exit="離開 (&X)" Basic.MainMenu.Edit="編輯 (&E)" Basic.MainMenu.Edit.Undo="復原 (&U)" @@ -629,6 +628,7 @@ Basic.MainMenu.View.StatusBar="狀態列(&S)" Basic.MainMenu.View.Fullscreen.Interface="全螢幕介面" Basic.MainMenu.View.ResetUI="重設使用者介面(&R)" +Basic.MainMenu.View.AlwaysOnTop="總是在最上層(&A)" Basic.MainMenu.Docks="停駐視窗(&D)" Basic.MainMenu.Docks.ResetDocks="重設停駐視窗(&R)" Basic.MainMenu.Docks.LockDocks="鎖定停駐視窗(&L)" @@ -771,6 +771,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="硬體(AMD,H.264)" Basic.Settings.Output.Simple.Encoder.Hardware.AMD.HEVC="硬體(AMD,HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.H264="硬體(NVENC,H.264)" +Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="硬體(NVENC,AV1)" Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="硬體(NVENC,HEVC)" Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="硬體(Apple,H.264)" Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="軟體編碼( x264 預設低 CPU 使用率,將增加檔案容量 )" @@ -843,7 +844,6 @@ Basic.Settings.Output.SplitFile.TypeManual="只手動分割" Basic.Settings.Output.SplitFile.Time="分割時間" Basic.Settings.Output.SplitFile.Size="分割大小" -Basic.Settings.Output.SplitFile.ResetTimestamps="重設每個分割檔案開頭的時間戳" Screenshot="螢幕擷取輸出" Screenshot.SourceHotkey="螢幕擷取選取來源" Screenshot.StudioProgram="螢幕擷取(展示)" @@ -1052,6 +1052,9 @@ AddUrl.Title="使用網址加入來源" AddUrl.Text="您拖曳了網址到 OBS。這會自動將連結加為來源。繼續?" AddUrl.Text.Url="網址:%1" +ResizeOutputSizeOfSource="縮放輸出大小(來源大小)" +ResizeOutputSizeOfSource.Text="來源和輸出解析度,將會縮放到目前來源的大小。" +ResizeOutputSizeOfSource.Continue="是否繼續?" PreviewTransition="預覽轉場" Importer="場景群組匯入工具" Importer.SelectCollection="選擇場景群組" @@ -1099,7 +1102,7 @@ YouTube.Actions.MadeForKids="這部影片是為兒童打造的嗎?*" YouTube.Actions.MadeForKids.Yes="是,這是為兒童打造的影片" YouTube.Actions.MadeForKids.No="否,這不是為兒童打造的影片" -YouTube.Actions.AdditionalSettings="其他設定:" +YouTube.Actions.AdditionalSettings="其他設定" YouTube.Actions.Latency="延遲" YouTube.Actions.Latency.Normal="正常延遲" YouTube.Actions.Latency.Low="低延遲"
View file
obs-studio-28.0.3.tar.xz/UI/data/themes/Acri.qss -> obs-studio-28.1.1.tar.xz/UI/data/themes/Acri.qss
Changed
@@ -974,10 +974,6 @@ /* Mute CheckBox */ -MuteCheckBox { - margin: 4px 0px 0px; -} - MuteCheckBox::indicator:checked { image: url(./Dark/mute.svg); } @@ -990,19 +986,6 @@ color: rgb(53,82,222); } -/* Pause */ -PauseCheckBox { - outline: none; -} - -PauseCheckBox::indicator:checked { - image: url(:/res/images/media-pause.svg); -} - -PauseCheckBox::indicator:unchecked { - image: url(:/res/images/media-play.svg); -} - /* Label warning/error */ QLabel#warningLabel { @@ -1531,3 +1514,8 @@ QDialogButtonBox { dialogbuttonbox-buttons-have-icons: 0; } + +/* Stats dialog */ +OBSBasicStats { + background: palette(dark); +}
View file
obs-studio-28.0.3.tar.xz/UI/data/themes/Dark.qss -> obs-studio-28.1.1.tar.xz/UI/data/themes/Dark.qss
Changed
@@ -670,19 +670,6 @@ color: red; } -/* Pause */ -PauseCheckBox { - outline: none; -} - -PauseCheckBox::indicator:checked { - image: url(:/res/images/media-pause.svg); -} - -PauseCheckBox::indicator:unchecked { - image: url(:/res/images/media-play.svg); -} - /* Group Collapse Checkbox */ SourceTreeSubItemCheckBox {
View file
obs-studio-28.0.3.tar.xz/UI/data/themes/Grey.qss -> obs-studio-28.1.1.tar.xz/UI/data/themes/Grey.qss
Changed
@@ -962,10 +962,6 @@ /* Mute CheckBox */ -MuteCheckBox { - margin: 4px 0px 0px; -} - MuteCheckBox::indicator:checked { image: url(./Dark/mute.svg); } @@ -978,19 +974,6 @@ color: rgb(53,82,222); } -/* Pause */ -PauseCheckBox { - outline: none; -} - -PauseCheckBox::indicator:checked { - image: url(:/res/images/media-pause.svg); -} - -PauseCheckBox::indicator:unchecked { - image: url(:/res/images/media-play.svg); -} - /* Label warning/error */ QLabel#warningLabel { @@ -1519,3 +1502,8 @@ QDialogButtonBox { dialogbuttonbox-buttons-have-icons: 0; } + +/* Stats dialog */ +OBSBasicStats { + background: palette(dark); +}
View file
obs-studio-28.0.3.tar.xz/UI/data/themes/Light.qss -> obs-studio-28.1.1.tar.xz/UI/data/themes/Light.qss
Changed
@@ -962,10 +962,6 @@ /* Mute CheckBox */ -MuteCheckBox { - margin: 4px 0px 0px; -} - MuteCheckBox::indicator:checked { image: url(./Light/mute.svg); } @@ -978,19 +974,6 @@ color: rgb(53,82,222); } -/* Pause */ -PauseCheckBox { - outline: none; -} - -PauseCheckBox::indicator:checked { - image: url(:/res/images/media-pause.svg); -} - -PauseCheckBox::indicator:unchecked { - image: url(:/res/images/media-play.svg); -} - /* Label warning/error */ QLabel#warningLabel { @@ -1525,3 +1508,8 @@ QDialogButtonBox { dialogbuttonbox-buttons-have-icons: 0; } + +/* Stats dialog */ +OBSBasicStats { + background: palette(dark); +}
View file
obs-studio-28.0.3.tar.xz/UI/data/themes/Rachni.qss -> obs-studio-28.1.1.tar.xz/UI/data/themes/Rachni.qss
Changed
@@ -966,10 +966,6 @@ /* Mute CheckBox */ -MuteCheckBox { - margin: 4px 0px 0px; -} - MuteCheckBox::indicator:checked { image: url(./Dark/mute.svg); } @@ -982,19 +978,6 @@ color: rgb(240,98,146); } -/* Pause */ -PauseCheckBox { - outline: none; -} - -PauseCheckBox::indicator:checked { - image: url(:/res/images/media-pause.svg); -} - -PauseCheckBox::indicator:unchecked { - image: url(:/res/images/media-play.svg); -} - /* Label warning/error */ QLabel#warningLabel { @@ -1523,3 +1506,8 @@ QDialogButtonBox { dialogbuttonbox-buttons-have-icons: 0; } + +/* Stats dialog */ +OBSBasicStats { + background: palette(dark); +}
View file
obs-studio-28.0.3.tar.xz/UI/data/themes/Yami.qss -> obs-studio-28.1.1.tar.xz/UI/data/themes/Yami.qss
Changed
@@ -966,10 +966,6 @@ /* Mute CheckBox */ -MuteCheckBox { - margin: 4px 0px 0px; -} - MuteCheckBox::indicator:checked { image: url(./Dark/mute.svg); } @@ -982,19 +978,6 @@ color: rgb(53,82,222); } -/* Pause */ -PauseCheckBox { - outline: none; -} - -PauseCheckBox::indicator:checked { - image: url(:/res/images/media-pause.svg); -} - -PauseCheckBox::indicator:unchecked { - image: url(:/res/images/media-play.svg); -} - /* Label warning/error */ QLabel#warningLabel { @@ -1523,3 +1506,8 @@ QDialogButtonBox { dialogbuttonbox-buttons-have-icons: 0; } + +/* Stats dialog */ +OBSBasicStats { + background: palette(dark); +}
View file
obs-studio-28.0.3.tar.xz/UI/forms/OBSBasic.ui -> obs-studio-28.1.1.tar.xz/UI/forms/OBSBasic.ui
Changed
@@ -501,8 +501,6 @@ <addaction name="actionShowSettingsFolder"/> <addaction name="actionShowProfileFolder"/> <addaction name="separator"/> - <addaction name="actionAlwaysOnTop"/> - <addaction name="separator"/> <addaction name="actionE_xit"/> </widget> <widget class="QMenu" name="menuBasic_MainMenu_Help"> @@ -690,6 +688,16 @@ <addaction name="toggleStatusBar"/> <addaction name="separator"/> <addaction name="stats"/> + <addaction name="separator"/> + <addaction name="multiviewProjectorMenu"/> + <addaction name="multiviewProjectorWindowed"/> + <addaction name="separator"/> + <addaction name="actionAlwaysOnTop"/> + </widget> + <widget class="QMenu" name="multiviewProjectorMenu"> + <property name="title"> + <string>MultiviewProjector</string> + </property> </widget> <widget class="QMenu" name="menuTools"> <property name="title"> @@ -2078,7 +2086,7 @@ <bool>true</bool> </property> <property name="text"> - <string>Basic.MainMenu.AlwaysOnTop</string> + <string>Basic.MainMenu.View.AlwaysOnTop</string> </property> </action> <action name="toggleListboxToolbars"> @@ -2155,6 +2163,11 @@ <string>Basic.Stats</string> </property> </action> + <action name="multiviewProjectorWindowed"> + <property name="text"> + <string>MultiviewWindowed</string> + </property> + </action> <action name="resetDocks"> <property name="text"> <string>Basic.MainMenu.Docks.ResetDocks</string>
View file
obs-studio-28.0.3.tar.xz/UI/forms/OBSBasicSettings.ui -> obs-studio-28.1.1.tar.xz/UI/forms/OBSBasicSettings.ui
Changed
@@ -7490,6 +7490,7 @@ <tabstop>hideProjectorCursor</tabstop> <tabstop>projectorAlwaysOnTop</tabstop> <tabstop>saveProjectors</tabstop> + <tabstop>closeProjectors</tabstop> <tabstop>systemTrayEnabled</tabstop> <tabstop>systemTrayWhenStarted</tabstop> <tabstop>systemTrayAlways</tabstop> @@ -7497,6 +7498,7 @@ <tabstop>overflowAlwaysVisible</tabstop> <tabstop>overflowSelectionHide</tabstop> <tabstop>previewSafeAreas</tabstop> + <tabstop>previewSpacingHelpers</tabstop> <tabstop>automaticSearch</tabstop> <tabstop>doubleClickSwitch</tabstop> <tabstop>studioPortraitLayout</tabstop> @@ -7506,6 +7508,7 @@ <tabstop>multiviewDrawAreas</tabstop> <tabstop>multiviewLayout</tabstop> <tabstop>service</tabstop> + <tabstop>moreInfoButton</tabstop> <tabstop>connectAccount</tabstop> <tabstop>useStreamKey</tabstop> <tabstop>server</tabstop> @@ -7551,6 +7554,7 @@ <tabstop>advOutRecType</tabstop> <tabstop>advOutRecPath</tabstop> <tabstop>advOutRecPathBrowse</tabstop> + <tabstop>advOutNoSpace</tabstop> <tabstop>advOutRecFormat</tabstop> <tabstop>advOutRecTrack1</tabstop> <tabstop>advOutRecTrack2</tabstop> @@ -7558,7 +7562,10 @@ <tabstop>advOutRecTrack4</tabstop> <tabstop>advOutRecTrack5</tabstop> <tabstop>advOutRecTrack6</tabstop> + <tabstop>advOutRecEncoder</tabstop> + <tabstop>advOutRecUseRescale</tabstop> <tabstop>advOutRecRescale</tabstop> + <tabstop>advOutMuxCustom</tabstop> <tabstop>advOutSplitFile</tabstop> <tabstop>advOutSplitFileType</tabstop> <tabstop>advOutSplitFileTime</tabstop> @@ -7591,6 +7598,7 @@ <tabstop>monitoringDevice</tabstop> <tabstop>disableAudioDucking</tabstop> <tabstop>lowLatencyBuffering</tabstop> + <tabstop>baseResolution</tabstop> <tabstop>outputResolution</tabstop> <tabstop>downscaleFilter</tabstop> <tabstop>fpsType</tabstop> @@ -7606,6 +7614,9 @@ <tabstop>colorFormat</tabstop> <tabstop>colorSpace</tabstop> <tabstop>colorRange</tabstop> + <tabstop>sdrWhiteLevel</tabstop> + <tabstop>horizontalLayout_sdrPaperWhite</tabstop> + <tabstop>hdrNominalPeakLevel</tabstop> <tabstop>disableOSXVSync</tabstop> <tabstop>resetOSXVSync</tabstop> <tabstop>filenameFormatting</tabstop> @@ -7626,17 +7637,12 @@ <tabstop>browserHWAccel</tabstop> <tabstop>hotkeyFocusType</tabstop> <tabstop>hideOBSFromCapture</tabstop> - <tabstop>closeProjectors</tabstop> - <tabstop>moreInfoButton</tabstop> <tabstop>ignoreRecommended</tabstop> <tabstop>useStreamKeyAdv</tabstop> - <tabstop>baseResolution</tabstop> <tabstop>hotkeyFilterSearch</tabstop> <tabstop>hotkeyFilterInput</tabstop> <tabstop>hotkeyFilterReset</tabstop> <tabstop>hotkeyScrollArea</tabstop> - <tabstop>sdrWhiteLevel</tabstop> - <tabstop>hdrNominalPeakLevel</tabstop> </tabstops> <resources> <include location="obs.qrc"/>
View file
obs-studio-28.0.3.tar.xz/UI/forms/OBSBasicVCamConfig.ui -> obs-studio-28.1.1.tar.xz/UI/forms/OBSBasicVCamConfig.ui
Changed
@@ -33,6 +33,11 @@ <string>Basic.Scene</string> </property> </item> + <item> + <property name="text"> + <string>Basic.Main.Source</string> + </property> + </item> </widget> </item> <item>
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/aja-output-ui/data/locale/et-EE.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/aja-output-ui/data/locale/et-EE.ini
Changed
@@ -1,2 +1,3 @@ AJAOutput.ProgramOutput="Programmi väljund" AJAOutput.PreviewOutput="Eelvaate väljund" +AJAOutput.MiscOutput="Lisaseaded"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/aja-output-ui/data/locale/ro-RO.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/aja-output-ui/data/locale/ro-RO.ini
Changed
@@ -1,5 +1,5 @@ AJAOutput.ProgramOutput="Output-ul programului" -AJAOutput.PreviewOutput="Previzualizare ieșire" +AJAOutput.PreviewOutput="Previzualizarea outputului" AJAOutput.MiscOutput="Setări adiționale" AJAOutput.MultiViewEnable="Activează vizualizarea multiplă" AJAOutput.MultiViewAudioSource="Vizualizare multiplă a sursei audio"
View file
obs-studio-28.1.1.tar.xz/UI/frontend-plugins/aja-output-ui/data/locale/ur-PK.ini
Added
@@ -0,0 +1,6 @@ +AJAOutput.Device="AJA I/O ڈیوائس آؤٹ پٹ" +AJAOutput.ProgramOutput="پروگرام آؤٹ پٹ" +AJAOutput.PreviewOutput="پیش نظارہ آؤٹ پٹ" +AJAOutput.MiscOutput="اضافی ترتیبات" +AJAOutput.MultiViewEnable="ملٹی ویو کو فعال کریں" +AJAOutput.MultiViewAudioSource="ملٹی ویو آڈیو ماخذ"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/ca-ES.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/ca-ES.ini
Changed
@@ -34,6 +34,10 @@ PythonSettings.PythonInstallPath32bit="Camí d'instal·lació del Python (32bit)" PythonSettings.PythonInstallPath64bit="Camí d'instal·lació del Python (64bit)" PythonSettings.BrowsePythonPath="Camí del Python" +PythonSettings.PythonVersion="Versió de Python carregada: %1" +PythonSettings.PythonNotLoaded="El Python no està carregat actualment" +PythonSettings.AlreadyLoaded.Title="El Python ja està carregat" +PythonSettings.AlreadyLoaded.Message="Ja s'ha carregat una còpia del Python %1. Per carregar la versió del Python seleccionada recentment, reinicieu l 'OBS." ScriptLogWindow="Informe script" Description="Descripció" ScriptDescriptionLink.Text="Voleu obrir aquest enllaç al navegador per defecte?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/cs-CZ.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/cs-CZ.ini
Changed
@@ -35,6 +35,10 @@ PythonSettings.PythonInstallPath32bit="Cesta k instalaci Pythonu (32bit)" PythonSettings.PythonInstallPath64bit="Cesta k instalaci Pythonu (64bit)" PythonSettings.BrowsePythonPath="Najít cestu k Pythonu" +PythonSettings.PythonVersion="Načtená verze Python: %1" +PythonSettings.PythonNotLoaded="Python není aktuálně načten" +PythonSettings.AlreadyLoaded.Title="Python je již načten" +PythonSettings.AlreadyLoaded.Message="Kopie Python %1 je jiý načtena. Pro načtení nově vybrané verze Python, prosím, restartujte OBS." ScriptLogWindow="Log skriptu" Description="Popis" ScriptDescriptionLink.Text="Chcete otevřít tento odkaz ve vašem výchozím internetovém prohlížeči?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/da-DK.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/da-DK.ini
Changed
@@ -32,6 +32,10 @@ PythonSettings.PythonInstallPath32bit="Python-installationssti (32bit)" PythonSettings.PythonInstallPath64bit="Python-installationssti (64bit)" PythonSettings.BrowsePythonPath="Find Python-sti" +PythonSettings.PythonVersion="Indlæst Python version: %1" +PythonSettings.PythonNotLoaded="Python ikke indlæst i øjeblikket" +PythonSettings.AlreadyLoaded.Title="Python Allerede Indlæst" +PythonSettings.AlreadyLoaded.Message="En kopi af Python %1 er allerede indlæst. Genstart venligst OBS for at indlæse den nyligt valgte Python-version." ScriptLogWindow="Scriptlog" Description="Beskrivelse" ScriptDescriptionLink.Text="Åbn dette link i din webbrowser?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/de-DE.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/de-DE.ini
Changed
@@ -35,6 +35,10 @@ PythonSettings.PythonInstallPath32bit="Python-Installationspfad (32 Bit)" PythonSettings.PythonInstallPath64bit="Python-Installationspfad (64 Bit)" PythonSettings.BrowsePythonPath="Python-Pfad öffnen" +PythonSettings.PythonVersion="Geladene Python-Version: %1" +PythonSettings.PythonNotLoaded="Python derzeit nicht geladen" +PythonSettings.AlreadyLoaded.Title="Python bereits geladen" +PythonSettings.AlreadyLoaded.Message="Eine Kopie von Python %1 ist bereits geladen. Um die neu gewählte Python-Version zu laden, starten Sie bitte OBS neu." ScriptLogWindow="Skriptlog" Description="Beschreibung" ScriptDescriptionLink.Text="Diesen Link im Browser öffnen?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/es-ES.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/es-ES.ini
Changed
@@ -34,6 +34,10 @@ PythonSettings.PythonInstallPath32bit="Ruta de la instalación de Python (32 bits)" PythonSettings.PythonInstallPath64bit="Ruta de la instalación de Python (64 bits)" PythonSettings.BrowsePythonPath="Explorar ruta de Python" +PythonSettings.PythonVersion="Versión de Python cargada: %1" +PythonSettings.PythonNotLoaded="Python no está cargado actualmente" +PythonSettings.AlreadyLoaded.Title="Python ya está cargado" +PythonSettings.AlreadyLoaded.Message="Una copia de Python %1 ya está cargada. Para cargar la nueva versión de Python seleccionada, reinicie OBS." ScriptLogWindow="Registro de secuencia de comandos" Description="Descripción" ScriptDescriptionLink.Text="¿Abrir este enlace en su navegador predeterminado?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/et-EE.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/et-EE.ini
Changed
@@ -23,6 +23,10 @@ OutputTimer.Record.EnableEverytime="Lülita salvestus taimer alati sisse" Scripts="Skriptid" Reload="Lae uuesti" +PythonSettings.PythonVersion="Laaditud Pythoni versioon: %1" +PythonSettings.PythonNotLoaded="Python ei ole laaditud" +PythonSettings.AlreadyLoaded.Title="Python on juba laaditud" +PythonSettings.AlreadyLoaded.Message="Pythoni koopia %1 on juba laaditud. Uue valitud Pythoni versiooni laadimiseks käivitage OBS uuesti." Description="Kirjeldus" ScriptDescriptionLink.Text="Ava see link oma vaikimisi veebibrauseris?" ScriptDescriptionLink.OpenURL="Ava URL"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/fa-IR.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/fa-IR.ini
Changed
@@ -35,6 +35,10 @@ PythonSettings.PythonInstallPath32bit="مسیر نصب پایتون (32 بیت)" PythonSettings.PythonInstallPath64bit="مسیر نصب پایتون (64 بیت)" PythonSettings.BrowsePythonPath="مرور مسیر پایتون" +PythonSettings.PythonVersion="نسخه پایتون بارگذاری شده: %1" +PythonSettings.PythonNotLoaded="پایتون بارگذاری نشده است" +PythonSettings.AlreadyLoaded.Title="پایتون قبلا بارگذاری شده است" +PythonSettings.AlreadyLoaded.Message="یک نسخه از پایتون % 1 قبلاً بارگیری شده است. برای بارگیری نسخه جدید پایتون، لطفاً OBS را راه اندازی مجدد کنید." ScriptLogWindow="اسکریپت نویسی" Description="توضیحات" ScriptDescriptionLink.Text="این پیوند را در مرورگر وب پیش فرض خود باز می کنید?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/fi-FI.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/fi-FI.ini
Changed
@@ -33,6 +33,10 @@ PythonSettings.PythonInstallPath32bit="Python-asennuspolku (32bit)" PythonSettings.PythonInstallPath64bit="Python-asennuspolku (64bit)" PythonSettings.BrowsePythonPath="Selaa Python-polku" +PythonSettings.PythonVersion="Ladattu Python-versio: %1" +PythonSettings.PythonNotLoaded="Pythonia ei ole ladattu" +PythonSettings.AlreadyLoaded.Title="Python on jo ladattu" +PythonSettings.AlreadyLoaded.Message="Kopio Pythonin versiosta %1 on jo ladattu. Ladataksesi uuden valitun Python-version, käynnistä OBS uudelleen." ScriptLogWindow="Skripti-lokit" Description="Kuvaus" ScriptDescriptionLink.Text="Avaa tämä linkki oletusselaimessasi?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/fr-FR.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/fr-FR.ini
Changed
@@ -34,6 +34,10 @@ PythonSettings.PythonInstallPath32bit="Chemin d’installation Python (32 bits)" PythonSettings.PythonInstallPath64bit="Chemin d’installation Python (64 bits)" PythonSettings.BrowsePythonPath="Localiser l'installation de Python" +PythonSettings.PythonVersion="Version Python chargée : %1" +PythonSettings.PythonNotLoaded="Python non chargé" +PythonSettings.AlreadyLoaded.Title="Python déjà chargé" +PythonSettings.AlreadyLoaded.Message="Une copie de Python %1 est déjà chargée. Pour charger la version Python nouvellement sélectionnée, veuillez redémarrer OBS." ScriptLogWindow="Journal de script" ScriptDescriptionLink.Text="Souhaitez-vous ouvrir ce lien avec votre navigateur internet usuel ?" ScriptDescriptionLink.Text.Url="URL : %1"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/he-IL.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/he-IL.ini
Changed
@@ -35,6 +35,10 @@ PythonSettings.PythonInstallPath32bit="נתיב התקנת פייתון (32 סיביות)" PythonSettings.PythonInstallPath64bit="התקנת נתיב פייתון (64 סיביות)" PythonSettings.BrowsePythonPath="עיון בנתיב פייתון" +PythonSettings.PythonVersion="גרסת Python שנטענה: %1" +PythonSettings.PythonNotLoaded="Python לא טעון כרגע" +PythonSettings.AlreadyLoaded.Title="Python כבר נטען" +PythonSettings.AlreadyLoaded.Message="עותק Python %1 כבר טעון. כדי לטעון את גרסת ה־Python החדשה שנבחרה, נא להפעיל את OBS מחדש." ScriptLogWindow="סקריפט לוג" Description="תיאור" ScriptDescriptionLink.Text="לפתוח קישור זה בתוך דפדפן ברירת המחדל שלך?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/hi-IN.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/hi-IN.ini
Changed
@@ -35,6 +35,10 @@ PythonSettings.PythonInstallPath32bit="Python इंस्टाल पथ (32 बिट)" PythonSettings.PythonInstallPath64bit="Python इंस्टाल पथ (64 बिट)" PythonSettings.BrowsePythonPath="Python पथ ब्राउज़ करें" +PythonSettings.PythonVersion="लोडेड Python संस्करण : %1" +PythonSettings.PythonNotLoaded="Python वर्तमान में लोड नहीं है" +PythonSettings.AlreadyLoaded.Title="Python पहले से लोड है" +PythonSettings.AlreadyLoaded.Message="Python %1 की एक प्रति पहले ही लोड हो चुकी है. नए चयनित Python संस्करण को लोड करने के लिए, कृपया OBS को पुनः आरंभ करें." ScriptLogWindow="स्क्रिप्ट लॉग" Description="विवरण" ScriptDescriptionLink.Text="इस लिंक को अपने डिफ़ॉल्ट वेब ब्राउज़र में खोलें?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/hu-HU.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/hu-HU.ini
Changed
@@ -33,6 +33,10 @@ PythonSettings.PythonInstallPath32bit="Python telepítési útvonal (32 bites)" PythonSettings.PythonInstallPath64bit="Python telepítési útvonal (64 bites)" PythonSettings.BrowsePythonPath="Python elérési útjának tallózása" +PythonSettings.PythonVersion="Betöltött Python verzió: %1" +PythonSettings.PythonNotLoaded="A Python jelenleg nincs betöltve" +PythonSettings.AlreadyLoaded.Title="A Python már be lett töltve" +PythonSettings.AlreadyLoaded.Message="A Python %1 egy másolata már be lett töltve. Hogy betöltse az újonnan kiválasztott Python verziót, indítsa újra az OBS-t." ScriptLogWindow="Parancsfájlnapló" Description="Leírás" ScriptDescriptionLink.Text="Meg akarod nyitni ezt a linket az alapérelmezett böngésződben?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/hy-AM.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/hy-AM.ini
Changed
@@ -35,6 +35,10 @@ PythonSettings.PythonInstallPath32bit="Python Տեղադրման ուղին (32 բիթ)" PythonSettings.PythonInstallPath64bit="Python Տեղադրման ուղին (64 բիթ)" PythonSettings.BrowsePythonPath="Թերթել Python ուղին" +PythonSettings.PythonVersion="Բեռնված Python-ի տարբերակը․ %1" +PythonSettings.PythonNotLoaded="Python-ը դեռ բեռնված չէ" +PythonSettings.AlreadyLoaded.Title="Python-ը արդեն բեռնվել է" +PythonSettings.AlreadyLoaded.Message="Python-ի %1 տարբերակը արդեն բեռնվել է։ Նորը բեռնելու համար՝ ընտրեք Python-ի տարբերակը, վերամեկնարկեք OBS-ը։" ScriptLogWindow="Սցենարի մատյան" Description="Նկարագրություն" ScriptDescriptionLink.Text="Բացե՞լ այս հղումը կանխադրված դիտարկիչում:"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/id-ID.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/id-ID.ini
Changed
@@ -35,6 +35,10 @@ PythonSettings.PythonInstallPath32bit="Jalur Pemasangan Python (32bit)" PythonSettings.PythonInstallPath64bit="Jalur Pemasangan Python (64bit)" PythonSettings.BrowsePythonPath="Telusuri Jalur Folder Python" +PythonSettings.PythonVersion="Termuat Versi Python: %1" +PythonSettings.PythonNotLoaded="Saat ini Python tidak termuat" +PythonSettings.AlreadyLoaded.Title="Python Sudah Di Muat" +PythonSettings.AlreadyLoaded.Message="Salinan Python %1 sudah di muat. Untuk memuat versi Python baru yang dipilih, mohon aktifkan ulang OBS." ScriptLogWindow="Catatan Skrip" Description="Deskripsi" ScriptDescriptionLink.Text="Buka tautan ini di peramban web bawaan Anda?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/it-IT.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/it-IT.ini
Changed
@@ -34,6 +34,10 @@ PythonSettings.PythonInstallPath32bit="Percorso d'installazione di Python (32 bit)" PythonSettings.PythonInstallPath64bit="Percorso d'installazione di Python (64 bit)" PythonSettings.BrowsePythonPath="Sfoglia Percorso Python" +PythonSettings.PythonVersion="Versione Python caricata: %1" +PythonSettings.PythonNotLoaded="Python non attualmente caricato" +PythonSettings.AlreadyLoaded.Title="Python già caricato" +PythonSettings.AlreadyLoaded.Message="Una copia di Python %1 è già stata caricata. \nPer caricare la nuova versione Python selezionata, riavvia OBS." ScriptLogWindow="Log degli script" Description="Descrizione" ScriptDescriptionLink.Text="Vuoi aprire questo link con il tuo browser predefinito?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/ja-JP.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/ja-JP.ini
Changed
@@ -35,6 +35,10 @@ PythonSettings.PythonInstallPath32bit="Python インストールパス (32bit)" PythonSettings.PythonInstallPath64bit="Python インストールパス (64bit)" PythonSettings.BrowsePythonPath="Python パスを参照" +PythonSettings.PythonVersion="ロードされた Python バージョン: %1" +PythonSettings.PythonNotLoaded="Python は現在ロードされていません" +PythonSettings.AlreadyLoaded.Title="Python は既にロードされています" +PythonSettings.AlreadyLoaded.Message="Python %1 のコピーは既にロードされています。新しく選択された Python のバージョンをロードするには、OBSを再起動してください。" ScriptLogWindow="スクリプトログ" Description="説明" ScriptDescriptionLink.Text="このリンクを既定のウェブブラウザで開きますか?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/ka-GE.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/ka-GE.ini
Changed
@@ -15,14 +15,14 @@ Captions.CurrentSystemLanguage="სისტემის მიმდინარე ენა (%1)" Captions.Provider="მომწოდებელი" Captions.Error.GenericFail="წარწერების დადება ვერ მოხერხდა" -OutputTimer="ჩაწერის და ნაკადის წამზომი" +OutputTimer="ჩაწერის და ნაკადის წამმზომი" OutputTimer.Stream="ნაკადი გაეშვას არაუმეტეს:" OutputTimer.Record="ჩაწერა გაგრძელდეს არაუმეტეს:" OutputTimer.Stream.StoppingIn="ნაკადის შეწყვეტის დრო:" OutputTimer.Record.StoppingIn="ჩაწერის შეწყვეტის დრო:" -OutputTimer.Stream.EnableEverytime="ნაკადის წამზომის ჩართვა ყოველ ჯერზე" -OutputTimer.Record.EnableEverytime="ჩაწერის წამზომის ჩართვა ყოველ ჯერზე" -OutputTimer.Record.PauseTimer="წამზომის შეჩერება ჩაწერის შეჩერებისას" +OutputTimer.Stream.EnableEverytime="ნაკადის წამმზომის ჩართვა ყოველ ჯერზე" +OutputTimer.Record.EnableEverytime="ჩაწერის წამმზომის ჩართვა ყოველ ჯერზე" +OutputTimer.Record.PauseTimer="წამმზომის შეჩერება ჩაწერის შეჩერებისას" Scripts="სკრიპტები" LoadedScripts="ჩატვირთული სკრიპტები" AddScripts="სკრიპტების დამატება" @@ -35,6 +35,10 @@ PythonSettings.PythonInstallPath32bit="Python-ის დასაყენებელი მდებარეობა (32bit)" PythonSettings.PythonInstallPath64bit="Python-ის დასაყენებელი მდებარეობა (64bit)" PythonSettings.BrowsePythonPath="Python-ის მდებარეობის მოძიება" +PythonSettings.PythonVersion="ჩატვირთული ვერსიის Python: %1" +PythonSettings.PythonNotLoaded="Python ამჟამად არაა ჩატვირთული" +PythonSettings.AlreadyLoaded.Title="Python უკვე ჩატვირთულია" +PythonSettings.AlreadyLoaded.Message="ერთი Python %1 უკვე ჩატვირთულია. ახლად შერჩეული ვერსიის Python რომ ჩაიტვირთოს, გთხოვთ ხელახლა გაუშვათ OBS." ScriptLogWindow="სკრიპტის აღრიცხვა" Description="აღწერილობა" ScriptDescriptionLink.Text="გაიხსნას ბმული ნაგულისხმევ ბრაუზერში?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/kmr-TR.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/kmr-TR.ini
Changed
@@ -35,6 +35,10 @@ PythonSettings.PythonInstallPath32bit="Riya sazkarina Python (32bit)" PythonSettings.PythonInstallPath64bit="Riya sazkarina Python (64bit)" PythonSettings.BrowsePythonPath="Riya sazkarina Python bigere" +PythonSettings.PythonVersion="Guhertoya Python a barkirî: %1" +PythonSettings.PythonNotLoaded="Python di dema heyî de nehatiye barkirin" +PythonSettings.AlreadyLoaded.Title="Python jixwe barkirî ye" +PythonSettings.AlreadyLoaded.Message="Jêgirtinek ji Python %1 jixwe hatiye barkirin. Ji bo barkirina ya guhertoya Python nû ya hilbijartî, jkx OBS ji nû ve bide destpêkirin" ScriptLogWindow="Têketinên Skrîpt" Description="Danasîn" ScriptDescriptionLink.Text="Vê girêdanê di geroka tevnê xwe ya berdest de veke?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/ko-KR.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/ko-KR.ini
Changed
@@ -35,6 +35,10 @@ PythonSettings.PythonInstallPath32bit="Python 설치 경로 (32비트)" PythonSettings.PythonInstallPath64bit="Python 설치 경로 (64비트)" PythonSettings.BrowsePythonPath="Python 경로 찾기" +PythonSettings.PythonVersion="로드된 파이썬 버전: %1" +PythonSettings.PythonNotLoaded="파이썬이 로드되지 않았습니다" +PythonSettings.AlreadyLoaded.Title="파이썬이 이미 로드되었습니다" +PythonSettings.AlreadyLoaded.Message="이미 %1개의 파이썬이 로드되었습니다. 새로 선택된 파이썬 버전을 로드하시려면 OBS를 다시 시작해주세요." ScriptLogWindow="스크립트 로그" Description="설명" ScriptDescriptionLink.Text="이 링크를 기본 웹 브라우저에서 열까요?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/ms-MY.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/ms-MY.ini
Changed
@@ -35,6 +35,10 @@ PythonSettings.PythonInstallPath32bit="Laluan Pemasangan Python (32 bit)" PythonSettings.PythonInstallPath64bit="Laluan Pemasangan Python (64 bit)" PythonSettings.BrowsePythonPath="Layar Laluan Python" +PythonSettings.PythonVersion="Versi Python Yang Dimuatkan: %1" +PythonSettings.PythonNotLoaded="Python masih belum dimuatkan" +PythonSettings.AlreadyLoaded.Title="Python Telah Sedia Dimuatkan" +PythonSettings.AlreadyLoaded.Message="Salinan Python %1 telah sedia ada dimuatkan. Untuk memuatkan pilihan versi baharu Python, sila hidupkan kembali OBS." ScriptLogWindow="Log Skrip" Description="Keterangan" ScriptDescriptionLink.Text="Buka pautan ini dalam pelayar sesawang lalai anda?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/nl-NL.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/nl-NL.ini
Changed
@@ -31,6 +31,10 @@ PythonSettings.PythonInstallPath32bit="Python Installatiepad (32bit)" PythonSettings.PythonInstallPath64bit="Python Installatiepad (64bit)" PythonSettings.BrowsePythonPath="Blader Naar Python Pad" +PythonSettings.PythonVersion="Geladen Python versie: %1" +PythonSettings.PythonNotLoaded="Python momenteel niet geladen" +PythonSettings.AlreadyLoaded.Title="Python al geladen" +PythonSettings.AlreadyLoaded.Message="Er is al een kopie van Python %1 geladen. Herstart OBS om de nieuw geselecteerde Python versie te laden." Description="Beschrijving" ScriptDescriptionLink.Text="Deze link in uw standaard webbrowser openen?" FileFilter.ScriptFiles="Script Bestanden"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/pl-PL.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/pl-PL.ini
Changed
@@ -33,6 +33,10 @@ PythonSettings.PythonInstallPath32bit="Ścieżka instalacji Pythona (32bit)" PythonSettings.PythonInstallPath64bit="Ścieżka instalacji Pythona (64bit)" PythonSettings.BrowsePythonPath="Wybierz ścieżkę instalacji Pythona" +PythonSettings.PythonVersion="Wczytana wersja Pythona: %1" +PythonSettings.PythonNotLoaded="Python nie jest obecnie wczytany" +PythonSettings.AlreadyLoaded.Title="Python jest już wczytany" +PythonSettings.AlreadyLoaded.Message="Kopia Pythona %1 jest już wczytana. Aby wczytać nowo wybraną wersję Pythona, uruchom ponownie OBS." ScriptLogWindow="Dziennik skryptów" Description="Opis" ScriptDescriptionLink.Text="Otworzyć ten link w domyślnej przeglądarce internetowej?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/pt-BR.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/pt-BR.ini
Changed
@@ -34,6 +34,10 @@ PythonSettings.PythonInstallPath32bit="Caminho de instalação do Python (32 bits)" PythonSettings.PythonInstallPath64bit="Caminho de instalação do Python (64 bits)" PythonSettings.BrowsePythonPath="Procurar caminho do Python" +PythonSettings.PythonVersion="Versão Python Carregada: %1" +PythonSettings.PythonNotLoaded="O Python não está atualmente carregado" +PythonSettings.AlreadyLoaded.Title="Python já foi carregado" +PythonSettings.AlreadyLoaded.Message="Uma cópia do Python %1 já foi carregada. Para carregar a versão recém-selecionada do Python, reinicie o OBS." ScriptLogWindow="Log dos scripts" Description="Descrição" ScriptDescriptionLink.Text="Abrir este link no seu navegador padrão?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/pt-PT.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/pt-PT.ini
Changed
@@ -34,6 +34,10 @@ PythonSettings.PythonInstallPath32bit="Caminho da instalação do Python (32bits)" PythonSettings.PythonInstallPath64bit="Caminho da instalação do Python (64bits)" PythonSettings.BrowsePythonPath="Procurar caminho do Python" +PythonSettings.PythonVersion="Versão Python carregada: %1" +PythonSettings.PythonNotLoaded="O Python não está carregado" +PythonSettings.AlreadyLoaded.Title="Python já carregado" +PythonSettings.AlreadyLoaded.Message="Uma cópia do Python %1 já está carregada. Para carregar a versão selecionada do Python, por favor, reinicie o OBS." ScriptLogWindow="Diário do script" Description="Descrição" ScriptDescriptionLink.Text="Abrir a ligação no navegador predefinido?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/ro-RO.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/ro-RO.ini
Changed
@@ -1,11 +1,11 @@ SceneSwitcher="Comutator de scene automat" SceneSwitcher.OnNoMatch="Când nicio fereastră nu se potrivește:" -SceneSwitcher.OnNoMatch.DontSwitch="Nu schimba" +SceneSwitcher.OnNoMatch.DontSwitch="Nu comuta" SceneSwitcher.OnNoMatch.SwitchTo="Comută la:" SceneSwitcher.CheckInterval="Verifică titlul ferestrei active la fiecare:" SceneSwitcher.ActiveOrNotActive="Comutatorul de scene este:" InvalidRegex.Title="Expresie regulată invalidă" -InvalidRegex.Text="Expresia regulată pe care ai introdus-o este invalidă." +InvalidRegex.Text="Expresia regulată pe care ai introdus-o este nevalidă." Active="Activ" Inactive="Inactiv" Start="Pornește" @@ -15,7 +15,7 @@ Captions.CurrentSystemLanguage="Limba actuală a sistemului (%1)" Captions.Provider="Furnizor" Captions.Error.GenericFail="Pornirea subtitrărilor a eșuat" -OutputTimer="Temporizator pentru ieșire" +OutputTimer="Temporizator pentru output" OutputTimer.Stream="Oprește transmisiunea după:" OutputTimer.Record="Oprește înregistrarea după:" OutputTimer.Stream.StoppingIn="Transmisiunea se oprește în:"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/ru-RU.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/ru-RU.ini
Changed
@@ -31,10 +31,14 @@ EditScript="Изменить скрипт" Reload="Обновить" OpenFileLocation="Открыть место расположения файла" -PythonSettings="Параметры Python" +PythonSettings="Настройки Python" PythonSettings.PythonInstallPath32bit="Путь установки Python (32 бита)" PythonSettings.PythonInstallPath64bit="Путь установки Python (64 бита)" PythonSettings.BrowsePythonPath="Обзор пути Python" +PythonSettings.PythonVersion="Загружена версия Python: %1" +PythonSettings.PythonNotLoaded="Python в настоящее время не загружен" +PythonSettings.AlreadyLoaded.Title="Python уже загружен" +PythonSettings.AlreadyLoaded.Message="Копия Python %1 уже загружена. Чтобы загрузить новую выбранную версию Python, перезапустите OBS." ScriptLogWindow="Журнал скрипта" Description="Описание" ScriptDescriptionLink.Text="Открыть эту ссылку в браузере по умолчанию?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/sk-SK.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/sk-SK.ini
Changed
@@ -35,6 +35,10 @@ PythonSettings.PythonInstallPath32bit="Python inštalačná cesta (32bitová)" PythonSettings.PythonInstallPath64bit="Python inštalačná cesta (64bitová)" PythonSettings.BrowsePythonPath="Prehliadať cestu k Pythonu" +PythonSettings.PythonVersion="Načítaná Python verzia: %1" +PythonSettings.PythonNotLoaded="Python nie je momentálne načítaný" +PythonSettings.AlreadyLoaded.Title="Python je už načítaný" +PythonSettings.AlreadyLoaded.Message="Nejaká kópia Python-a %1 je už momentálne načítaná. Pre načítanie novo-vybratej verzie Python-a, prosím reštartujte OBS." ScriptLogWindow="Log skriptu" Description="Popis" ScriptDescriptionLink.Text="Otvoriť tento odkaz v predvolenom webovom prehliadači?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/sl-SI.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/sl-SI.ini
Changed
@@ -35,6 +35,10 @@ PythonSettings.PythonInstallPath32bit="Namestitvena pot Pythona (32-bitni)" PythonSettings.PythonInstallPath64bit="Namestitvena pot Pythona (64-bitni)" PythonSettings.BrowsePythonPath="Prebrskaj pot do Pythona" +PythonSettings.PythonVersion="Naložena različica Pythona: %1" +PythonSettings.PythonNotLoaded="Python trenutno ni naložen" +PythonSettings.AlreadyLoaded.Title="Python je že naložen" +PythonSettings.AlreadyLoaded.Message="Kopija Pythona %1 je že naložena. Za nalaganje novo izbrane različice Pythona je potrebno ponovno zagnati OBS." ScriptLogWindow="Dnevnik skriptov" Description="Opis" ScriptDescriptionLink.Text="Odprem to povezavi v tvojem privzetem brskalniku?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/sv-SE.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/sv-SE.ini
Changed
@@ -35,6 +35,10 @@ PythonSettings.PythonInstallPath32bit="Installationssökväg för Python (32 bitar)" PythonSettings.PythonInstallPath64bit="Installationssökväg för Python (64 bitar)" PythonSettings.BrowsePythonPath="Bläddra Python-sökväg" +PythonSettings.PythonVersion="Inläst Python-version: %1" +PythonSettings.PythonNotLoaded="Python har för tillfället inte lästs in" +PythonSettings.AlreadyLoaded.Title="Python har redan lästs in" +PythonSettings.AlreadyLoaded.Message="En utgåva av Python %1 har redan lästs in. För att läsa in den nyligen valda Python-versionen, starta om OBS." ScriptLogWindow="Skriptlogg" Description="Beskrivning" ScriptDescriptionLink.Text="Öppna denna länk i din standardwebbläsare?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/tr-TR.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/tr-TR.ini
Changed
@@ -35,6 +35,10 @@ PythonSettings.PythonInstallPath32bit="Python Kurulum Yolu (32bit)" PythonSettings.PythonInstallPath64bit="Python Kurulum Yolu (64bit)" PythonSettings.BrowsePythonPath="Python Yoluna Göz At" +PythonSettings.PythonVersion="Yüklenen Python Sürümü: %1" +PythonSettings.PythonNotLoaded="Python şu anda yüklü değil" +PythonSettings.AlreadyLoaded.Title="Python Zaten Yüklü" +PythonSettings.AlreadyLoaded.Message="Python %1 için bir kopya zaten yüklü. Seçilen yeni Python versiyonunu yüklemek için lütfen OBS'i yeniden başlatın." ScriptLogWindow="Betik Günlüğü" Description="Açıklama" ScriptDescriptionLink.Text="Bu bağlantı varsayılan web tarayıcınızda açılsın mı?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/uk-UA.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/uk-UA.ini
Changed
@@ -35,6 +35,10 @@ PythonSettings.PythonInstallPath32bit="Шлях інсталяції Python (32 біти)" PythonSettings.PythonInstallPath64bit="Шлях інсталяції Python (64 біти)" PythonSettings.BrowsePythonPath="Огляд шляху до програми Python" +PythonSettings.PythonVersion="Завантажена версія Python: %1" +PythonSettings.PythonNotLoaded="Python не завантажено" +PythonSettings.AlreadyLoaded.Title="Python вже завантажений" +PythonSettings.AlreadyLoaded.Message="Копія Python %1 вже завантажена. Щоб завантажити нову версію Python, перезапустіть OBS." ScriptLogWindow="Журнал скрипта" Description="Опис" ScriptDescriptionLink.Text="Відкрити це посилання у стандартному веббраузері?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/vi-VN.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/vi-VN.ini
Changed
@@ -35,6 +35,7 @@ PythonSettings.PythonInstallPath32bit="Đường dẫn cài đặt Python (32bit)" PythonSettings.PythonInstallPath64bit="Đường dẫn cài đặt Python (64bit)" PythonSettings.BrowsePythonPath="Duyệt đường dẫn Python" +PythonSettings.PythonNotLoaded="Python hiện chưa được nạp" ScriptLogWindow="Bản ghi kịch bản" Description="Mô tả" ScriptDescriptionLink.Text="Mở liên kết trên trình duyệt web mặc định?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/zh-CN.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/zh-CN.ini
Changed
@@ -35,6 +35,10 @@ PythonSettings.PythonInstallPath32bit="Python 安装路径 (32位)" PythonSettings.PythonInstallPath64bit="Python 安装路径 (64位)" PythonSettings.BrowsePythonPath="浏览 Python 路径" +PythonSettings.PythonVersion="已加载 Python 版本:%1" +PythonSettings.PythonNotLoaded="当前未加载 Python" +PythonSettings.AlreadyLoaded.Title="已加载 Python" +PythonSettings.AlreadyLoaded.Message="已经加载 Python %1。要加载新选中的 Python 版本,请重启 OBS。" ScriptLogWindow="脚本日志" Description="说明" ScriptDescriptionLink.Text="使用默认网络浏览器打开此链接?"
View file
obs-studio-28.0.3.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/zh-TW.ini -> obs-studio-28.1.1.tar.xz/UI/frontend-plugins/frontend-tools/data/locale/zh-TW.ini
Changed
@@ -35,6 +35,10 @@ PythonSettings.PythonInstallPath32bit="Python 安裝路徑 (32bit)" PythonSettings.PythonInstallPath64bit="Python 安裝路徑 (64bit)" PythonSettings.BrowsePythonPath="瀏覽 Python 路徑" +PythonSettings.PythonVersion="已載入的 Python 版本: %1" +PythonSettings.PythonNotLoaded="當前未載入 Python" +PythonSettings.AlreadyLoaded.Title="Python 已載入" +PythonSettings.AlreadyLoaded.Message="有一個已加載的 Python %1 副本。 請重啟 OBS 以加載新選擇的 Python 版本。" ScriptLogWindow="指令稿記錄" Description="描述" ScriptDescriptionLink.Text="您是否要在您的預設網頁瀏覽器開啟此連結?"
View file
obs-studio-28.0.3.tar.xz/UI/obs-app.cpp -> obs-studio-28.1.1.tar.xz/UI/obs-app.cpp
Changed
@@ -80,6 +80,7 @@ static string lastCrashLogFile; bool portable_mode = false; +bool steam = false; static bool multi = false; static bool log_verbose = false; static bool unfiltered_log = false; @@ -1113,16 +1114,20 @@ if (cf_token_is(cfp, "OBSThemeMeta") || cf_go_to_token(cfp, "OBSThemeMeta", nullptr)) { - OBSThemeMeta *meta = new OBSThemeMeta(); + if (!cf_next_token(cfp)) return nullptr; if (!cf_token_is(cfp, "{")) return nullptr; + OBSThemeMeta *meta = new OBSThemeMeta(); + for (;;) { - if (!cf_next_token(cfp)) + if (!cf_next_token(cfp)) { + delete meta; return nullptr; + } ret = cf_token_is_type(cfp, CFTOKEN_NAME, "name", nullptr); @@ -1136,8 +1141,10 @@ if (ret != PARSE_SUCCESS) continue; - if (!cf_next_token(cfp)) + if (!cf_next_token(cfp)) { + delete meta; return nullptr; + } ret = cf_token_is_type(cfp, CFTOKEN_STRING, "value", ";"); @@ -1158,8 +1165,10 @@ } bfree(str); - if (!cf_go_to_token(cfp, ";", nullptr)) + if (!cf_go_to_token(cfp, ";", nullptr)) { + delete meta; return nullptr; + } } return meta; } @@ -2284,10 +2293,8 @@ } #endif - if (!created_log) { + if (!created_log) create_log_file(logFile); - created_log = true; - } #ifdef __APPLE__ MacPermissionStatus audio_permission = @@ -2805,6 +2812,178 @@ obs_data_item_release(&cbr_item); } +static void convert_nvenc_h264_presets(obs_data_t *data) +{ + const char *preset = obs_data_get_string(data, "preset"); + const char *rc = obs_data_get_string(data, "rate_control"); + + // If already using SDK10+ preset, return early. + if (astrcmpi_n(preset, "p", 1) == 0) { + obs_data_set_string(data, "preset2", preset); + return; + } + + if (astrcmpi(rc, "lossless") == 0 && astrcmpi(preset, "mq")) { + obs_data_set_string(data, "preset2", "p3"); + obs_data_set_string(data, "tune", "lossless"); + obs_data_set_string(data, "multipass", "disabled"); + + } else if (astrcmpi(rc, "lossless") == 0 && astrcmpi(preset, "hp")) { + obs_data_set_string(data, "preset2", "p2"); + obs_data_set_string(data, "tune", "lossless"); + obs_data_set_string(data, "multipass", "disabled"); + + } else if (astrcmpi(preset, "mq") == 0) { + obs_data_set_string(data, "preset2", "p5"); + obs_data_set_string(data, "tune", "hq"); + obs_data_set_string(data, "multipass", "qres"); + + } else if (astrcmpi(preset, "hq") == 0) { + obs_data_set_string(data, "preset2", "p5"); + obs_data_set_string(data, "tune", "hq"); + obs_data_set_string(data, "multipass", "disabled"); + + } else if (astrcmpi(preset, "default") == 0) { + obs_data_set_string(data, "preset2", "p3"); + obs_data_set_string(data, "tune", "hq"); + obs_data_set_string(data, "multipass", "disabled"); + + } else if (astrcmpi(preset, "hp") == 0) { + obs_data_set_string(data, "preset2", "p1"); + obs_data_set_string(data, "tune", "hq"); + obs_data_set_string(data, "multipass", "disabled"); + + } else if (astrcmpi(preset, "ll") == 0) { + obs_data_set_string(data, "preset2", "p3"); + obs_data_set_string(data, "tune", "ll"); + obs_data_set_string(data, "multipass", "disabled"); + + } else if (astrcmpi(preset, "llhq") == 0) { + obs_data_set_string(data, "preset2", "p4"); + obs_data_set_string(data, "tune", "ll"); + obs_data_set_string(data, "multipass", "disabled"); + + } else if (astrcmpi(preset, "llhp") == 0) { + obs_data_set_string(data, "preset2", "p2"); + obs_data_set_string(data, "tune", "ll"); + obs_data_set_string(data, "multipass", "disabled"); + } +} + +static void convert_nvenc_hevc_presets(obs_data_t *data) +{ + const char *preset = obs_data_get_string(data, "preset"); + const char *rc = obs_data_get_string(data, "rate_control"); + + // If already using SDK10+ preset, return early. + if (astrcmpi_n(preset, "p", 1) == 0) { + obs_data_set_string(data, "preset2", preset); + return; + } + + if (astrcmpi(rc, "lossless") == 0 && astrcmpi(preset, "mq")) { + obs_data_set_string(data, "preset2", "p5"); + obs_data_set_string(data, "tune", "lossless"); + obs_data_set_string(data, "multipass", "disabled"); + + } else if (astrcmpi(rc, "lossless") == 0 && astrcmpi(preset, "hp")) { + obs_data_set_string(data, "preset2", "p3"); + obs_data_set_string(data, "tune", "lossless"); + obs_data_set_string(data, "multipass", "disabled"); + + } else if (astrcmpi(preset, "mq") == 0) { + obs_data_set_string(data, "preset2", "p6"); + obs_data_set_string(data, "tune", "hq"); + obs_data_set_string(data, "multipass", "qres"); + + } else if (astrcmpi(preset, "hq") == 0) { + obs_data_set_string(data, "preset2", "p6"); + obs_data_set_string(data, "tune", "hq"); + obs_data_set_string(data, "multipass", "disabled"); + + } else if (astrcmpi(preset, "default") == 0) { + obs_data_set_string(data, "preset2", "p5"); + obs_data_set_string(data, "tune", "hq"); + obs_data_set_string(data, "multipass", "disabled"); + + } else if (astrcmpi(preset, "hp") == 0) { + obs_data_set_string(data, "preset2", "p1"); + obs_data_set_string(data, "tune", "hq"); + obs_data_set_string(data, "multipass", "disabled"); + + } else if (astrcmpi(preset, "ll") == 0) { + obs_data_set_string(data, "preset2", "p3"); + obs_data_set_string(data, "tune", "ll"); + obs_data_set_string(data, "multipass", "disabled"); + + } else if (astrcmpi(preset, "llhq") == 0) { + obs_data_set_string(data, "preset2", "p4"); + obs_data_set_string(data, "tune", "ll"); + obs_data_set_string(data, "multipass", "disabled"); + + } else if (astrcmpi(preset, "llhp") == 0) { + obs_data_set_string(data, "preset2", "p2"); + obs_data_set_string(data, "tune", "ll"); + obs_data_set_string(data, "multipass", "disabled"); + } +} + +static void convert_28_1_encoder_setting(const char *encoder, const char *file) +{ + OBSDataAutoRelease data = + obs_data_create_from_json_file_safe(file, "bak"); + bool modified = false; + + if (astrcmpi(encoder, "jim_nvenc") == 0 || + astrcmpi(encoder, "ffmpeg_nvenc") == 0) { + + if (obs_data_has_user_value(data, "preset") && + !obs_data_has_user_value(data, "preset2")) { + convert_nvenc_h264_presets(data); + + modified = true; + } + } else if (astrcmpi(encoder, "jim_hevc_nvenc") == 0 || + astrcmpi(encoder, "ffmpeg_hevc_nvenc") == 0) { + + if (obs_data_has_user_value(data, "preset") && + !obs_data_has_user_value(data, "preset2")) { + convert_nvenc_hevc_presets(data); + + modified = true; + } + } + + if (modified) + obs_data_save_json_safe(data, file, "tmp", "bak"); +} + +bool update_nvenc_presets(ConfigFile &config) +{ + if (config_has_user_value(config, "SimpleOutput", "NVENCPreset2") || + !config_has_user_value(config, "SimpleOutput", "NVENCPreset")) + return false; + + const char *streamEncoder = + config_get_string(config, "SimpleOutput", "StreamEncoder"); + const char *nvencPreset = + config_get_string(config, "SimpleOutput", "NVENCPreset"); + + OBSDataAutoRelease data = obs_data_create(); + obs_data_set_string(data, "preset", nvencPreset); + + if (astrcmpi(streamEncoder, "nvenc_hevc") == 0) { + convert_nvenc_hevc_presets(data); + } else { + convert_nvenc_h264_presets(data); + } + + config_set_string(config, "SimpleOutput", "NVENCPreset2", + obs_data_get_string(data, "preset2")); + + return true; +} + static void upgrade_settings(void) { char path512; @@ -2852,13 +3031,13 @@ strcat(path, "/"); strcat(path, ent->d_name); strcat(path, "/recordEncoder.json"); - convert_14_2_encoder_setting(rEnc, path); + convert_28_1_encoder_setting(rEnc, path); pathpathlen = 0; strcat(path, "/"); strcat(path, ent->d_name); strcat(path, "/streamEncoder.json"); - convert_14_2_encoder_setting(sEnc, path); + convert_28_1_encoder_setting(sEnc, path); } pathpathlen = 0; @@ -2982,6 +3161,9 @@ nullptr)) { opt_disable_missing_files_check = true; + } else if (arg_is(argvi, "--steam", nullptr)) { + steam = true; + #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) } else if (arg_is(argvi, "--disable-high-dpi-scaling", nullptr)) { @@ -3000,7 +3182,9 @@ "--scene <string>: Start with specific scene.\n\n" "--studio-mode: Enable studio mode.\n" "--minimize-to-tray: Minimize to system tray.\n" +#if ALLOW_PORTABLE_MODE "--portable, -p: Use portable mode.\n" +#endif "--multi, -m: Don't warn when launching multiple instances.\n\n" "--verbose: Make log more verbose.\n" "--always-on-top: Start in 'always on top' mode.\n\n"
View file
obs-studio-28.0.3.tar.xz/UI/obs-app.hpp -> obs-studio-28.1.1.tar.xz/UI/obs-app.hpp
Changed
@@ -240,6 +240,7 @@ } extern bool portable_mode; +extern bool steam; extern bool opt_start_streaming; extern bool opt_start_recording;
View file
obs-studio-28.0.3.tar.xz/UI/record-button.cpp -> obs-studio-28.1.1.tar.xz/UI/record-button.cpp
Changed
@@ -29,7 +29,7 @@ return nullptr; auto n = layout->count(); - for (auto i = 0, n = layout->count(); i < n; i++) { + for (auto i = 0; i < n; i++) { widget = firstWidget(layout->itemAt(i)); if (widget) return widget; @@ -47,7 +47,6 @@ if (!layout) return nullptr; - auto n = layout->count(); for (auto i = layout->count(); i > 0; i--) { widget = lastWidget(layout->itemAt(i - 1)); if (widget)
View file
obs-studio-28.0.3.tar.xz/UI/source-tree.cpp -> obs-studio-28.1.1.tar.xz/UI/source-tree.cpp
Changed
@@ -1266,7 +1266,6 @@ if (hasGroups) { if (!itemBelow || obs_sceneitem_get_group(scene, itemBelow) != dropGroup) { - indicator = QAbstractItemView::BelowItem; dropGroup = nullptr; dropOnCollapsed = false; }
View file
obs-studio-28.0.3.tar.xz/UI/volume-control.cpp -> obs-studio-28.1.1.tar.xz/UI/volume-control.cpp
Changed
@@ -248,7 +248,6 @@ setMaximumWidth(110); } else { - QHBoxLayout *volLayout = new QHBoxLayout; QHBoxLayout *textLayout = new QHBoxLayout; QHBoxLayout *botLayout = new QHBoxLayout; @@ -261,16 +260,17 @@ textLayout->setAlignment(nameLabel, Qt::AlignLeft); textLayout->setAlignment(volLabel, Qt::AlignRight); - volLayout->addWidget(slider); - volLayout->addWidget(mute); - volLayout->setSpacing(5); - botLayout->setContentsMargins(0, 0, 0, 0); - botLayout->setSpacing(0); - botLayout->addLayout(volLayout); + botLayout->setSpacing(5); + botLayout->addWidget(slider); + botLayout->addWidget(mute); + botLayout->setAlignment(slider, Qt::AlignVCenter); + botLayout->setAlignment(mute, Qt::AlignVCenter); - if (showConfig) + if (showConfig) { botLayout->addWidget(config); + botLayout->setAlignment(config, Qt::AlignVCenter); + } mainLayout->addItem(textLayout); mainLayout->addWidget(volMeter); @@ -1070,6 +1070,19 @@ clipping = false; } +inline int VolumeMeter::convertToInt(float number) +{ + constexpr int min = std::numeric_limits<int>::min(); + constexpr int max = std::numeric_limits<int>::max(); + + if (number > max) + return max; + else if (number < min) + return min; + else + return int(number); +} + void VolumeMeter::paintHMeter(QPainter &painter, int x, int y, int width, int height, float magnitude, float peak, float peakHold) @@ -1079,11 +1092,11 @@ QMutexLocker locker(&dataMutex); int minimumPosition = x + 0; int maximumPosition = x + width; - int magnitudePosition = int(x + width - (magnitude * scale)); - int peakPosition = int(x + width - (peak * scale)); - int peakHoldPosition = int(x + width - (peakHold * scale)); - int warningPosition = int(x + width - (warningLevel * scale)); - int errorPosition = int(x + width - (errorLevel * scale)); + int magnitudePosition = x + width - convertToInt(magnitude * scale); + int peakPosition = x + width - convertToInt(peak * scale); + int peakHoldPosition = x + width - convertToInt(peakHold * scale); + int warningPosition = x + width - convertToInt(warningLevel * scale); + int errorPosition = x + width - convertToInt(errorLevel * scale); int nominalLength = warningPosition - minimumPosition; int warningLength = errorPosition - warningPosition; @@ -1191,11 +1204,11 @@ QMutexLocker locker(&dataMutex); int minimumPosition = y + 0; int maximumPosition = y + height; - int magnitudePosition = int(y + height - (magnitude * scale)); - int peakPosition = int(y + height - (peak * scale)); - int peakHoldPosition = int(y + height - (peakHold * scale)); - int warningPosition = int(y + height - (warningLevel * scale)); - int errorPosition = int(y + height - (errorLevel * scale)); + int magnitudePosition = y + height - convertToInt(magnitude * scale); + int peakPosition = y + height - convertToInt(peak * scale); + int peakHoldPosition = y + height - convertToInt(peakHold * scale); + int warningPosition = y + height - convertToInt(warningLevel * scale); + int errorPosition = y + height - convertToInt(errorLevel * scale); int nominalLength = warningPosition - minimumPosition; int warningLength = errorPosition - warningPosition;
View file
obs-studio-28.0.3.tar.xz/UI/volume-control.hpp -> obs-studio-28.1.1.tar.xz/UI/volume-control.hpp
Changed
@@ -110,6 +110,7 @@ inline void calculateBallisticsForChannel(int channelNr, uint64_t ts, qreal timeSinceLastRedraw); + inline int convertToInt(float number); void paintInputMeter(QPainter &painter, int x, int y, int width, int height, float peakHold); void paintHMeter(QPainter &painter, int x, int y, int width, int height,
View file
obs-studio-28.0.3.tar.xz/UI/window-basic-about.cpp -> obs-studio-28.1.1.tar.xz/UI/window-basic-about.cpp
Changed
@@ -33,11 +33,16 @@ ui->version->setText(ver + bitness); ui->contribute->setText(QTStr("About.Contribute")); - ui->donate->setText( - " <a href='https://obsproject.com/contribute'>" + - QTStr("About.Donate") + "</a>"); - ui->donate->setTextInteractionFlags(Qt::TextBrowserInteraction); - ui->donate->setOpenExternalLinks(true); + + if (steam) { + delete ui->donate; + } else { + ui->donate->setText( + " <a href='https://obsproject.com/contribute'>" + + QTStr("About.Donate") + "</a>"); + ui->donate->setTextInteractionFlags(Qt::TextBrowserInteraction); + ui->donate->setOpenExternalLinks(true); + } ui->getInvolved->setText( " <a href='https://github.com/obsproject/obs-studio/blob/master/CONTRIBUTING.rst'>" +
View file
obs-studio-28.0.3.tar.xz/UI/window-basic-auto-config.cpp -> obs-studio-28.1.1.tar.xz/UI/window-basic-auto-config.cpp
Changed
@@ -150,8 +150,12 @@ QString cyStr = QString::number(ovi.base_height); int encRes = int(ovi.base_width << 16) | int(ovi.base_height); - ui->canvasRes->addItem(QTStr(RES_USE_CURRENT).arg(cxStr, cyStr), - (int)encRes); + + // Auto config only supports testing down to 240p, don't allow current + // resolution if it's lower than that. + if (ovi.base_height >= 240) + ui->canvasRes->addItem(QTStr(RES_USE_CURRENT).arg(cxStr, cyStr), + (int)encRes); QList<QScreen *> screens = QGuiApplication::screens(); for (int i = 0; i < screens.size(); i++) {
View file
obs-studio-28.0.3.tar.xz/UI/window-basic-main-outputs.cpp -> obs-studio-28.1.1.tar.xz/UI/window-basic-main-outputs.cpp
Changed
@@ -290,9 +290,7 @@ void UpdateRecordingSettings_x264_crf(int crf); void UpdateRecordingSettings_qsv11(int crf); void UpdateRecordingSettings_nvenc(int cqp); -#ifdef ENABLE_HEVC - void UpdateRecordingSettings_nvenc_hevc(int cqp); -#endif + void UpdateRecordingSettings_nvenc_hevc_av1(int cqp); void UpdateRecordingSettings_amd_cqp(int cqp); void UpdateRecordingSettings_apple(int quality); void UpdateRecordingSettings(); @@ -384,6 +382,8 @@ return EncoderAvailable("jim_hevc_nvenc") ? "jim_hevc_nvenc" : "ffmpeg_hevc_nvenc"; #endif + } else if (strcmp(encoder, SIMPLE_ENCODER_NVENC_AV1) == 0) { + return "jim_av1_nvenc"; } else if (strcmp(encoder, SIMPLE_ENCODER_APPLE_H264) == 0) { return "com.apple.videotoolbox.videoencoder.ave.avc"; } @@ -535,19 +535,26 @@ #endif } else if (strcmp(encoder, SIMPLE_ENCODER_NVENC) == 0) { - presetType = "NVENCPreset"; + presetType = "NVENCPreset2"; #ifdef ENABLE_HEVC } else if (strcmp(encoder, SIMPLE_ENCODER_NVENC_HEVC) == 0) { - presetType = "NVENCPreset"; + presetType = "NVENCPreset2"; #endif + } else if (strcmp(encoder, SIMPLE_ENCODER_NVENC_AV1) == 0) { + presetType = "NVENCPreset2"; + } else { presetType = "Preset"; } preset = config_get_string(main->Config(), "SimpleOutput", presetType); - obs_data_set_string(videoSettings, "preset", preset); + obs_data_set_string(videoSettings, + (strcmp(presetType, "NVENCPreset2") == 0) + ? "preset2" + : "preset", + preset); obs_data_set_string(videoSettings, "rate_control", "CBR"); obs_data_set_int(videoSettings, "bitrate", videoBitrate); @@ -671,24 +678,20 @@ OBSDataAutoRelease settings = obs_data_create(); obs_data_set_string(settings, "rate_control", "CQP"); obs_data_set_string(settings, "profile", "high"); - obs_data_set_string(settings, "preset", "hq"); obs_data_set_int(settings, "cqp", cqp); obs_encoder_update(videoRecording, settings); } -#ifdef ENABLE_HEVC -void SimpleOutput::UpdateRecordingSettings_nvenc_hevc(int cqp) +void SimpleOutput::UpdateRecordingSettings_nvenc_hevc_av1(int cqp) { OBSDataAutoRelease settings = obs_data_create(); obs_data_set_string(settings, "rate_control", "CQP"); obs_data_set_string(settings, "profile", "main"); - obs_data_set_string(settings, "preset", "hq"); obs_data_set_int(settings, "cqp", cqp); obs_encoder_update(videoRecording, settings); } -#endif void SimpleOutput::UpdateRecordingSettings_apple(int quality) { @@ -734,8 +737,11 @@ #ifdef ENABLE_HEVC } else if (videoEncoder == SIMPLE_ENCODER_NVENC_HEVC) { - UpdateRecordingSettings_nvenc_hevc(crf); + UpdateRecordingSettings_nvenc_hevc_av1(crf); #endif + } else if (videoEncoder == SIMPLE_ENCODER_NVENC_AV1) { + UpdateRecordingSettings_nvenc_hevc_av1(crf); + } else if (videoEncoder == SIMPLE_ENCODER_APPLE_H264) { /* These are magic numbers. 0 - 100, more is better. */ UpdateRecordingSettings_apple(ultra_hq ? 70 : 50); @@ -2041,8 +2047,7 @@ error_reason = QT_UTF8(error); else error_reason = QTStr("Output.StartFailedGeneric"); - QMessageBox::critical(main, - QTStr("Output.StartRecordingFailed"), + QMessageBox::critical(main, QTStr("Output.StartReplayFailed"), error_reason); return false; }
View file
obs-studio-28.0.3.tar.xz/UI/window-basic-main-profiles.cpp -> obs-studio-28.1.1.tar.xz/UI/window-basic-main-profiles.cpp
Changed
@@ -862,6 +862,12 @@ name = SIMPLE_ENCODER_X264; return false; } + } else if (strcmp(name, SIMPLE_ENCODER_NVENC_AV1) == 0) { + if (!nve_supported) { + changed = true; + name = SIMPLE_ENCODER_X264; + return false; + } #ifdef ENABLE_HEVC } else if (strcmp(name, SIMPLE_ENCODER_AMD_HEVC) == 0) { if (!amd_hevc_supported) {
View file
obs-studio-28.0.3.tar.xz/UI/window-basic-main-transitions.cpp -> obs-studio-28.1.1.tar.xz/UI/window-basic-main-transitions.cpp
Changed
@@ -455,7 +455,7 @@ obs_source_t *source = nullptr; int i = 1; - while ((source = FindTransition(QT_TO_UTF8(placeHolderText)))) { + while ((FindTransition(QT_TO_UTF8(placeHolderText)))) { placeHolderText = format.arg(++i); }
View file
obs-studio-28.0.3.tar.xz/UI/window-basic-main.cpp -> obs-studio-28.1.1.tar.xz/UI/window-basic-main.cpp
Changed
@@ -154,13 +154,22 @@ static void AddExtraModulePaths() { - char *plugins_path = getenv("OBS_PLUGINS_PATH"); - char *plugins_data_path = getenv("OBS_PLUGINS_DATA_PATH"); - if (plugins_path && plugins_data_path) { + string plugins_path, plugins_data_path; + char *s; + + s = getenv("OBS_PLUGINS_PATH"); + if (s) + plugins_path = s; + + s = getenv("OBS_PLUGINS_DATA_PATH"); + if (s) + plugins_data_path = s; + + if (!plugins_path.empty() && !plugins_data_path.empty()) { string data_path_with_module_suffix; data_path_with_module_suffix += plugins_data_path; data_path_with_module_suffix += "/%module%"; - obs_add_module_path(plugins_path, + obs_add_module_path(plugins_path.c_str(), data_path_with_module_suffix.c_str()); } @@ -1389,8 +1398,8 @@ false); config_set_default_string(basicConfig, "SimpleOutput", "Preset", "veryfast"); - config_set_default_string(basicConfig, "SimpleOutput", "NVENCPreset", - "hq"); + config_set_default_string(basicConfig, "SimpleOutput", "NVENCPreset2", + "p6"); config_set_default_string(basicConfig, "SimpleOutput", "RecQuality", "Stream"); config_set_default_bool(basicConfig, "SimpleOutput", "RecRB", false); @@ -1527,6 +1536,7 @@ } extern bool EncoderAvailable(const char *encoder); +extern bool update_nvenc_presets(ConfigFile &config); void OBSBasic::InitBasicConfigDefaults2() { @@ -1540,6 +1550,9 @@ config_set_default_string(basicConfig, "SimpleOutput", "RecEncoder", useNV ? SIMPLE_ENCODER_NVENC : SIMPLE_ENCODER_X264); + + if (update_nvenc_presets(basicConfig)) + config_save_safe(basicConfig, "tmp", nullptr); } bool OBSBasic::InitBasicConfig() @@ -2036,14 +2049,10 @@ ui->viewMenu->addSeparator(); - multiviewProjectorMenu = new QMenu(QTStr("MultiviewProjector")); - ui->viewMenu->addMenu(multiviewProjectorMenu); - AddProjectorMenuMonitors(multiviewProjectorMenu, this, + AddProjectorMenuMonitors(ui->multiviewProjectorMenu, this, SLOT(OpenMultiviewProjector())); connect(ui->viewMenu->menuAction(), &QAction::hovered, this, &OBSBasic::UpdateMultiviewProjectorMenu); - ui->viewMenu->addAction(QTStr("MultiviewWindowed"), this, - SLOT(OpenMultiviewWindow())); ui->sources->UpdateIcons(); @@ -2279,8 +2288,8 @@ void OBSBasic::UpdateMultiviewProjectorMenu() { - multiviewProjectorMenu->clear(); - AddProjectorMenuMonitors(multiviewProjectorMenu, this, + ui->multiviewProjectorMenu->clear(); + AddProjectorMenuMonitors(ui->multiviewProjectorMenu, this, SLOT(OpenMultiviewProjector())); } @@ -2604,7 +2613,6 @@ updateCheckThread->wait(); delete screenshotData; - delete multiviewProjectorMenu; delete previewProjector; delete studioProgramProjector; delete previewProjectorSource; @@ -4346,7 +4354,7 @@ return VIDEO_FORMAT_UYVY; #endif else - return VIDEO_FORMAT_RGBA; + return VIDEO_FORMAT_BGRA; } static inline enum video_colorspace GetVideoColorSpaceFromName(const char *name) @@ -4369,9 +4377,6 @@ bool studioPortraitLayout = config_get_bool( GetGlobalConfig(), "BasicWindow", "StudioPortraitLayout"); - bool labels = config_get_bool(GetGlobalConfig(), "BasicWindow", - "StudioModeLabels"); - if (studioPortraitLayout) ui->previewLayout->setDirection(QBoxLayout::BottomToTop); else @@ -8800,11 +8805,6 @@ ProjectorType::Source); } -void OBSBasic::OpenMultiviewWindow() -{ - OpenProjector(nullptr, -1, ProjectorType::Multiview); -} - void OBSBasic::OpenSceneWindow() { OBSScene scene = GetCurrentScene(); @@ -9021,6 +9021,11 @@ ui->toggleStatusBar->setChecked(true); } +void OBSBasic::on_multiviewProjectorWindowed_triggered() +{ + OpenProjector(nullptr, -1, ProjectorType::Multiview); +} + void OBSBasic::on_toggleListboxToolbars_toggled(bool visible) { ui->sourcesToolbar->setVisible(visible);
View file
obs-studio-28.0.3.tar.xz/UI/window-basic-main.hpp -> obs-studio-28.1.1.tar.xz/UI/window-basic-main.hpp
Changed
@@ -66,6 +66,7 @@ #define SIMPLE_ENCODER_X264_LOWCPU "x264_lowcpu" #define SIMPLE_ENCODER_QSV "qsv" #define SIMPLE_ENCODER_NVENC "nvenc" +#define SIMPLE_ENCODER_NVENC_AV1 "nvenc_av1" #define SIMPLE_ENCODER_NVENC_HEVC "nvenc_hevc" #define SIMPLE_ENCODER_AMD "amd" #define SIMPLE_ENCODER_AMD_HEVC "amd_hevc" @@ -315,7 +316,6 @@ QPointer<QMenu> trayMenu; QPointer<QMenu> previewProjector; QPointer<QMenu> studioProgramProjector; - QPointer<QMenu> multiviewProjectorMenu; QPointer<QMenu> previewProjectorSource; QPointer<QMenu> previewProjectorMain; QPointer<QMenu> sceneProjectorMenu; @@ -1123,6 +1123,7 @@ void on_resetUI_triggered(); void on_resetDocks_triggered(bool force = false); void on_lockDocks_toggled(bool lock); + void on_multiviewProjectorWindowed_triggered(); void PauseToggled(); @@ -1169,7 +1170,6 @@ void OpenStudioProgramWindow(); void OpenPreviewWindow(); void OpenSourceWindow(); - void OpenMultiviewWindow(); void OpenSceneWindow(); void StackedMixerAreaContextMenuRequested();
View file
obs-studio-28.0.3.tar.xz/UI/window-basic-preview.cpp -> obs-studio-28.1.1.tar.xz/UI/window-basic-preview.cpp
Changed
@@ -1718,8 +1718,6 @@ static void DrawSquareAtPos(float x, float y, float pixelRatio) { - OBSBasic *main = OBSBasic::Get(); - struct vec3 pos; vec3_set(&pos, x, y, 0.0f); @@ -1743,8 +1741,6 @@ static void DrawRotationHandle(gs_vertbuffer_t *circle, float rot, float pixelRatio) { - OBSBasic *main = OBSBasic::Get(); - struct vec3 pos; vec3_set(&pos, 0.5f, 0.0f, 0.0f); @@ -2453,7 +2449,12 @@ OBSBasic *main = OBSBasic::Get(); - if (main->ui->sources->selectionModel()->selectedIndexes().count() > 1) + vec2 s; + SceneFindBoxData data(s, s); + + obs_scene_enum_items(main->GetCurrentScene(), FindSelected, &data); + + if (data.sceneItems.size() > 1) return; OBSSceneItem item = main->GetCurrentSceneItem();
View file
obs-studio-28.0.3.tar.xz/UI/window-basic-settings-stream.cpp -> obs-studio-28.1.1.tar.xz/UI/window-basic-settings-stream.cpp
Changed
@@ -405,6 +405,7 @@ } else { ui->connectAccount2->setVisible(false); ui->useStreamKeyAdv->setVisible(false); + ui->streamStackWidget->setCurrentIndex((int)Section::StreamKey); } ui->connectedAccountLabel->setVisible(false); @@ -1250,6 +1251,8 @@ { if (enc == SIMPLE_ENCODER_NVENC_HEVC) return SIMPLE_ENCODER_NVENC; + if (enc == SIMPLE_ENCODER_NVENC_AV1) + return SIMPLE_ENCODER_NVENC; if (enc == SIMPLE_ENCODER_AMD_HEVC) return SIMPLE_ENCODER_AMD; return SIMPLE_ENCODER_X264; @@ -1385,6 +1388,10 @@ ui->simpleOutStrEncoder->addItem( ENCODER_STR("Hardware.NVENC.H264"), QString(SIMPLE_ENCODER_NVENC)); + if (service_supports_encoder(codecs, "jim_av1_nvenc")) + ui->simpleOutStrEncoder->addItem( + ENCODER_STR("Hardware.NVENC.AV1"), + QString(SIMPLE_ENCODER_NVENC_AV1)); #ifdef ENABLE_HEVC if (service_supports_encoder(codecs, "h265_texture_amf")) ui->simpleOutStrEncoder->addItem(
View file
obs-studio-28.0.3.tar.xz/UI/window-basic-settings.cpp -> obs-studio-28.1.1.tar.xz/UI/window-basic-settings.cpp
Changed
@@ -1759,7 +1759,7 @@ const char *qsvPreset = config_get_string(main->Config(), "SimpleOutput", "QSVPreset"); const char *nvPreset = config_get_string(main->Config(), "SimpleOutput", - "NVENCPreset"); + "NVENCPreset2"); const char *amdPreset = config_get_string(main->Config(), "SimpleOutput", "AMDPreset"); const char *custom = config_get_string(main->Config(), "SimpleOutput", @@ -3053,9 +3053,11 @@ int themeIndex = ui->theme->currentIndex(); QString themeData = ui->theme->itemData(themeIndex).toString(); - if (WidgetChanged(ui->theme)) + if (WidgetChanged(ui->theme)) { + savedTheme = themeData.toStdString(); config_set_string(GetGlobalConfig(), "General", "CurrentTheme3", QT_TO_UTF8(themeData)); + } #if defined(_WIN32) || defined(__APPLE__) if (WidgetChanged(ui->enableAutoUpdates)) @@ -3518,12 +3520,14 @@ if (encoder == SIMPLE_ENCODER_QSV) presetType = "QSVPreset"; else if (encoder == SIMPLE_ENCODER_NVENC) - presetType = "NVENCPreset"; + presetType = "NVENCPreset2"; + else if (encoder == SIMPLE_ENCODER_NVENC_AV1) + presetType = "NVENCPreset2"; #ifdef ENABLE_HEVC else if (encoder == SIMPLE_ENCODER_AMD_HEVC) presetType = "AMDPreset"; else if (encoder == SIMPLE_ENCODER_NVENC_HEVC) - presetType = "NVENCPreset"; + presetType = "NVENCPreset2"; #endif else if (encoder == SIMPLE_ENCODER_AMD) presetType = "AMDPreset"; @@ -4151,8 +4155,7 @@ uint32_t newCX; uint32_t newCY; - ConvertResText(resText, newCX, newCY); - if (newCX && newCY) { + if (ConvertResText(resText, newCX, newCY) && newCX && newCY) { outputCX = newCX; outputCY = newCY; @@ -4765,6 +4768,10 @@ ui->simpleOutRecEncoder->addItem( ENCODER_STR("Hardware.NVENC.H264"), QString(SIMPLE_ENCODER_NVENC)); + if (EncoderAvailable("jim_av1_nvenc")) + ui->simpleOutRecEncoder->addItem( + ENCODER_STR("Hardware.NVENC.AV1"), + QString(SIMPLE_ENCODER_NVENC_AV1)); #ifdef ENABLE_HEVC if (EncoderAvailable("h265_texture_amf")) ui->simpleOutRecEncoder->addItem( @@ -4824,6 +4831,8 @@ SimpleReplayBufferChanged(); } +extern const char *get_simple_output_encoder(const char *encoder); + void OBSBasicSettings::SimpleStreamingEncoderChanged() { QString encoder = ui->simpleOutStrEncoder->currentData().toString(); @@ -4844,26 +4853,19 @@ preset = curQSVPreset; } else if (encoder == SIMPLE_ENCODER_NVENC || - encoder == SIMPLE_ENCODER_NVENC_HEVC) { - const char *name = encoder == SIMPLE_ENCODER_NVENC - ? "ffmpeg_nvenc" - : "ffmpeg_hevc_nvenc"; + encoder == SIMPLE_ENCODER_NVENC_HEVC || + encoder == SIMPLE_ENCODER_NVENC_AV1) { + + const char *name = + get_simple_output_encoder(QT_TO_UTF8(encoder)); obs_properties_t *props = obs_get_encoder_properties(name); - obs_property_t *p = obs_properties_get(props, "preset"); + obs_property_t *p = obs_properties_get(props, "preset2"); size_t num = obs_property_list_item_count(p); for (size_t i = 0; i < num; i++) { const char *name = obs_property_list_item_name(p, i); const char *val = obs_property_list_item_string(p, i); - /* bluray is for ideal bluray disc recording settings, - * not streaming */ - if (strcmp(val, "bd") == 0) - continue; - /* lossless should of course not be used to stream */ - if (astrcmp_n(val, "lossless", 8) == 0) - continue; - ui->simpleOutPreset->addItem(QT_UTF8(name), val); }
View file
obs-studio-28.0.3.tar.xz/UI/window-basic-stats.cpp -> obs-studio-28.1.1.tar.xz/UI/window-basic-stats.cpp
Changed
@@ -49,7 +49,7 @@ } OBSBasicStats::OBSBasicStats(QWidget *parent, bool closeable) - : QWidget(parent), + : QFrame(parent), cpu_info(os_cpu_usage_info_start()), timer(this), recTimeLeft(this) @@ -247,13 +247,6 @@ ol.megabytesSent = new QLabel(this); ol.bitrate = new QLabel(this); - int newPointSize = ol.status->font().pointSize(); - newPointSize *= 13; - newPointSize /= 10; - QString qss = - QString("font-size: %1pt").arg(QString::number(newPointSize)); - ol.status->setStyleSheet(qss); - int col = 0; int row = outputLabels.size() + 1; outputLayout->addWidget(ol.name, row, col++);
View file
obs-studio-28.0.3.tar.xz/UI/window-basic-stats.hpp -> obs-studio-28.1.1.tar.xz/UI/window-basic-stats.hpp
Changed
@@ -12,7 +12,7 @@ class QGridLayout; class QCloseEvent; -class OBSBasicStats : public QWidget { +class OBSBasicStats : public QFrame { Q_OBJECT QLabel *fps = nullptr;
View file
obs-studio-28.0.3.tar.xz/UI/window-basic-vcam-config.cpp -> obs-studio-28.1.1.tar.xz/UI/window-basic-vcam-config.cpp
Changed
@@ -195,6 +195,9 @@ static obs_view_t *view = nullptr; static video_t *video = nullptr; +static obs_scene_t *sourceScene = nullptr; +static obs_sceneitem_t *sourceSceneItem = nullptr; + video_t *OBSBasicVCamConfig::StartVideo() { if (!view) @@ -212,6 +215,12 @@ obs_view_remove(view); obs_view_set_source(view, 0, nullptr); video = nullptr; + + if (sourceScene) { + obs_scene_release(sourceScene); + sourceScene = nullptr; + sourceSceneItem = nullptr; + } } void OBSBasicVCamConfig::DestroyView() @@ -247,7 +256,38 @@ break; case VCamOutputType::Source: - source = obs_get_source_by_name(vCamConfig->source.c_str()); + auto rawSource = + obs_get_source_by_name(vCamConfig->source.c_str()); + if (!rawSource) + break; + + // Use a scene transform to fit the source size to the canvas + if (!sourceScene) + sourceScene = obs_scene_create_private(nullptr); + source = obs_source_get_ref(obs_scene_get_source(sourceScene)); + + if (sourceSceneItem) { + if (obs_sceneitem_get_source(sourceSceneItem) != + rawSource) { + obs_sceneitem_remove(sourceSceneItem); + sourceSceneItem = nullptr; + } + } + if (!sourceSceneItem) { + sourceSceneItem = obs_scene_add(sourceScene, rawSource); + obs_source_release(rawSource); + + obs_sceneitem_set_bounds_type(sourceSceneItem, + OBS_BOUNDS_SCALE_INNER); + obs_sceneitem_set_bounds_alignment(sourceSceneItem, + OBS_ALIGN_CENTER); + + const struct vec2 size = { + (float)obs_source_get_width(source), + (float)obs_source_get_height(source), + }; + obs_sceneitem_set_bounds(sourceSceneItem, &size); + } break; }
View file
obs-studio-28.0.3.tar.xz/UI/window-projector.cpp -> obs-studio-28.1.1.tar.xz/UI/window-projector.cpp
Changed
@@ -262,8 +262,8 @@ this, SLOT(ResizeToContent())); } - QAction *alwaysOnTopButton = - new QAction(QTStr("Basic.MainMenu.AlwaysOnTop"), this); + QAction *alwaysOnTopButton = new QAction( + QTStr("Basic.MainMenu.View.AlwaysOnTop"), this); alwaysOnTopButton->setCheckable(true); alwaysOnTopButton->setChecked(isAlwaysOnTop);
View file
obs-studio-28.0.3.tar.xz/deps/obs-scripting/obs-scripting-lua.c -> obs-studio-28.1.1.tar.xz/deps/obs-scripting/obs-scripting-lua.c
Changed
@@ -644,6 +644,17 @@ return 1; } +static int sceneitem_group_enum_items(lua_State *script) +{ + obs_sceneitem_t *sceneitem; + if (!ls_get_libobs_obj(obs_sceneitem_t, 1, &sceneitem)) + return 0; + + lua_newtable(script); + obs_sceneitem_group_enum_items(sceneitem, enum_items_proc, script); + return 1; +} + /* -------------------------------------------- */ static void defer_hotkey_unregister(void *p_cb) @@ -1014,6 +1025,7 @@ add_func("obs_enum_sources", enum_sources); add_func("obs_source_enum_filters", source_enum_filters); add_func("obs_scene_enum_items", scene_enum_items); + add_func("obs_sceneitem_group_enum_items", sceneitem_group_enum_items); add_func("source_list_release", source_list_release); add_func("sceneitem_list_release", sceneitem_list_release); add_func("calldata_source", calldata_source);
View file
obs-studio-28.0.3.tar.xz/deps/obs-scripting/obs-scripting-python.c -> obs-studio-28.1.1.tar.xz/deps/obs-scripting/obs-scripting-python.c
Changed
@@ -1108,6 +1108,23 @@ return list; } +static PyObject *sceneitem_group_enum_items(PyObject *self, PyObject *args) +{ + PyObject *py_sceneitem; + obs_sceneitem_t *sceneitem; + + UNUSED_PARAMETER(self); + + if (!parse_args(args, "O", &py_sceneitem)) + return python_none(); + if (!py_to_libobs(obs_sceneitem_t, py_sceneitem, &sceneitem)) + return python_none(); + + PyObject *list = PyList_New(0); + obs_sceneitem_group_enum_items(sceneitem, enum_items_proc, list); + return list; +} + /* -------------------------------------------- */ static PyObject *source_list_release(PyObject *self, PyObject *args) @@ -1235,6 +1252,8 @@ DEF_FUNC("sceneitem_list_release", sceneitem_list_release), DEF_FUNC("obs_enum_sources", enum_sources), DEF_FUNC("obs_scene_enum_items", scene_enum_items), + DEF_FUNC("obs_sceneitem_group_enum_items", + sceneitem_group_enum_items), DEF_FUNC("obs_remove_tick_callback", obs_python_remove_tick_callback), DEF_FUNC("obs_add_tick_callback", obs_python_add_tick_callback), @@ -1514,6 +1533,12 @@ static void python_tick(void *param, float seconds) { struct obs_python_script *data; + /* When loading a new Python script, the GIL might be released while + * importing the module, allowing the tick to run and change and reset + * the cur_python_script state variable. Use the busy_script variable + * to save and restore the value if not null. + */ + struct obs_python_script *busy_script; bool valid; uint64_t ts = obs_get_video_frame_time(); @@ -1531,6 +1556,10 @@ pthread_mutex_lock(&tick_mutex); data = first_tick_script; + + if (cur_python_script) + busy_script = cur_python_script; + while (data) { cur_python_script = data; @@ -1543,6 +1572,10 @@ } cur_python_script = NULL; + if (busy_script) { + cur_python_script = busy_script; + busy_script = NULL; + } pthread_mutex_unlock(&tick_mutex);
View file
obs-studio-28.0.3.tar.xz/deps/obs-scripting/obspython/obspython.i -> obs-studio-28.1.1.tar.xz/deps/obs-scripting/obspython/obspython.i
Changed
@@ -41,6 +41,9 @@ %} +%feature("python:annotations", "c"); +%feature("autodoc", "2"); + #define DEPRECATED_START #define DEPRECATED_END #define OBS_DEPRECATED
View file
obs-studio-28.0.3.tar.xz/docs/sphinx/conf.py -> obs-studio-28.1.1.tar.xz/docs/sphinx/conf.py
Changed
@@ -35,10 +35,10 @@ "sphinx.ext.autodoc", "sphinx.ext.coverage", "sphinx.ext.viewcode", + "sphinx.ext.napoleon", "sphinx_rtd_theme", - "sphinxcontrib.napoleon", "sphinx.ext.autosectionlabel", - "sphinx.ext.extlinks" + "sphinx.ext.extlinks", # Add any paths that contain templates here, relative to this directory.
View file
obs-studio-28.0.3.tar.xz/docs/sphinx/reference-core.rst -> obs-studio-28.1.1.tar.xz/docs/sphinx/reference-core.rst
Changed
@@ -278,6 +278,8 @@ :c:func:`obs_source_get_weak_source()` if you want to retain a reference after obs_enum_sources finishes. + For scripting, use :py:func:`obs_enum_sources`. + --------------------- .. function:: void obs_enum_scenes(bool (*enum_proc)(void*, obs_source_t*), void *param) @@ -522,6 +524,9 @@ Adds/removes a main rendering callback. Allows custom rendering to the main stream/recording output. + For scripting (**Lua only**), use :py:func:`obs_add_main_render_callback` + and :py:func:`obs_remove_main_render_callback`. + --------------------- .. function:: void obs_add_raw_video_callback(const struct video_scale_info *conversion, void (*callback)(void *param, struct video_data *frame), void *param)
View file
obs-studio-28.0.3.tar.xz/docs/sphinx/reference-libobs-callback.rst -> obs-studio-28.1.1.tar.xz/docs/sphinx/reference-libobs-callback.rst
Changed
@@ -194,6 +194,8 @@ :param callback: Signal callback :param data: Private data passed the callback + For scripting, use :py:func:`signal_handler_connect`. + --------------------- .. function:: void signal_handler_connect_ref(signal_handler_t *handler, const char *signal, signal_callback_t callback, void *data) @@ -216,6 +218,8 @@ :param callback: Signal callback :param data: Private data passed the callback + For scripting, use :py:func:`signal_handler_disconnect`. + --------------------- .. function:: void signal_handler_signal(signal_handler_t *handler, const char *signal, calldata_t *params)
View file
obs-studio-28.0.3.tar.xz/docs/sphinx/reference-properties.rst -> obs-studio-28.1.1.tar.xz/docs/sphinx/reference-properties.rst
Changed
@@ -253,6 +253,8 @@ - :c:func:`obs_property_button_set_type` - :c:func:`obs_property_button_set_url` + For scripting, use :py:func:`obs_properties_add_button`. + Relevant data types used with this function: .. code:: cpp
View file
obs-studio-28.0.3.tar.xz/docs/sphinx/reference-scenes.rst -> obs-studio-28.1.1.tar.xz/docs/sphinx/reference-scenes.rst
Changed
@@ -266,6 +266,8 @@ Enumerates scene items within a scene. + For scripting, use :py:func:`obs_scene_enum_items`. + --------------------- .. function:: bool obs_scene_reorder_items(obs_scene_t *scene, obs_sceneitem_t * const *item_order, size_t item_order_size)
View file
obs-studio-28.0.3.tar.xz/docs/sphinx/requirements.txt -> obs-studio-28.1.1.tar.xz/docs/sphinx/requirements.txt
Changed
@@ -1,2 +1,2 @@ +sphinx>=1.3 sphinx_rtd_theme>=0.5.2 -sphinxcontrib-napoleon>=0.7 \ No newline at end of file
View file
obs-studio-28.0.3.tar.xz/docs/sphinx/scripting.rst -> obs-studio-28.1.1.tar.xz/docs/sphinx/scripting.rst
Changed
@@ -197,6 +197,14 @@ :return: List of scene items. Release with :py:func:`sceneitem_list_release()`. +.. py:function:: obs_sceneitem_group_enum_items(group) + + Enumerates scene items within a group. + + :param group: obs_sceneitem_t object to enumerate items from. + :return: List of scene items. Release with + :py:func:`sceneitem_list_release()`. + .. py:function:: obs_add_main_render_callback(callback) **Lua only:** Adds a primary output render callback. This callback
View file
obs-studio-28.0.3.tar.xz/libobs/data/color.effect -> obs-studio-28.1.1.tar.xz/libobs/data/color.effect
Changed
@@ -20,17 +20,17 @@ float3 rec709_to_rec2020(float3 v) { - float r = dot(v, float3(0.62740389593469914, 0.32928303837788397, 0.043313065687417190)); - float g = dot(v, float3(0.069097289358232047, 0.91954039507545904, 0.011362315566309173)); - float b = dot(v, float3(0.016391438875150235, 0.088013307877225860, 0.89559525324762468)); + float r = dot(v, float3(0.62740389593469903, 0.32928303837788370, 0.043313065687417225)); + float g = dot(v, float3(0.069097289358232075, 0.91954039507545871, 0.011362315566309178)); + float b = dot(v, float3(0.016391438875150280, 0.088013307877225749, 0.89559525324762401)); return float3(r, g, b); } float3 rec2020_to_rec709(float3 v) { - float r = dot(v, float3(1.6604910021084343, -0.58764113878854973, -0.072849863319884745)); - float g = dot(v, float3(-0.12455047452159063, 1.1328998971259603, -0.0083494226043695080)); - float b = dot(v, float3(-0.018150763354905199, -0.10057889800800746, 1.1187296613629123)); + float r = dot(v, float3(1.6604910021084345, -0.58764113878854951, -0.072849863319884883)); + float g = dot(v, float3(-0.12455047452159074, 1.1328998971259603, -0.0083494226043694768)); + float b = dot(v, float3(-0.018150763354905303, -0.10057889800800739, 1.1187296613629127)); return float3(r, g, b); }
View file
obs-studio-28.0.3.tar.xz/libobs/data/format_conversion.effect -> obs-studio-28.1.1.tar.xz/libobs/data/format_conversion.effect
Changed
@@ -24,6 +24,7 @@ uniform float width_d2; uniform float height_d2; uniform float width_x2_i; +uniform float height_x2_i; uniform float maximum_over_sdr_white_nits; uniform float sdr_white_nits_over_maximum; uniform float hlg_exponent; @@ -56,8 +57,8 @@ float4 pos : POSITION; }; -struct VertPosWide { - float3 pos_wide : TEXCOORD0; +struct VertTexTexPos { + float4 uvuv : TEXCOORD0; float4 pos : POSITION; }; @@ -75,8 +76,8 @@ float2 uv : TEXCOORD0; }; -struct FragPosWide { - float3 pos_wide : TEXCOORD0; +struct FragTexTex { + float4 uvuv : TEXCOORD0; }; struct FragTexWide { @@ -144,41 +145,61 @@ return vert_out; } -VertTexPos VSTexPosHalf_Reverse(uint id : VERTEXID) +VertTexTexPos VSPacked422Left_Reverse(uint id : VERTEXID) { float idHigh = float(id >> 1); float idLow = float(id & uint(1)); - float x = idHigh * 4.0 - 1.0; - float y = idLow * 4.0 - 1.0; + float x = idHigh * 4. - 1.; + float y = idLow * 4. - 1.; - float u = idHigh * 2.0; - float v = obs_glsl_compile ? (idLow * 2.0) : (1.0 - idLow * 2.0); + float u = idHigh * 2. + width_x2_i; + float v = idLow * 2.; + v = obs_glsl_compile ? v : (1. - v); + + VertTexTexPos vert_out; + vert_out.uvuv = float4(width_d2 * u, height * v, u, v); + vert_out.pos = float4(x, y, 0., 1.); + return vert_out; +} + +VertTexPos VS420Left_Reverse(uint id : VERTEXID) +{ + float idHigh = float(id >> 1); + float idLow = float(id & uint(1)); + + float x = idHigh * 4. - 1.; + float y = idLow * 4. - 1.; + + float u = idHigh * 2. + width_x2_i; + float v = idLow * 2.; + v = obs_glsl_compile ? v : (1. - v); VertTexPos vert_out; - vert_out.uv = float2(width_d2 * u, height * v); - vert_out.pos = float4(x, y, 0.0, 1.0); + vert_out.uv = float2(u, v); + vert_out.pos = float4(x, y, 0., 1.); return vert_out; } -VertTexPos VSTexPosHalfHalf_Reverse(uint id : VERTEXID) +VertTexPos VS420TopLeft_Reverse(uint id : VERTEXID) { float idHigh = float(id >> 1); float idLow = float(id & uint(1)); - float x = idHigh * 4.0 - 1.0; - float y = idLow * 4.0 - 1.0; + float x = idHigh * 4. - 1.; + float y = idLow * 4. - 1.; - float u = idHigh * 2.0; - float v = obs_glsl_compile ? (idLow * 2.0) : (1.0 - idLow * 2.0); + float u = idHigh * 2. + width_x2_i; + float v = idLow * 2. - height_x2_i; + v = obs_glsl_compile ? v : (1. - v); VertTexPos vert_out; - vert_out.uv = float2(width_d2 * u, height_d2 * v); - vert_out.pos = float4(x, y, 0.0, 1.0); + vert_out.uv = float2(u, v); + vert_out.pos = float4(x, y, 0., 1.); return vert_out; } -VertPosWide VSPosWide_Reverse(uint id : VERTEXID) +VertTexPos VS422Left_Reverse(uint id : VERTEXID) { float idHigh = float(id >> 1); float idLow = float(id & uint(1)); @@ -186,11 +207,11 @@ float x = idHigh * 4.0 - 1.0; float y = idLow * 4.0 - 1.0; - float u = idHigh * 2.0; + float u = idHigh * 2.0 + width_x2_i; float v = obs_glsl_compile ? (idLow * 2.0) : (1.0 - idLow * 2.0); - VertPosWide vert_out; - vert_out.pos_wide = float3(float2(width, width_d2) * u, height * v); + VertTexPos vert_out; + vert_out.uv = float2(u, v); vert_out.pos = float4(x, y, 0.0, 1.0); return vert_out; } @@ -425,36 +446,33 @@ return float3(r, g, b); } -float3 PSUYVY_Reverse(FragTex frag_in) : TARGET +float3 PSUYVY_Reverse(FragTexTex frag_in) : TARGET { - float4 y2uv = image.Load(int3(frag_in.uv.xy, 0)); - float2 y01 = y2uv.yw; - float2 cbcr = y2uv.zx; - float leftover = frac(frag_in.uv.x); + float2 y01 = image.Load(int3(frag_in.uvuv.xy, 0)).yw; + float2 cbcr = image.Sample(def_sampler, frag_in.uvuv.zw, 0).zx; + float leftover = frac(frag_in.uvuv.x); float y = (leftover < 0.5) ? y01.x : y01.y; float3 yuv = float3(y, cbcr); float3 rgb = YUV_to_RGB(yuv); return rgb; } -float3 PSYUY2_Reverse(FragTex frag_in) : TARGET +float3 PSYUY2_Reverse(FragTexTex frag_in) : TARGET { - float4 y2uv = image.Load(int3(frag_in.uv.xy, 0)); - float2 y01 = y2uv.zx; - float2 cbcr = y2uv.yw; - float leftover = frac(frag_in.uv.x); + float2 y01 = image.Load(int3(frag_in.uvuv.xy, 0)).zx; + float2 cbcr = image.Sample(def_sampler, frag_in.uvuv.zw, 0).yw; + float leftover = frac(frag_in.uvuv.x); float y = (leftover < 0.5) ? y01.x : y01.y; float3 yuv = float3(y, cbcr); float3 rgb = YUV_to_RGB(yuv); return rgb; } -float4 PSYUY2_PQ_Reverse(FragTex frag_in) : TARGET +float4 PSYUY2_PQ_Reverse(FragTexTex frag_in) : TARGET { - float4 y2uv = image.Load(int3(frag_in.uv.xy, 0)); - float2 y01 = y2uv.zx; - float2 cbcr = y2uv.yw; - float leftover = frac(frag_in.uv.x); + float2 y01 = image.Load(int3(frag_in.uvuv.xy, 0)).zx; + float2 cbcr = image.Sample(def_sampler, frag_in.uvuv.zw, 0).yw; + float leftover = frac(frag_in.uvuv.x); float y = (leftover < 0.5) ? y01.x : y01.y; float3 yuv = float3(y, cbcr); float3 pq = YUV_to_RGB(yuv); @@ -463,12 +481,11 @@ return float4(rgb, 1.); } -float4 PSYUY2_HLG_Reverse(FragTex frag_in) : TARGET +float4 PSYUY2_HLG_Reverse(FragTexTex frag_in) : TARGET { - float4 y2uv = image.Load(int3(frag_in.uv.xy, 0)); - float2 y01 = y2uv.zx; - float2 cbcr = y2uv.yw; - float leftover = frac(frag_in.uv.x); + float2 y01 = image.Load(int3(frag_in.uvuv.xy, 0)).zx; + float2 cbcr = image.Sample(def_sampler, frag_in.uvuv.zw, 0).yw; + float leftover = frac(frag_in.uvuv.x); float y = (leftover < 0.5) ? y01.x : y01.y; float3 yuv = float3(y, cbcr); float3 hlg = YUV_to_RGB(yuv); @@ -477,12 +494,11 @@ return float4(rgb, 1.); } -float3 PSYVYU_Reverse(FragTex frag_in) : TARGET +float3 PSYVYU_Reverse(FragTexTex frag_in) : TARGET { - float4 y2uv = image.Load(int3(frag_in.uv.xy, 0)); - float2 y01 = y2uv.zx; - float2 cbcr = y2uv.wy; - float leftover = frac(frag_in.uv.x); + float2 y01 = image.Load(int3(frag_in.uvuv.xy, 0)).zx; + float2 cbcr = image.Sample(def_sampler, frag_in.uvuv.zw, 0).wy; + float leftover = frac(frag_in.uvuv.x); float y = (leftover < 0.5) ? y01.x : y01.y; float3 yuv = float3(y, cbcr); float3 rgb = YUV_to_RGB(yuv); @@ -492,9 +508,8 @@ float3 PSPlanar420_Reverse(VertTexPos frag_in) : TARGET { float y = image.Load(int3(frag_in.pos.xy, 0)).x; - int3 xy0_chroma = int3(frag_in.uv, 0); - float cb = image1.Load(xy0_chroma).x; - float cr = image2.Load(xy0_chroma).x; + float cb = image1.Sample(def_sampler, frag_in.uv).x; + float cr = image2.Sample(def_sampler, frag_in.uv).x; float3 yuv = float3(y, cb, cr); float3 rgb = YUV_to_RGB(yuv); return rgb; @@ -503,9 +518,8 @@ float4 PSPlanar420_PQ_Reverse(VertTexPos frag_in) : TARGET { float y = image.Load(int3(frag_in.pos.xy, 0)).x; - int3 xy0_chroma = int3(frag_in.uv, 0); - float cb = image1.Load(xy0_chroma).x; - float cr = image2.Load(xy0_chroma).x; + float cb = image1.Sample(def_sampler, frag_in.uv).x; + float cr = image2.Sample(def_sampler, frag_in.uv).x; float3 yuv = float3(y, cb, cr); float3 pq = YUV_to_RGB(yuv); float3 hdr2020 = st2084_to_linear_eetf(pq, hdr_lw, hdr_lmax) * maximum_over_sdr_white_nits; @@ -516,9 +530,8 @@ float4 PSPlanar420_HLG_Reverse(VertTexPos frag_in) : TARGET { float y = image.Load(int3(frag_in.pos.xy, 0)).x; - int3 xy0_chroma = int3(frag_in.uv, 0); - float cb = image1.Load(xy0_chroma).x; - float cr = image2.Load(xy0_chroma).x; + float cb = image1.Sample(def_sampler, frag_in.uv).x; + float cr = image2.Sample(def_sampler, frag_in.uv).x; float3 yuv = float3(y, cb, cr); float3 hlg = YUV_to_RGB(yuv); float3 hdr2020 = hlg_to_linear(hlg, hlg_exponent) * maximum_over_sdr_white_nits; @@ -530,32 +543,29 @@ { int3 xy0_luma = int3(frag_in.pos.xy, 0); float y = image.Load(xy0_luma).x; - int3 xy0_chroma = int3(frag_in.uv, 0); - float cb = image1.Load(xy0_chroma).x; - float cr = image2.Load(xy0_chroma).x; float alpha = image3.Load(xy0_luma).x; + float cb = image1.Sample(def_sampler, frag_in.uv).x; + float cr = image2.Sample(def_sampler, frag_in.uv).x; float3 yuv = float3(y, cb, cr); float4 rgba = float4(YUV_to_RGB(yuv), alpha); return rgba; } -float3 PSPlanar422_Reverse(FragPosWide frag_in) : TARGET +float3 PSPlanar422_Reverse(VertTexPos frag_in) : TARGET { - float y = image.Load(int3(frag_in.pos_wide.xz, 0)).x; - int3 xy0_chroma = int3(frag_in.pos_wide.yz, 0); - float cb = image1.Load(xy0_chroma).x; - float cr = image2.Load(xy0_chroma).x; + float y = image.Load(int3(frag_in.pos.xy, 0)).x; + float cb = image1.Sample(def_sampler, frag_in.uv).x; + float cr = image2.Sample(def_sampler, frag_in.uv).x; float3 yuv = float3(y, cb, cr); float3 rgb = YUV_to_RGB(yuv); return rgb; } -float4 PSPlanar422_10LE_Reverse(FragPosWide frag_in) : TARGET +float4 PSPlanar422_10LE_Reverse(VertTexPos frag_in) : TARGET { - float y = image.Load(int3(frag_in.pos_wide.xz, 0)).x; - int3 xy0_chroma = int3(frag_in.pos_wide.yz, 0); - float cb = image1.Load(xy0_chroma).x; - float cr = image2.Load(xy0_chroma).x; + float y = image.Load(int3(frag_in.pos.xy, 0)).x; + float cb = image1.Sample(def_sampler, frag_in.uv).x; + float cr = image2.Sample(def_sampler, frag_in.uv).x; float3 yuv = float3(y, cb, cr); yuv *= 65535. / 1023.; float3 rgb = YUV_to_RGB(yuv); @@ -563,14 +573,13 @@ return float4(rgb, 1.); } -float4 PSPlanar422A_Reverse(FragPosWide frag_in) : TARGET +float4 PSPlanar422A_Reverse(VertTexPos frag_in) : TARGET { - int3 xy0_luma = int3(frag_in.pos_wide.xz, 0); + int3 xy0_luma = int3(frag_in.pos.xy, 0); float y = image.Load(xy0_luma).x; - int3 xy0_chroma = int3(frag_in.pos_wide.yz, 0); - float cb = image1.Load(xy0_chroma).x; - float cr = image2.Load(xy0_chroma).x; float alpha = image3.Load(xy0_luma).x; + float cb = image1.Sample(def_sampler, frag_in.uv).x; + float cr = image2.Sample(def_sampler, frag_in.uv).x; float3 yuv = float3(y, cb, cr); float4 rgba = float4(YUV_to_RGB(yuv), alpha); return rgba; @@ -636,7 +645,7 @@ float3 PSNV12_Reverse(VertTexPos frag_in) : TARGET { float y = image.Load(int3(frag_in.pos.xy, 0)).x; - float2 cbcr = image1.Load(int3(frag_in.uv, 0)).xy; + float2 cbcr = image1.Sample(def_sampler, frag_in.uv).xy; float3 yuv = float3(y, cbcr); float3 rgb = YUV_to_RGB(yuv); return rgb; @@ -645,7 +654,7 @@ float4 PSNV12_PQ_Reverse(VertTexPos frag_in) : TARGET { float y = image.Load(int3(frag_in.pos.xy, 0)).x; - float2 cbcr = image1.Load(int3(frag_in.uv, 0)).xy; + float2 cbcr = image1.Sample(def_sampler, frag_in.uv).xy; float3 yuv = float3(y, cbcr); float3 pq = YUV_to_RGB(yuv); float3 hdr2020 = st2084_to_linear_eetf(pq, hdr_lw, hdr_lmax) * maximum_over_sdr_white_nits; @@ -656,7 +665,7 @@ float4 PSNV12_HLG_Reverse(VertTexPos frag_in) : TARGET { float y = image.Load(int3(frag_in.pos.xy, 0)).x; - float2 cbcr = image1.Load(int3(frag_in.uv, 0)).xy; + float2 cbcr = image1.Sample(def_sampler, frag_in.uv).xy; float3 yuv = float3(y, cbcr); float3 hlg = YUV_to_RGB(yuv); float3 hdr2020 = hlg_to_linear(hlg, hlg_exponent) * maximum_over_sdr_white_nits; @@ -668,9 +677,8 @@ { float ratio = 65535. / 1023.; float y = image.Load(int3(frag_in.pos.xy, 0)).x * ratio; - int3 xy0_chroma = int3(frag_in.uv, 0); - float cb = image1.Load(xy0_chroma).x * ratio; - float cr = image2.Load(xy0_chroma).x * ratio; + float cb = image1.Sample(def_sampler, frag_in.uv).x * ratio; + float cr = image2.Sample(def_sampler, frag_in.uv).x * ratio; float3 yuv = float3(y, cb, cr); float3 rgb = YUV_to_RGB(yuv); rgb = srgb_nonlinear_to_linear(rgb); @@ -681,9 +689,8 @@ { float ratio = 65535. / 1023.; float y = image.Load(int3(frag_in.pos.xy, 0)).x * ratio; - int3 xy0_chroma = int3(frag_in.uv, 0); - float cb = image1.Load(xy0_chroma).x * ratio; - float cr = image2.Load(xy0_chroma).x * ratio; + float cb = image1.Sample(def_sampler, frag_in.uv).x * ratio; + float cr = image2.Sample(def_sampler, frag_in.uv).x * ratio; float3 yuv = float3(y, cb, cr); float3 pq = YUV_to_RGB(yuv); float3 hdr2020 = st2084_to_linear_eetf(pq, hdr_lw, hdr_lmax) * maximum_over_sdr_white_nits; @@ -695,9 +702,8 @@ { float ratio = 65535. / 1023.; float y = image.Load(int3(frag_in.pos.xy, 0)).x * ratio; - int3 xy0_chroma = int3(frag_in.uv, 0); - float cb = image1.Load(xy0_chroma).x * ratio; - float cr = image2.Load(xy0_chroma).x * ratio; + float cb = image1.Sample(def_sampler, frag_in.uv).x * ratio; + float cr = image2.Sample(def_sampler, frag_in.uv).x * ratio; float3 yuv = float3(y, cb, cr); float3 hlg = YUV_to_RGB(yuv); float3 hdr2020 = hlg_to_linear(hlg, hlg_exponent) * maximum_over_sdr_white_nits; @@ -708,7 +714,7 @@ float4 PSP010_SRGB_Reverse(VertTexPos frag_in) : TARGET { float y = image.Load(int3(frag_in.pos.xy, 0)).x; - float2 cbcr = image1.Load(int3(frag_in.uv, 0)).xy; + float2 cbcr = image1.Sample(def_sampler, frag_in.uv).xy; float3 yuv_65535 = floor(float3(y, cbcr) * 65535. + 0.5); float3 yuv_1023 = floor(yuv_65535 * 0.015625); float3 yuv = yuv_1023 / 1023.; @@ -720,7 +726,7 @@ float4 PSP010_PQ_2020_709_Reverse(VertTexPos frag_in) : TARGET { float y = image.Load(int3(frag_in.pos.xy, 0)).x; - float2 cbcr = image1.Load(int3(frag_in.uv, 0)).xy; + float2 cbcr = image1.Sample(def_sampler, frag_in.uv).xy; float3 yuv_65535 = floor(float3(y, cbcr) * 65535. + 0.5); float3 yuv_1023 = floor(yuv_65535 * 0.015625); float3 yuv = yuv_1023 / 1023.; @@ -733,7 +739,7 @@ float4 PSP010_HLG_2020_709_Reverse(VertTexPos frag_in) : TARGET { float y = image.Load(int3(frag_in.pos.xy, 0)).x; - float2 cbcr = image1.Load(int3(frag_in.uv, 0)).xy; + float2 cbcr = image1.Sample(def_sampler, frag_in.uv).xy; float3 yuv_65535 = floor(float3(y, cbcr) * 65535. + 0.5); float3 yuv_1023 = floor(yuv_65535 * 0.015625); float3 yuv = yuv_1023 / 1023.; @@ -988,7 +994,7 @@ { pass { - vertex_shader = VSTexPosHalf_Reverse(id); + vertex_shader = VSPacked422Left_Reverse(id); pixel_shader = PSUYVY_Reverse(frag_in); } } @@ -997,7 +1003,7 @@ { pass { - vertex_shader = VSTexPosHalf_Reverse(id); + vertex_shader = VSPacked422Left_Reverse(id); pixel_shader = PSYUY2_Reverse(frag_in); } } @@ -1006,7 +1012,7 @@ { pass { - vertex_shader = VSTexPosHalf_Reverse(id); + vertex_shader = VSPacked422Left_Reverse(id); pixel_shader = PSYUY2_PQ_Reverse(frag_in); } } @@ -1015,7 +1021,7 @@ { pass { - vertex_shader = VSTexPosHalf_Reverse(id); + vertex_shader = VSPacked422Left_Reverse(id); pixel_shader = PSYUY2_HLG_Reverse(frag_in); } } @@ -1024,7 +1030,7 @@ { pass { - vertex_shader = VSTexPosHalf_Reverse(id); + vertex_shader = VSPacked422Left_Reverse(id); pixel_shader = PSYVYU_Reverse(frag_in); } } @@ -1033,7 +1039,7 @@ { pass { - vertex_shader = VSTexPosHalfHalf_Reverse(id); + vertex_shader = VS420Left_Reverse(id); pixel_shader = PSPlanar420_Reverse(frag_in); } } @@ -1042,7 +1048,7 @@ { pass { - vertex_shader = VSTexPosHalfHalf_Reverse(id); + vertex_shader = VS420TopLeft_Reverse(id); pixel_shader = PSPlanar420_PQ_Reverse(frag_in); } } @@ -1051,7 +1057,7 @@ { pass { - vertex_shader = VSTexPosHalfHalf_Reverse(id); + vertex_shader = VS420TopLeft_Reverse(id); pixel_shader = PSPlanar420_HLG_Reverse(frag_in); } } @@ -1060,7 +1066,7 @@ { pass { - vertex_shader = VSTexPosHalfHalf_Reverse(id); + vertex_shader = VS420Left_Reverse(id); pixel_shader = PSPlanar420A_Reverse(frag_in); } } @@ -1069,7 +1075,7 @@ { pass { - vertex_shader = VSPosWide_Reverse(id); + vertex_shader = VS422Left_Reverse(id); pixel_shader = PSPlanar422_Reverse(frag_in); } } @@ -1078,7 +1084,7 @@ { pass { - vertex_shader = VSPosWide_Reverse(id); + vertex_shader = VS422Left_Reverse(id); pixel_shader = PSPlanar422_10LE_Reverse(frag_in); } } @@ -1087,7 +1093,7 @@ { pass { - vertex_shader = VSPosWide_Reverse(id); + vertex_shader = VS422Left_Reverse(id); pixel_shader = PSPlanar422A_Reverse(frag_in); } } @@ -1141,7 +1147,7 @@ { pass { - vertex_shader = VSTexPosHalfHalf_Reverse(id); + vertex_shader = VS420Left_Reverse(id); pixel_shader = PSNV12_Reverse(frag_in); } } @@ -1150,7 +1156,7 @@ { pass { - vertex_shader = VSTexPosHalfHalf_Reverse(id); + vertex_shader = VS420TopLeft_Reverse(id); pixel_shader = PSNV12_PQ_Reverse(frag_in); } } @@ -1159,7 +1165,7 @@ { pass { - vertex_shader = VSTexPosHalfHalf_Reverse(id); + vertex_shader = VS420TopLeft_Reverse(id); pixel_shader = PSNV12_HLG_Reverse(frag_in); } } @@ -1168,7 +1174,7 @@ { pass { - vertex_shader = VSTexPosHalfHalf_Reverse(id); + vertex_shader = VS420Left_Reverse(id); pixel_shader = PSI010_SRGB_Reverse(frag_in); } } @@ -1177,7 +1183,7 @@ { pass { - vertex_shader = VSTexPosHalfHalf_Reverse(id); + vertex_shader = VS420TopLeft_Reverse(id); pixel_shader = PSI010_PQ_2020_709_Reverse(frag_in); } } @@ -1186,7 +1192,7 @@ { pass { - vertex_shader = VSTexPosHalfHalf_Reverse(id); + vertex_shader = VS420TopLeft_Reverse(id); pixel_shader = PSI010_HLG_2020_709_Reverse(frag_in); } } @@ -1195,7 +1201,7 @@ { pass { - vertex_shader = VSTexPosHalfHalf_Reverse(id); + vertex_shader = VS420Left_Reverse(id); pixel_shader = PSP010_SRGB_Reverse(frag_in); } } @@ -1204,7 +1210,7 @@ { pass { - vertex_shader = VSTexPosHalfHalf_Reverse(id); + vertex_shader = VS420TopLeft_Reverse(id); pixel_shader = PSP010_PQ_2020_709_Reverse(frag_in); } } @@ -1213,7 +1219,7 @@ { pass { - vertex_shader = VSTexPosHalfHalf_Reverse(id); + vertex_shader = VS420TopLeft_Reverse(id); pixel_shader = PSP010_HLG_2020_709_Reverse(frag_in); } }
View file
obs-studio-28.0.3.tar.xz/libobs/graphics/graphics-ffmpeg.c -> obs-studio-28.1.1.tar.xz/libobs/graphics/graphics-ffmpeg.c
Changed
@@ -678,15 +678,15 @@ const float red2020 = pq_to_linear(red); const float green2020 = pq_to_linear(green); const float blue2020 = pq_to_linear(blue); - const float red709 = 1.6604910f * red2020 - - 0.5876411f * green2020 - - 0.0728499f * blue2020; - const float green709 = -0.1245505f * red2020 + - 1.1328999f * green2020 - - 0.0083494f * blue2020; - const float blue709 = -0.0181508f * red2020 - - 0.1005789f * green2020 + - 1.1187297f * blue2020; + const float red709 = 1.6604910021084345f * red2020 - + 0.58764113878854951f * green2020 - + 0.072849863319884883f * blue2020; + const float green709 = -0.12455047452159074f * red2020 + + 1.1328998971259603f * green2020 - + 0.0083494226043694768f * blue2020; + const float blue709 = -0.018150763354905303f * red2020 - + 0.10057889800800739f * green2020 + + 1.1187296613629127f * blue2020; rgba160 = half_from_float(red709 * 125.f); rgba161 = half_from_float(green709 * 125.f); rgba162 = half_from_float(blue709 * 125.f);
View file
obs-studio-28.0.3.tar.xz/libobs/obs-config.h -> obs-studio-28.1.1.tar.xz/libobs/obs-config.h
Changed
@@ -34,14 +34,14 @@ * * Reset to zero each major version */ -#define LIBOBS_API_MINOR_VER 0 +#define LIBOBS_API_MINOR_VER 1 /* * Increment if backward-compatible bug fix * * Reset to zero each major or minor version */ -#define LIBOBS_API_PATCH_VER 3 +#define LIBOBS_API_PATCH_VER 1 #define MAKE_SEMANTIC_VERSION(major, minor, patch) \ ((major << 24) | (minor << 16) | patch)
View file
obs-studio-28.0.3.tar.xz/libobs/obs-scene.c -> obs-studio-28.1.1.tar.xz/libobs/obs-scene.c
Changed
@@ -1642,6 +1642,7 @@ dst->last_height = src->last_height; dst->output_scale = src->output_scale; dst->scale_filter = src->scale_filter; + dst->blend_method = src->blend_method; dst->blend_type = src->blend_type; dst->box_transform = src->box_transform; dst->box_scale = src->box_scale;
View file
obs-studio-28.0.3.tar.xz/libobs/obs-source.c -> obs-studio-28.1.1.tar.xz/libobs/obs-source.c
Changed
@@ -2249,6 +2249,7 @@ set_eparam(conv, "width_d2", (float)cx * 0.5f); set_eparam(conv, "height_d2", (float)cy * 0.5f); set_eparam(conv, "width_x2_i", 0.5f / (float)cx); + set_eparam(conv, "height_x2_i", 0.5f / (float)cy); /* BT.2408 says higher than 1000 isn't comfortable */ float hlg_peak_level = obs->video.hdr_nominal_peak_level; @@ -2456,7 +2457,7 @@ const char *tech_name = "Draw"; float multiplier = 1.0; const enum gs_color_space current_space = gs_get_color_space(); - const bool linear_srgb = gs_get_linear_srgb(); + bool linear_srgb = gs_get_linear_srgb(); bool nonlinear_alpha = false; switch (source_space) { case GS_CS_SRGB: @@ -2491,6 +2492,7 @@ case GS_CS_SRGB: case GS_CS_SRGB_16F: tech_name = "DrawTonemap"; + linear_srgb = true; break; case GS_CS_709_SCRGB: tech_name = "DrawMultiply"; @@ -2505,6 +2507,7 @@ tech_name = "DrawMultiplyTonemap"; multiplier = 80.0f / obs_get_video_sdr_white_level(); + linear_srgb = true; break; case GS_CS_709_EXTENDED: tech_name = "DrawMultiply";
View file
obs-studio-28.0.3.tar.xz/libobs/obs-video.c -> obs-studio-28.1.1.tar.xz/libobs/obs-video.c
Changed
@@ -230,7 +230,7 @@ gs_effect_t *effect = get_scale_effect(mix, width, height); gs_technique_t *tech; - if (video_output_get_format(mix->video) == VIDEO_FORMAT_RGBA) { + if (video_output_get_format(mix->video) == VIDEO_FORMAT_BGRA) { tech = gs_effect_get_technique(effect, "DrawAlphaDivide"); } else { if ((width == video->base_width) && @@ -1044,7 +1044,9 @@ static inline void update_active_state(struct obs_core_video_mix *video) { const bool raw_was_active = video->raw_was_active; +#ifdef _WIN32 const bool gpu_was_active = video->gpu_was_active; +#endif const bool was_active = video->was_active; bool raw_active = os_atomic_load_long(&video->raw_active) > 0;
View file
obs-studio-28.0.3.tar.xz/libobs/obs.c -> obs-studio-28.1.1.tar.xz/libobs/obs.c
Changed
@@ -337,6 +337,16 @@ bool success = true; + enum gs_color_format format = GS_BGRA; + switch (info->format) { + case VIDEO_FORMAT_I010: + case VIDEO_FORMAT_P010: + case VIDEO_FORMAT_I210: + case VIDEO_FORMAT_I412: + case VIDEO_FORMAT_YA2L: + format = GS_RGBA16F; + } + for (size_t i = 0; i < NUM_TEXTURES; i++) { #ifdef _WIN32 if (video->using_nv12_tex) { @@ -365,7 +375,7 @@ } } else { video->copy_surfacesi0 = gs_stagesurface_create( - info->width, info->height, GS_RGBA); + info->width, info->height, format); if (!video->copy_surfacesi0) { success = false; break; @@ -373,16 +383,6 @@ } } - enum gs_color_format format = GS_RGBA; - switch (info->format) { - case VIDEO_FORMAT_I010: - case VIDEO_FORMAT_P010: - case VIDEO_FORMAT_I210: - case VIDEO_FORMAT_I412: - case VIDEO_FORMAT_YA2L: - format = GS_RGBA16F; - } - enum gs_color_space space = GS_CS_SRGB; switch (info->colorspace) { case VIDEO_CS_2100_PQ:
View file
obs-studio-28.0.3.tar.xz/plugins/aja/data/locale/et-EE.ini -> obs-studio-28.1.1.tar.xz/plugins/aja/data/locale/et-EE.ini
Changed
@@ -1,2 +1,3 @@ Output="Väljund" +Mode="Režiim" PixelFormat="Piksli formaat"
View file
obs-studio-28.0.3.tar.xz/plugins/aja/data/locale/ro-RO.ini -> obs-studio-28.1.1.tar.xz/plugins/aja/data/locale/ro-RO.ini
Changed
@@ -1,6 +1,5 @@ AJACapture.Device="Captură dispozitiv AJA I/O" Device="Dispozitiv" -Output="Ieșire" Input="Intrare" Mode="Mod" VideoFormat="Format video" @@ -8,7 +7,7 @@ AutoDetect="Detectează automat" Interlaced="Interpelat" AutoStart="Pornire automată la lansare" -Buffering="Folosește buffering" +Buffering="Folosește bufferingul" DeactivateWhenNotShowing="Dezactivează când nu se afișează" IOSelect="Selectare..." Auto="Automată"
View file
obs-studio-28.1.1.tar.xz/plugins/aja/data/locale/ur-PK.ini
Added
@@ -0,0 +1,17 @@ +AJACapture.Device="AJA I/O ڈیوائس کیپچر" +AJAOutput.Device="AJA I/O ڈیوائس آؤٹ پٹ" +Device="ڈیوائس" +Output="آؤٹ پٹ" +Input="ان پٹ" +Mode="انداز" +VideoFormat="ویڈیو فارمیٹ" +PixelFormat="پکسل فارمیٹ" +AutoDetect="آٹو ڈیٹیکٹ" +Interlaced="آپس میں جڑا ہوا" +AutoStart="لانچ پر آٹو اسٹارٹ" +Buffering="بفرنگ کا استعمال کریں" +DeactivateWhenNotShowing="ظاہر نہ ہونے پر غیر فعال کریں" +IOSelect="منتخب کریں..." +SDITransport="ایس ڈی آئی ٹرانسپورٹ" +SDITransport4K="ایس ڈی آئی 4K ٹرانسپورٹ" +Auto="خودکار"
View file
obs-studio-28.1.1.tar.xz/plugins/coreaudio-encoder/data/locale/ur-PK.ini
Added
@@ -0,0 +1,5 @@ +CoreAudioAAC="CoreAudio AAC انکوڈر" +Bitrate="بٹ ریٹ" +AllowHEAAC="HE-AAC کی اجازت دیں" +OutputSamplerate="آؤٹ پٹ نمونہ کی شرح" +UseInputSampleRate="ان پٹ (OBS) نمونہ کی شرح کا استعمال کریں (غیر تعاون یافتہ بٹ ریٹ کی فہرست ہو سکتی ہے)"
View file
obs-studio-28.0.3.tar.xz/plugins/decklink/data/locale/da-DK.ini -> obs-studio-28.1.1.tar.xz/plugins/decklink/data/locale/da-DK.ini
Changed
@@ -7,6 +7,7 @@ ColorSpace.Default="Standard" ColorRange="Farveområde" ColorRange.Default="Standard" +ColorRange.Partial="Reduceret" ColorRange.Full="Fuld" ChannelFormat="Kanal" ChannelFormat.None="Intet"
View file
obs-studio-28.0.3.tar.xz/plugins/decklink/data/locale/et-EE.ini -> obs-studio-28.1.1.tar.xz/plugins/decklink/data/locale/et-EE.ini
Changed
@@ -7,6 +7,7 @@ ColorSpace.Default="Vaikimisi" ColorRange="Värviruumi vahemik" ColorRange.Default="Vaikeseade" +ColorRange.Partial="Piiratud" ColorRange.Full="Täielik" ChannelFormat="Kanal" ChannelFormat.None="Määramata"
View file
obs-studio-28.0.3.tar.xz/plugins/decklink/data/locale/fa-IR.ini -> obs-studio-28.1.1.tar.xz/plugins/decklink/data/locale/fa-IR.ini
Changed
@@ -7,6 +7,7 @@ ColorSpace.Default="پیش فرض" ColorRange="محدوده رنگ" ColorRange.Default="پیش فرض" +ColorRange.Partial="محدود" ColorRange.Full="کامل" ChannelFormat="کانال" ChannelFormat.None="هیچکدام"
View file
obs-studio-28.0.3.tar.xz/plugins/decklink/data/locale/fi-FI.ini -> obs-studio-28.1.1.tar.xz/plugins/decklink/data/locale/fi-FI.ini
Changed
@@ -7,6 +7,7 @@ ColorSpace.Default="Oletusarvo" ColorRange="Värialue" ColorRange.Default="Oletusarvo" +ColorRange.Partial="Rajoitettu" ColorRange.Full="Täysi" ChannelFormat="Kanava" ChannelFormat.None="Ei mitään"
View file
obs-studio-28.0.3.tar.xz/plugins/decklink/data/locale/hi-IN.ini -> obs-studio-28.1.1.tar.xz/plugins/decklink/data/locale/hi-IN.ini
Changed
@@ -7,6 +7,7 @@ ColorSpace.Default="आरंभिक" ColorRange="रंग विस्तार" ColorRange.Default="आरंभिक" +ColorRange.Partial="सीमित" ColorRange.Full="पूर्ण" ChannelFormat="चैनल" ChannelFormat.None="कोई नहीं"
View file
obs-studio-28.0.3.tar.xz/plugins/decklink/data/locale/hu-HU.ini -> obs-studio-28.1.1.tar.xz/plugins/decklink/data/locale/hu-HU.ini
Changed
@@ -7,6 +7,7 @@ ColorSpace.Default="Alapértelmezett" ColorRange="Színtartomány" ColorRange.Default="Alapértelmezett" +ColorRange.Partial="Korlátozott" ColorRange.Full="Teljes" ChannelFormat="Csatorna" ChannelFormat.None="Nincs"
View file
obs-studio-28.0.3.tar.xz/plugins/decklink/data/locale/hy-AM.ini -> obs-studio-28.1.1.tar.xz/plugins/decklink/data/locale/hy-AM.ini
Changed
@@ -7,6 +7,7 @@ ColorSpace.Default="Կանխադրված" ColorRange="Գույնի տիրույթ" ColorRange.Default="Կանխադրված" +ColorRange.Partial="Սահմանափակ" ColorRange.Full="Ամբողջ" ChannelFormat="Ալիք" ChannelFormat.None="Ոչ մի"
View file
obs-studio-28.0.3.tar.xz/plugins/decklink/data/locale/ka-GE.ini -> obs-studio-28.1.1.tar.xz/plugins/decklink/data/locale/ka-GE.ini
Changed
@@ -1,7 +1,7 @@ BlackmagicDevice="Blackmagic-მოწყობილობა" Device="მოწყობილობა" Mode="რეჟიმი" -Buffering="ბუფერიზაციის გამოყენება" +Buffering="მომარაგების გამოყენება" PixelFormat="პიქსელის ფორმატი" ColorSpace="ფერთა სივრცე" ColorSpace.Default="ნაგულისხმევი"
View file
obs-studio-28.0.3.tar.xz/plugins/decklink/data/locale/ms-MY.ini -> obs-studio-28.1.1.tar.xz/plugins/decklink/data/locale/ms-MY.ini
Changed
@@ -7,6 +7,7 @@ ColorSpace.Default="Lalai" ColorRange="Julat Warna" ColorRange.Default="Lalai" +ColorRange.Partial="Terhad" ColorRange.Full="Penuh" ChannelFormat="Saluran" ChannelFormat.None="Tiada"
View file
obs-studio-28.0.3.tar.xz/plugins/decklink/data/locale/pt-PT.ini -> obs-studio-28.1.1.tar.xz/plugins/decklink/data/locale/pt-PT.ini
Changed
@@ -7,6 +7,7 @@ ColorSpace.Default="Predefinido" ColorRange="Intervalo de cores" ColorRange.Default="Predefinido" +ColorRange.Partial="Limitado" ColorRange.Full="Completo" ChannelFormat="Canal" ChannelFormat.None="Nenhum"
View file
obs-studio-28.0.3.tar.xz/plugins/decklink/data/locale/sv-SE.ini -> obs-studio-28.1.1.tar.xz/plugins/decklink/data/locale/sv-SE.ini
Changed
@@ -7,6 +7,7 @@ ColorSpace.Default="Standard" ColorRange="Färgintervall" ColorRange.Default="Standard" +ColorRange.Partial="Begränsad" ChannelFormat="Kanal" ChannelFormat.None="Ingen" ChannelFormat.2_1ch="2.1 kanaler"
View file
obs-studio-28.0.3.tar.xz/plugins/decklink/data/locale/tr-TR.ini -> obs-studio-28.1.1.tar.xz/plugins/decklink/data/locale/tr-TR.ini
Changed
@@ -7,6 +7,7 @@ ColorSpace.Default="Varsayılan" ColorRange="Renk Aralığı" ColorRange.Default="Varsayılan" +ColorRange.Partial="Sınırlı" ColorRange.Full="Tam" ChannelFormat="Kanal" ChannelFormat.None="Hiçbiri"
View file
obs-studio-28.1.1.tar.xz/plugins/decklink/data/locale/ur-PK.ini
Added
@@ -0,0 +1,20 @@ +BlackmagicDevice="بلیک میجک ڈیوائس" +Device="ڈیوائس" +Mode="انداز" +Buffering="بفرنگ کا استعمال کریں" +PixelFormat="پکسل فارمیٹ" +ColorSpace="رنگین جگہ" +ColorSpace.Default="طے شدہ" +ColorRange="رنگ کی حد" +ColorRange.Default="طے شدہ" +ColorRange.Partial="محدود" +ColorRange.Full="مکمل" +ChannelFormat="چینل" +ChannelFormat.None="کوئی نہیں" +DeactivateWhenNotShowing="ظاہر نہ ہونے پر غیر فعال کریں" +AutoStart="لانچ پر آٹو اسٹارٹ" +SwapFC-LFE="ایف سی اور ایل ایف ای کو تبدیل کریں" +SwapFC-LFE.Tooltip="فرنٹ سینٹر چینل اور ایل ایف ای چینل کو تبدیل کریں۔" +VideoConnection="ویڈیو کنکشن" +AudioConnection="آڈیو کنکشن" +Allow10Bit="10 بٹ کی اجازت دیں (ایس ڈی آئی کیپشنز کے لیے ضروری ہے، کارکردگی اوور ہیڈ کا سبب بن سکتا ہے)"
View file
obs-studio-28.0.3.tar.xz/plugins/enc-amf/AMF/amf/public/include/components/FFMPEGVideoDecoder.h -> obs-studio-28.1.1.tar.xz/plugins/enc-amf/AMF/amf/public/include/components/FFMPEGVideoDecoder.h
Changed
@@ -48,6 +48,6 @@ #define VIDEO_DECODER_FRAMERATE L"FrameRate" // AMFRate #define VIDEO_DECODER_SEEK_POSITION L"SeekPosition" // amf_int64 (default = 0) -#define VIDEO_DECODER_COLOR_TRANSFER_CHARACTERISTIC L"ColorTransferChar" // amf_int64(AMF_COLOR_TRANSFER_CHARACTERISTIC_ENUM); default = AMF_COLOR_TRANSFER_CHARACTERISTIC_UNDEFINED, ISO/IEC 23001-8_2013 § 7.2 +#define VIDEO_DECODER_COLOR_TRANSFER_CHARACTERISTIC L"ColorTransferChar" // amf_int64(AMF_COLOR_TRANSFER_CHARACTERISTIC_ENUM); default = AMF_COLOR_TRANSFER_CHARACTERISTIC_UNDEFINED, ISO/IEC 23001-8_2013 § 7.2 #endif //#ifndef AMF_VideoDecoderFFMPEG_h
View file
obs-studio-28.0.3.tar.xz/plugins/enc-amf/AMF/amf/public/include/components/VideoConverter.h -> obs-studio-28.1.1.tar.xz/plugins/enc-amf/AMF/amf/public/include/components/VideoConverter.h
Changed
@@ -70,7 +70,7 @@ #define AMF_VIDEO_CONVERTER_COLOR_PROFILE L"ColorProfile" // amf_int64(AMF_VIDEO_CONVERTER_COLOR_PROFILE_ENUM); default = AMF_VIDEO_CONVERTER_COLOR_PROFILE_UNKNOWN - mean AUTO #define AMF_VIDEO_CONVERTER_LINEAR_RGB L"LinearRGB" // bool (default=false) Convert to/from linear RGB instead of sRGB using AMF_VIDEO_DECODER_COLOR_TRANSFER_CHARACTERISTIC or by default AMF_VIDEO_CONVERTER_TRANSFER_CHARACTERISTIC -#define AMF_VIDEO_CONVERTER_TRANSFER_CHARACTERISTIC L"ColorTransferChar" // amf_int64(AMF_COLOR_TRANSFER_CHARACTERISTIC_ENUM); default = AMF_COLOR_TRANSFER_CHARACTERISTIC_UNDEFINED, ISO/IEC 23001-8_2013 § 7.2 See VideoDecoderUVD.h for enum +#define AMF_VIDEO_CONVERTER_TRANSFER_CHARACTERISTIC L"ColorTransferChar" // amf_int64(AMF_COLOR_TRANSFER_CHARACTERISTIC_ENUM); default = AMF_COLOR_TRANSFER_CHARACTERISTIC_UNDEFINED, ISO/IEC 23001-8_2013 § 7.2 See VideoDecoderUVD.h for enum #define AMF_VIDEO_CONVERTER_DISPLAY_HDR_METADATA L"DisplayHDRMetadata" // AMFBuffer containing AMFHDRMetadata; default NULL #define AMF_VIDEO_CONVERTER_USE_DECODER_HDR_METADATA L"UseDecoderHDRMetadata" // bool (default=true) uses decoder metadata AMF_VIDEO_DECODER_HDR_METADATA in color conversion
View file
obs-studio-28.0.3.tar.xz/plugins/enc-amf/AMF/amf/public/include/components/VideoDecoderUVD.h -> obs-studio-28.1.1.tar.xz/plugins/enc-amf/AMF/amf/public/include/components/VideoDecoderUVD.h
Changed
@@ -89,8 +89,8 @@ // metadata information: can be set on output surface // AMF_VIDEO_DECODER_FULL_RANGE_COLOR will be also set on surface -#define AMF_VIDEO_DECODER_COLOR_TRANSFER_CHARACTERISTIC L"ColorTransferChar" // amf_int64(AMF_COLOR_TRANSFER_CHARACTERISTIC_ENUM); default = AMF_COLOR_TRANSFER_CHARACTERISTIC_UNDEFINED, ISO/IEC 23001-8_2013 § 7.2 -#define AMF_VIDEO_DECODER_COLOR_PRIMARIES L"ColorPrimaries" // amf_int64(AMF_COLOR_PRIMARIES_ENUM); default = AMF_COLOR_PRIMARIES_UNDEFINED, ISO/IEC 23001-8_2013 § 7.1 +#define AMF_VIDEO_DECODER_COLOR_TRANSFER_CHARACTERISTIC L"ColorTransferChar" // amf_int64(AMF_COLOR_TRANSFER_CHARACTERISTIC_ENUM); default = AMF_COLOR_TRANSFER_CHARACTERISTIC_UNDEFINED, ISO/IEC 23001-8_2013 § 7.2 +#define AMF_VIDEO_DECODER_COLOR_PRIMARIES L"ColorPrimaries" // amf_int64(AMF_COLOR_PRIMARIES_ENUM); default = AMF_COLOR_PRIMARIES_UNDEFINED, ISO/IEC 23001-8_2013 § 7.1 #define AMF_VIDEO_DECODER_HDR_METADATA L"HdrMetadata" // AMFBuffer containing AMFHDRMetadata; default NULL #endif //#ifndef AMF_VideoDecoderUVD_h
View file
obs-studio-28.0.3.tar.xz/plugins/enc-amf/AMF/amf/public/include/components/VideoEncoderHEVC.h -> obs-studio-28.1.1.tar.xz/plugins/enc-amf/AMF/amf/public/include/components/VideoEncoderHEVC.h
Changed
@@ -148,8 +148,8 @@ #define AMF_VIDEO_ENCODER_HEVC_COLOR_BIT_DEPTH L"HevcColorBitDepth" // amf_int64(AMF_COLOR_BIT_DEPTH_ENUM); default = AMF_COLOR_BIT_DEPTH_8 #define AMF_VIDEO_ENCODER_HEVC_INPUT_COLOR_PROFILE L"HevcInColorProfile" // amf_int64(AMF_VIDEO_CONVERTER_COLOR_PROFILE_ENUM); default = AMF_VIDEO_CONVERTER_COLOR_PROFILE_UNKNOWN - mean AUTO by size #define AMF_VIDEO_ENCODER_HEVC_OUTPUT_COLOR_PROFILE L"HevcOutColorProfile" // amf_int64(AMF_VIDEO_CONVERTER_COLOR_PROFILE_ENUM); default = AMF_VIDEO_CONVERTER_COLOR_PROFILE_UNKNOWN - mean AUTO by size -#define AMF_VIDEO_ENCODER_HEVC_INPUT_TRANSFER_CHARACTERISTIC L"HevcInColorTransferChar" // amf_int64(AMF_COLOR_TRANSFER_CHARACTERISTIC_ENUM); default = AMF_COLOR_TRANSFER_CHARACTERISTIC_UNDEFINED, ISO/IEC 23001-8_2013 § 7.2 See VideoDecoderUVD.h for enum -#define AMF_VIDEO_ENCODER_HEVC_OUTPUT_TRANSFER_CHARACTERISTIC L"HevcOutColorTransferChar" // amf_int64(AMF_COLOR_TRANSFER_CHARACTERISTIC_ENUM); default = AMF_COLOR_TRANSFER_CHARACTERISTIC_UNDEFINED, ISO/IEC 23001-8_2013 § 7.2 See VideoDecoderUVD.h for enum +#define AMF_VIDEO_ENCODER_HEVC_INPUT_TRANSFER_CHARACTERISTIC L"HevcInColorTransferChar" // amf_int64(AMF_COLOR_TRANSFER_CHARACTERISTIC_ENUM); default = AMF_COLOR_TRANSFER_CHARACTERISTIC_UNDEFINED, ISO/IEC 23001-8_2013 § 7.2 See VideoDecoderUVD.h for enum +#define AMF_VIDEO_ENCODER_HEVC_OUTPUT_TRANSFER_CHARACTERISTIC L"HevcOutColorTransferChar" // amf_int64(AMF_COLOR_TRANSFER_CHARACTERISTIC_ENUM); default = AMF_COLOR_TRANSFER_CHARACTERISTIC_UNDEFINED, ISO/IEC 23001-8_2013 § 7.2 See VideoDecoderUVD.h for enum // Dynamic properties - can be set at any time
View file
obs-studio-28.0.3.tar.xz/plugins/enc-amf/AMF/amf/public/include/components/VideoEncoderVCE.h -> obs-studio-28.1.1.tar.xz/plugins/enc-amf/AMF/amf/public/include/components/VideoEncoderVCE.h
Changed
@@ -149,8 +149,8 @@ #define AMF_VIDEO_ENCODER_COLOR_BIT_DEPTH L"ColorBitDepth" // amf_int64(AMF_COLOR_BIT_DEPTH_ENUM); default = AMF_COLOR_BIT_DEPTH_8 #define AMF_VIDEO_ENCODER_INPUT_COLOR_PROFILE L"InColorProfile" // amf_int64(AMF_VIDEO_CONVERTER_COLOR_PROFILE_ENUM); default = AMF_VIDEO_CONVERTER_COLOR_PROFILE_UNKNOWN - mean AUTO by size #define AMF_VIDEO_ENCODER_OUTPUT_COLOR_PROFILE L"OutColorProfile" // amf_int64(AMF_VIDEO_CONVERTER_COLOR_PROFILE_ENUM); default = AMF_VIDEO_CONVERTER_COLOR_PROFILE_UNKNOWN - mean AUTO by size -#define AMF_VIDEO_ENCODER_INPUT_TRANSFER_CHARACTERISTIC L"InColorTransferChar" // amf_int64(AMF_COLOR_TRANSFER_CHARACTERISTIC_ENUM); default = AMF_COLOR_TRANSFER_CHARACTERISTIC_UNDEFINED, ISO/IEC 23001-8_2013 § 7.2 See VideoDecoderUVD.h for enum -#define AMF_VIDEO_ENCODER_OUTPUT_TRANSFER_CHARACTERISTIC L"OutColorTransferChar" // amf_int64(AMF_COLOR_TRANSFER_CHARACTERISTIC_ENUM); default = AMF_COLOR_TRANSFER_CHARACTERISTIC_UNDEFINED, ISO/IEC 23001-8_2013 § 7.2 See VideoDecoderUVD.h for enum +#define AMF_VIDEO_ENCODER_INPUT_TRANSFER_CHARACTERISTIC L"InColorTransferChar" // amf_int64(AMF_COLOR_TRANSFER_CHARACTERISTIC_ENUM); default = AMF_COLOR_TRANSFER_CHARACTERISTIC_UNDEFINED, ISO/IEC 23001-8_2013 § 7.2 See VideoDecoderUVD.h for enum +#define AMF_VIDEO_ENCODER_OUTPUT_TRANSFER_CHARACTERISTIC L"OutColorTransferChar" // amf_int64(AMF_COLOR_TRANSFER_CHARACTERISTIC_ENUM); default = AMF_COLOR_TRANSFER_CHARACTERISTIC_UNDEFINED, ISO/IEC 23001-8_2013 § 7.2 See VideoDecoderUVD.h for enum // Dynamic properties - can be set at any time
View file
obs-studio-28.0.3.tar.xz/plugins/enc-amf/source/amf-encoder-h265.cpp -> obs-studio-28.1.1.tar.xz/plugins/enc-amf/source/amf-encoder-h265.cpp
Changed
@@ -1375,6 +1375,8 @@ { uint64_t pktType; pData->GetProperty(AMF_VIDEO_ENCODER_HEVC_OUTPUT_DATA_TYPE, &pktType); +#pragma warning(push) +#pragma warning(disable : 4062) switch ((AMF_VIDEO_ENCODER_HEVC_OUTPUT_DATA_TYPE_ENUM)pktType) { case AMF_VIDEO_ENCODER_HEVC_OUTPUT_DATA_TYPE_I: packet->keyframe = true; @@ -1384,6 +1386,7 @@ packet->priority = 0; break; } +#pragma warning(pop) } AMF_RESULT Plugin::AMD::EncoderH265::GetExtraDataInternal(amf::AMFVariant* p)
View file
obs-studio-28.0.3.tar.xz/plugins/enc-amf/source/amf-encoder.cpp -> obs-studio-28.1.1.tar.xz/plugins/enc-amf/source/amf-encoder.cpp
Changed
@@ -122,6 +122,8 @@ case API::Type::Direct3D9: break; default: +#pragma warning(push) +#pragma warning(disable : 4062) m_API = API::GetAPI(0); switch (m_API->GetType()) { case API::Type::Direct3D9: @@ -144,6 +146,7 @@ res = m_AMFContext->InitDX11(m_APIDevice->GetContext()); break; } +#pragma warning(pop) if (res != AMF_OK) { QUICK_FORMAT_MESSAGE(errMsg, "<Id: %llu> Initializing %s API with Adapter '%s' failed, error %ls (code %d).", m_UniqueId, m_API->GetName().c_str(), m_APIAdapter.Name.c_str(),
View file
obs-studio-28.0.3.tar.xz/plugins/enc-amf/source/enc-h264.cpp -> obs-studio-28.1.1.tar.xz/plugins/enc-amf/source/enc-h264.cpp
Changed
@@ -713,6 +713,8 @@ if (preset != Presets::None) result = true; +#pragma warning(push) +#pragma warning(disable : 4062) switch (preset) { case Presets::ResetToDefaults: #pragma region Default @@ -1318,6 +1320,7 @@ colorSpace = ColorSpace::SRGB; break; } +#pragma warning(pop) auto api = API::GetAPI(obs_data_get_string(data, P_VIDEO_API)); union {
View file
obs-studio-28.0.3.tar.xz/plugins/enc-amf/source/enc-h265.cpp -> obs-studio-28.1.1.tar.xz/plugins/enc-amf/source/enc-h265.cpp
Changed
@@ -839,6 +839,8 @@ Plugin::AMD::AMF::Instance()->EnableDebugTrace(debug); ColorFormat colorFormat = ColorFormat::NV12; +#pragma warning(push) +#pragma warning(disable : 4062) switch (voi->format) { case VIDEO_FORMAT_NV12: colorFormat = ColorFormat::NV12; @@ -872,6 +874,7 @@ colorSpace = ColorSpace::SRGB; break; } +#pragma warning(pop) auto api = API::GetAPI(obs_data_get_string(data, P_VIDEO_API)); union {
View file
obs-studio-28.0.3.tar.xz/plugins/enc-amf/source/utility.cpp -> obs-studio-28.1.1.tar.xz/plugins/enc-amf/source/utility.cpp
Changed
@@ -422,6 +422,8 @@ Plugin::AMD::Profile Utility::ProfileFromAMFH264(AMF_VIDEO_ENCODER_PROFILE_ENUM v) { #pragma warning(disable : 4063) // Developer Note: I know better, Compiler. +#pragma warning(push) +#pragma warning(disable : 4062) switch (v) { case AMF_VIDEO_ENCODER_PROFILE_CONSTRAINED_BASELINE: return Profile::ConstrainedBaseline; @@ -629,6 +631,7 @@ case AMF_VIDEO_ENCODER_HEVC_RATE_CONTROL_METHOD_LATENCY_CONSTRAINED_VBR: return RateControlMethod::LatencyConstrainedVariableBitrate; } +#pragma warning(pop) throw std::runtime_error("Invalid Parameter"); }
View file
obs-studio-28.0.3.tar.xz/plugins/image-source/data/locale/fa-IR.ini -> obs-studio-28.1.1.tar.xz/plugins/image-source/data/locale/fa-IR.ini
Changed
@@ -3,6 +3,8 @@ UnloadWhenNotShowing="لغو بارگیری عکس زمانی که نشان داده نشد" LinearAlpha="آلفا را در فضای خطی اعمال کنید" SlideShow="نمایش اسلایدی تصویر" +SlideShow.TransitionSpeed="سرعت انتقال" +SlideShow.SlideTime="زمان بین اسلایدها" SlideShow.Files="پوشه تصاویر" SlideShow.CustomSize="نسبت اندازه/نسبت ابعاد" SlideShow.CustomSize.Auto="خودکار"
View file
obs-studio-28.0.3.tar.xz/plugins/image-source/data/locale/ro-RO.ini -> obs-studio-28.1.1.tar.xz/plugins/image-source/data/locale/ro-RO.ini
Changed
@@ -3,8 +3,8 @@ UnloadWhenNotShowing="Eliberează din memorie imaginea când nu este afișată" LinearAlpha="Aplică alfa în spațiul liniar" SlideShow="Diaporamă" -SlideShow.TransitionSpeed="Viteza de tranziție" -SlideShow.SlideTime="Timp între diaporamă" +SlideShow.TransitionSpeed="Viteză de tranziție" +SlideShow.SlideTime="Timp între diapozitive" SlideShow.Files="Fișiere de imagini" SlideShow.CustomSize="Dimensiunea încadrării/Raport de aspect" SlideShow.CustomSize.Auto="Automat(ă)"
View file
obs-studio-28.0.3.tar.xz/plugins/linux-alsa/data/locale/ur-PK.ini -> obs-studio-28.1.1.tar.xz/plugins/linux-alsa/data/locale/ur-PK.ini
Changed
@@ -1,1 +1,2 @@ AlsaInput="آلہ صوت کھینچنا (ٓALSA)" +Device="ڈیوائس"
View file
obs-studio-28.0.3.tar.xz/plugins/linux-pulseaudio/pulse-input.c -> obs-studio-28.1.1.tar.xz/plugins/linux-pulseaudio/pulse-input.c
Changed
@@ -34,6 +34,7 @@ /* user settings */ char *device; + bool is_default; bool input; /* server info */ @@ -236,9 +237,9 @@ blog(LOG_INFO, "Server name: '%s %s'", i->server_name, i->server_version); - if (data->device && strcmp("default", data->device) == 0) { + if (data->is_default) { + bfree(data->device); if (data->input) { - bfree(data->device); data->device = bstrdup(i->default_source_name); blog(LOG_DEBUG, "Default input device: '%s'", @@ -249,7 +250,6 @@ strcat(monitor, i->default_sink_name); strcat(monitor, ".monitor"); - bfree(data->device); data->device = bstrdup(monitor); blog(LOG_DEBUG, "Default output device: '%s'", @@ -379,6 +379,8 @@ attr.tlength = (uint32_t)-1; pa_stream_flags_t flags = PA_STREAM_ADJUST_LATENCY; + if (!data->is_default) + flags |= PA_STREAM_DONT_MOVE; pulse_lock(); int_fast32_t ret = pa_stream_connect_record(data->stream, data->device, @@ -390,7 +392,12 @@ return -1; } - blog(LOG_INFO, "Started recording from '%s'", data->device); + if (data->is_default) + blog(LOG_INFO, "Started recording from '%s' (default)", + data->device); + else + blog(LOG_INFO, "Started recording from '%s'", data->device); + return 0; } @@ -547,6 +554,7 @@ if (data->device) bfree(data->device); data->device = bstrdup(new_device); + data->is_default = strcmp("default", data->device) == 0; restart = true; }
View file
obs-studio-28.0.3.tar.xz/plugins/linux-v4l2/data/locale/da-DK.ini -> obs-studio-28.1.1.tar.xz/plugins/linux-v4l2/data/locale/da-DK.ini
Changed
@@ -9,6 +9,7 @@ UseBuffering="Benyt buffering" ColorRange="Farveområde" ColorRange.Default="Standard" +ColorRange.Partial="Begrænset" ColorRange.Full="Fuldt" CameraCtrls="Kamerakontroller" AutoresetOnTimeout="Auto-nulstil ved timeout"
View file
obs-studio-28.0.3.tar.xz/plugins/linux-v4l2/data/locale/et-EE.ini -> obs-studio-28.1.1.tar.xz/plugins/linux-v4l2/data/locale/et-EE.ini
Changed
@@ -10,5 +10,6 @@ UseBuffering="Kasuta puhverdamist" ColorRange="Värviruumi vahemik" ColorRange.Default="Vaikeseade" +ColorRange.Partial="Piiratud" ColorRange.Full="Täielik" CameraCtrls="Kaamera juhtnupud"
View file
obs-studio-28.0.3.tar.xz/plugins/linux-v4l2/data/locale/fa-IR.ini -> obs-studio-28.1.1.tar.xz/plugins/linux-v4l2/data/locale/fa-IR.ini
Changed
@@ -8,6 +8,7 @@ UseBuffering="استفاده از بافر کردن" ColorRange="محدوده رنگ" ColorRange.Default="پیش فرض" +ColorRange.Partial="محدود" ColorRange.Full="کامل" CameraCtrls="کنترل دوربین" AutoresetOnTimeout="تنظیم مجدد خودکار در وقفه"
View file
obs-studio-28.0.3.tar.xz/plugins/linux-v4l2/data/locale/fi-FI.ini -> obs-studio-28.1.1.tar.xz/plugins/linux-v4l2/data/locale/fi-FI.ini
Changed
@@ -10,6 +10,7 @@ UseBuffering="Käytä puskurointia" ColorRange="Värialue" ColorRange.Default="Oletus" +ColorRange.Partial="Rajoitettu" ColorRange.Full="Täysi" CameraCtrls="Kameran asetukset" AutoresetOnTimeout="Nollaa aikakatkaisusta"
View file
obs-studio-28.0.3.tar.xz/plugins/linux-v4l2/data/locale/hi-IN.ini -> obs-studio-28.1.1.tar.xz/plugins/linux-v4l2/data/locale/hi-IN.ini
Changed
@@ -9,6 +9,7 @@ UseBuffering="बफ़रिंग प्रयोग करें" ColorRange="रंग विस्तार" ColorRange.Default="आरंभिक" +ColorRange.Partial="सीमित" ColorRange.Full="पूर्ण" CameraCtrls="कैमरा नियंत्रण" AutoresetOnTimeout="टाइमआउट पर ऑटोरीसेट"
View file
obs-studio-28.0.3.tar.xz/plugins/linux-v4l2/data/locale/hu-HU.ini -> obs-studio-28.1.1.tar.xz/plugins/linux-v4l2/data/locale/hu-HU.ini
Changed
@@ -10,6 +10,7 @@ UseBuffering="Pufferelés használata" ColorRange="Színtartomány" ColorRange.Default="Alapértelmezett" +ColorRange.Partial="Korlátozott" ColorRange.Full="Teljes" CameraCtrls="Kamera vezérlők" AutoresetOnTimeout="Visszaállítás időtúllépés esetén"
View file
obs-studio-28.0.3.tar.xz/plugins/linux-v4l2/data/locale/hy-AM.ini -> obs-studio-28.1.1.tar.xz/plugins/linux-v4l2/data/locale/hy-AM.ini
Changed
@@ -10,6 +10,7 @@ UseBuffering="Օգտագործել բուֆերով" ColorRange="Գույնի տիրույթ" ColorRange.Default="Կանխադրված" +ColorRange.Partial="Սահմանափակ" ColorRange.Full="Ամբողջ" CameraCtrls="Տեսախցիկի կառավարում" AutoresetOnTimeout="Ավտոմատ վերականգնում ժամանակի վերջում"
View file
obs-studio-28.0.3.tar.xz/plugins/linux-v4l2/data/locale/ka-GE.ini -> obs-studio-28.1.1.tar.xz/plugins/linux-v4l2/data/locale/ka-GE.ini
Changed
@@ -7,7 +7,7 @@ Resolution="გარჩევადობა" FrameRate="კადრის სიხშირე" LeaveUnchanged="უცვლელად დატოვება" -UseBuffering="ბუფერიზაციის გამოყენება" +UseBuffering="მომარაგების გამოყენება" ColorRange="ფერთა გამა" ColorRange.Default="ნაგულისხმევი" ColorRange.Partial="შეზღუდული"
View file
obs-studio-28.0.3.tar.xz/plugins/linux-v4l2/data/locale/ms-MY.ini -> obs-studio-28.1.1.tar.xz/plugins/linux-v4l2/data/locale/ms-MY.ini
Changed
@@ -9,6 +9,7 @@ UseBuffering="Guna Penimbalan" ColorRange="Julat Warna" ColorRange.Default="Lalai" +ColorRange.Partial="Terhad" ColorRange.Full="Penuh" CameraCtrls="Kawalan Kamera" AutoresetOnTimeout="Auto-tetap-semula bila Tamat Masa"
View file
obs-studio-28.0.3.tar.xz/plugins/linux-v4l2/data/locale/pt-PT.ini -> obs-studio-28.1.1.tar.xz/plugins/linux-v4l2/data/locale/pt-PT.ini
Changed
@@ -10,6 +10,7 @@ UseBuffering="Usar memória temporária" ColorRange="Intervalo de cores" ColorRange.Default="Predefinido" +ColorRange.Partial="Limitado" ColorRange.Full="Completo" CameraCtrls="Controlos da câmera" AutoresetOnTimeout="Auto-repor ao expirar"
View file
obs-studio-28.0.3.tar.xz/plugins/linux-v4l2/data/locale/sv-SE.ini -> obs-studio-28.1.1.tar.xz/plugins/linux-v4l2/data/locale/sv-SE.ini
Changed
@@ -10,6 +10,7 @@ UseBuffering="Använd buffer" ColorRange="Färgintervall" ColorRange.Default="Standard" +ColorRange.Partial="Begränsad" CameraCtrls="Kamerakontroller" AutoresetOnTimeout="Återställ automatiskt vid timeout" FramesUntilTimeout="Bildrutor tills timeout"
View file
obs-studio-28.0.3.tar.xz/plugins/linux-v4l2/data/locale/tr-TR.ini -> obs-studio-28.1.1.tar.xz/plugins/linux-v4l2/data/locale/tr-TR.ini
Changed
@@ -10,6 +10,7 @@ UseBuffering="Arabelleğe Almayı Kullan" ColorRange="Renk Aralığı" ColorRange.Default="Varsayılan" +ColorRange.Partial="Sınırlı" ColorRange.Full="Tam" CameraCtrls="Kamera Kontrolleri" AutoresetOnTimeout="Zaman Aşımında Otomatik Sıfırla"
View file
obs-studio-28.0.3.tar.xz/plugins/linux-v4l2/v4l2-output.c -> obs-studio-28.1.1.tar.xz/plugins/linux-v4l2/v4l2-output.c
Changed
@@ -8,6 +8,8 @@ #include <fcntl.h> #include <unistd.h> #include <dirent.h> +#include <errno.h> +#include <string.h> struct virtualcam_data { obs_output_t *output; @@ -161,6 +163,15 @@ vsi.height = height; obs_output_set_video_conversion(vcam->output, &vsi); + memset(&parm, 0, sizeof(parm)); + parm.type = V4L2_BUF_TYPE_VIDEO_OUTPUT; + + if (ioctl(vcam->device, VIDIOC_STREAMON, &parm) < 0) { + blog(LOG_ERROR, "Failed to start streaming on '%s' (%s)", + device, strerror(errno)); + goto fail_close_device; + } + blog(LOG_INFO, "Virtual camera started"); obs_output_begin_data_capture(vcam->output, 0); @@ -229,8 +240,17 @@ { struct virtualcam_data *vcam = (struct virtualcam_data *)data; obs_output_end_data_capture(vcam->output); - close(vcam->device); + struct v4l2_streamparm parm = {0}; + parm.type = V4L2_BUF_TYPE_VIDEO_OUTPUT; + + if (ioctl(vcam->device, VIDIOC_STREAMOFF, &parm) < 0) { + blog(LOG_WARNING, + "Failed to stop streaming on video device %d (%s)", + vcam->device, strerror(errno)); + } + + close(vcam->device); blog(LOG_INFO, "Virtual camera stopped"); UNUSED_PARAMETER(ts);
View file
obs-studio-28.0.3.tar.xz/plugins/mac-avcapture/data/locale/da-DK.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-avcapture/data/locale/da-DK.ini
Changed
@@ -7,6 +7,7 @@ InputFormat="Inputformat" ColorSpace="Farverum" VideoRange="Videoområde" +VideoRange.Partial="Begrænset" VideoRange.Full="Fuld" Unknown="Ukendt (%1)" EnableAudio="Aktivér lyd, hvis understøttet af enhed"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-avcapture/data/locale/et-EE.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-avcapture/data/locale/et-EE.ini
Changed
@@ -7,6 +7,7 @@ InputFormat="Sisestus formaat" ColorSpace="Värviruum" VideoRange="Video vahemik" +VideoRange.Partial="Piiratud" VideoRange.Full="Täielik" Auto="Automaatne" Unknown="Tundmatu (%1)"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-avcapture/data/locale/fa-IR.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-avcapture/data/locale/fa-IR.ini
Changed
@@ -7,6 +7,7 @@ InputFormat="فرمت های ورودی" ColorSpace="فضای رنگی" VideoRange="محدوده ویدئو" +VideoRange.Partial="محدود" VideoRange.Full="کامل" Auto="خودکار" Unknown="نامشخص (%1)"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-avcapture/data/locale/fi-FI.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-avcapture/data/locale/fi-FI.ini
Changed
@@ -7,6 +7,7 @@ InputFormat="Sisääntulon muoto" ColorSpace="Väriavaruus" VideoRange="Kuva-alue" +VideoRange.Partial="Rajoitettu" VideoRange.Full="Täysi" Auto="Automaattinen" Unknown="Tuntematon (%1)"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-avcapture/data/locale/hi-IN.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-avcapture/data/locale/hi-IN.ini
Changed
@@ -7,6 +7,7 @@ InputFormat="इनपुट प्रारूप" ColorSpace="रंग स्थान" VideoRange="वीडियो विस्तार" +VideoRange.Partial="सीमित" VideoRange.Full="पूर्ण" Auto="स्वतः" Unknown="अज्ञात (%1)"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-avcapture/data/locale/hu-HU.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-avcapture/data/locale/hu-HU.ini
Changed
@@ -7,6 +7,7 @@ InputFormat="Bemeneti formátum" ColorSpace="Színtér" VideoRange="Videotartomány" +VideoRange.Partial="Korlátozott" VideoRange.Full="Teljes" Auto="Automatikus" Unknown="Ismeretlen (%1)"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-avcapture/data/locale/hy-AM.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-avcapture/data/locale/hy-AM.ini
Changed
@@ -7,6 +7,7 @@ InputFormat="Ներածման ձևաչափ" ColorSpace="Գունային տարածություն" VideoRange="Տեսանյութերի տիրույթ" +VideoRange.Partial="Սահմանափակ" VideoRange.Full="Ամբողջ" Auto="Ավտոմատ" Unknown="Անհայտ (%1)"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-avcapture/data/locale/ka-GE.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-avcapture/data/locale/ka-GE.ini
Changed
@@ -2,7 +2,7 @@ Device="მოწყობილობა" UsePreset="მზა პარამეტრებით სარგებლობა" Preset="მზა პარამეტრები" -Buffering="ბუფერიზაციის გამოყენება" +Buffering="მომარაგების გამოყენება" FrameRate="კადრის სიხშირე" InputFormat="შეტანის ფორმატი" ColorSpace="ფერთა სისტემა"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-avcapture/data/locale/ms-MY.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-avcapture/data/locale/ms-MY.ini
Changed
@@ -7,6 +7,7 @@ InputFormat="Format input" ColorSpace="Ruang warna" VideoRange="Julat video" +VideoRange.Partial="Terhad" VideoRange.Full="Penuh" Unknown="Tidak diketahui (%1)" EnableAudio="Benarkan audio jika disokong oleh peranti"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-avcapture/data/locale/pt-PT.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-avcapture/data/locale/pt-PT.ini
Changed
@@ -7,6 +7,7 @@ InputFormat="Formato de entrada" ColorSpace="Espaço de cor" VideoRange="Intervalo de vídeo" +VideoRange.Partial="Limitado" VideoRange.Full="Completo" Auto="Automático" Unknown="Desconhecido (%1)"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-avcapture/data/locale/sv-SE.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-avcapture/data/locale/sv-SE.ini
Changed
@@ -7,6 +7,7 @@ InputFormat="Inmatningsformat" ColorSpace="Färgrymd" VideoRange="Videointervall" +VideoRange.Partial="Begränsad" Auto="Automatisk" Unknown="Okänd (%1)" EnableAudio="Aktivera ljud om enheten har stöd"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-avcapture/data/locale/tr-TR.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-avcapture/data/locale/tr-TR.ini
Changed
@@ -7,6 +7,7 @@ InputFormat="Giriş biçimi" ColorSpace="Renk alanı" VideoRange="Video aralığı" +VideoRange.Partial="Sınırlı" VideoRange.Full="Tam" Auto="Otomatik" Unknown="Bilinmeyen (%1)"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/ca-ES.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/ca-ES.ini
Changed
@@ -21,5 +21,6 @@ Crop.size.width="Escapçament dret" Crop.size.height="Escapçament inferior" SCK.Name="Captura de pantalla del macOS" +SCK.Name.Beta="Captura de pantalla del macOS (BETA)" SCK.AudioUnavailable="La captura d'àudio requereix macOS 13 o superior." SCK.Method="Mètode"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/cs-CZ.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/cs-CZ.ini
Changed
@@ -22,5 +22,6 @@ Crop.size.width="Oříznout vpravo" Crop.size.height="Oříznout spodek" SCK.Name="Zachytávání obrazovky macOS" +SCK.Name.Beta="Zachytávání obrazovky macOS (BETA)" SCK.AudioUnavailable="Zachytávání zvuku vyžaduje macOS 13 nebo novější." SCK.Method="Metoda"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/da-DK.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/da-DK.ini
Changed
@@ -8,6 +8,7 @@ DisplayCapture.ShowCursor="Vis markør" WindowCapture="Vinduesoptagelse" WindowCapture.ShowShadow="Vis vinduesskygge" +Application="Applikation" WindowUtils.Window="Vindue" WindowUtils.ShowEmptyNames="Vis vinduer med tomme navne" WindowUtils.ShowHidden="Vis fuldskærm og skjulte vinduer/programmer" @@ -21,5 +22,6 @@ Crop.size.width="Beskær højre" Crop.size.height="Beskær bund" SCK.Name="macOS-skærmoptagelse" +SCK.Name.Beta="macOS Skærmbillede (BETA)" SCK.AudioUnavailable="Lydoptagelse kræver macOS 13 eller senere." SCK.Method="Metode"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/de-DE.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/de-DE.ini
Changed
@@ -22,5 +22,6 @@ Crop.size.width="Rechts abschneiden" Crop.size.height="Unten abschneiden" SCK.Name="macOS-Bildschirmaufnahme" +SCK.Name.Beta="macOS-Bildschirmaufnahme (Beta)" SCK.AudioUnavailable="Die Audioaufnahme benötigt macOS 13 oder neuer." SCK.Method="Methode"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/es-ES.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/es-ES.ini
Changed
@@ -21,5 +21,6 @@ Crop.size.width="Recortar a la derecha" Crop.size.height="Recortar abajo" SCK.Name="Captura de Pantalla de macOS" +SCK.Name.Beta="Captura de pantalla de macOS (BETA)" SCK.AudioUnavailable="La captura de audio requiere macOS 13 o posterior." SCK.Method="Método"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/et-EE.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/et-EE.ini
Changed
@@ -22,5 +22,6 @@ Crop.size.width="Kärbi paremalt" Crop.size.height="Kärbi alt" SCK.Name="macOS ekraanijäädvustus" +SCK.Name.Beta="macOS ekraanijäädvustus (BETA)" SCK.AudioUnavailable="Audiosalvestus vajab macOS 13 või uuemat." SCK.Method="Meetod"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/fa-IR.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/fa-IR.ini
Changed
@@ -2,15 +2,26 @@ CoreAudio.OutputCapture="گرفتن صدای خروجی" CoreAudio.Device="دستگاه" CoreAudio.Device.Default="پیش فرض" +ApplicationCapture="ضبط برنامه" DisplayCapture="کپچر نمایش" DisplayCapture.Display="نمایش" +DisplayCapture.ShowCursor="نمایش مکان نما" WindowCapture="ویندوز کپچر" +WindowCapture.ShowShadow="نمایش سایه پنجره" +Application="برنامه" WindowUtils.Window="ویندوز" +WindowUtils.ShowEmptyNames="نمایش پنجره هایی با نام های خالی" +WindowUtils.ShowHidden="نمایش تمام صفحه و پنجره ها / برنامه های مخفی" CropMode="بریدن" CropMode.None="هیچکدام" CropMode.Manual="دستی" +CropMode.ToWindow="به پنجره" +CropMode.ToWindowAndManual="به پنجره و دستی" Crop.origin.x="برش چپ" Crop.origin.y="برش بالا" Crop.size.width="برش راست" Crop.size.height="برش پایین" +SCK.Name="ضبط صفحه macOS" +SCK.Name.Beta="ضبط صفحه macOS (بتا)" +SCK.AudioUnavailable="ضبط صدا به macOS 13 یا جدیدتر نیاز دارد." SCK.Method="روش"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/fi-FI.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/fi-FI.ini
Changed
@@ -22,5 +22,6 @@ Crop.size.width="Rajaa oikealta" Crop.size.height="Rajaa alhaalta" SCK.Name="macOS ruudunkaappaus" +SCK.Name.Beta="macOS-ruudunkaappaus (BETA)" SCK.AudioUnavailable="Äänen tallennus vaatii macOS 13 tai uudemman." SCK.Method="Menetelmä"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/fr-FR.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/fr-FR.ini
Changed
@@ -21,5 +21,6 @@ Crop.size.width="Rogner à droite" Crop.size.height="Rogner en bas" SCK.Name="Capture d'écran macOS" +SCK.Name.Beta="Capture d'écran macOS (BETA)" SCK.AudioUnavailable="L'enregistrement audio requiert macOS 13 ou plus." SCK.Method="Méthode"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/he-IL.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/he-IL.ini
Changed
@@ -22,5 +22,6 @@ Crop.size.width="חתוך ימינה" Crop.size.height="חתוך למטה" SCK.Name="לכידת מסך של macOS" +SCK.Name.Beta="לכידת מסך של macOS (בטא)" SCK.AudioUnavailable="לכידת שמע דורשת macOS 13 ומעלה." SCK.Method="שיטה"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/hi-IN.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/hi-IN.ini
Changed
@@ -22,5 +22,6 @@ Crop.size.width="दाएं से छाँटें" Crop.size.height="तल से छाँटें" SCK.Name="macOS स्क्रीन कैप्चर" +SCK.Name.Beta="macOS स्क्रीन कैप्चर (बीटा)" SCK.AudioUnavailable="ऑडियो कैप्चर के लिए macOS 13 या उससे नए संस्करण की आवश्यकता होती है." SCK.Method="विधि"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/hr-HR.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/hr-HR.ini
Changed
@@ -5,6 +5,7 @@ DisplayCapture="Prikaži ulaz" DisplayCapture.Display="Ekran" WindowCapture="Snimanje sa prozora" +Application="Aplikacija" WindowUtils.Window="Prozor" CropMode="Odseci" CropMode.None="Nijedno"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/hu-HU.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/hu-HU.ini
Changed
@@ -22,5 +22,6 @@ Crop.size.width="Levágás jobbra" Crop.size.height="Levágás alul" SCK.Name="macOS képermyőfelvétel" +SCK.Name.Beta="macOS képermyőfelvétel (BÉTA)" SCK.AudioUnavailable="A hangrögzítéshez macOS 13 vagy újabb szükséges." SCK.Method="Mód"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/hy-AM.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/hy-AM.ini
Changed
@@ -8,6 +8,7 @@ DisplayCapture.ShowCursor="Ցույց տալ կուրսորը" WindowCapture="Պատուհանի նկարահանում" WindowCapture.ShowShadow="Ցույց տալ պատուհանի ստվերը" +Application="Հավելված" WindowUtils.Window="Պատուհան" WindowUtils.ShowEmptyNames="Ցույց տալ դատարկ վերնագրերով պատուհանները" WindowUtils.ShowHidden="Ցույց տալ լիաէկրան և թաքնված պատուհանները/հավելվածները" @@ -21,5 +22,6 @@ Crop.size.width="Կտրել աջ" Crop.size.height="Կտրել ներքև" SCK.Name="macOS էկրանի նկարահանում" +SCK.Name.Beta="macOS էկրանի նկարում (ԲԵՏԱ)" SCK.AudioUnavailable="Տեաագրման համար պահանջվում է macOS 13 կամ ավելի նոր տարբերակ:" SCK.Method="Տարբերակ"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/id-ID.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/id-ID.ini
Changed
@@ -21,5 +21,6 @@ Crop.size.width="Potong kanan" Crop.size.height="Potong bawah" SCK.Name="Penangkap Layar macOS" +SCK.Name.Beta="Penangkap Layar macOS (PERCOBAAN)" SCK.AudioUnavailable="Penangkap audio membutuhkan macOS 13 atau yang terbaru." SCK.Method="Metode"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/it-IT.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/it-IT.ini
Changed
@@ -1,4 +1,4 @@ -CoreAudio.InputCapture="Cattura l'audio in ingresso" +CoreAudio.InputCapture="Cattura l'audio in entrata" CoreAudio.OutputCapture="Cattura l'audio in uscita" CoreAudio.Device="Dispositivo" CoreAudio.Device.Default="Predefinito" @@ -22,5 +22,6 @@ Crop.size.width="Ritaglia a destra" Crop.size.height="Ritaglia dal basso" SCK.Name="Cattura schermo macOS" +SCK.Name.Beta="Cattura schermo macOS (beta)" SCK.AudioUnavailable="L'acquisizione audio richiede macOS 13 o superiore." SCK.Method="Metodo"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/ja-JP.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/ja-JP.ini
Changed
@@ -22,5 +22,6 @@ Crop.size.width="右をクロップ" Crop.size.height="下をクロップ" SCK.Name="macOS スクリーンキャプチャ" +SCK.Name.Beta="macOS スクリーンキャプチャ (ベータ版)" SCK.AudioUnavailable="音声キャプチャにはmacOS 13以降が必要です。" SCK.Method="方式"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/ka-GE.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/ka-GE.ini
Changed
@@ -22,5 +22,6 @@ Crop.size.width="მარჯვნივ შემოჭრა" Crop.size.height="ქვემოთ შემოჭრა" SCK.Name="macOS-ის ეკრანის ჩამწერი" +SCK.Name.Beta="macOS-ის ეკრანის ჩამწერი (საცდელი)" SCK.AudioUnavailable="ხმის ჩასაწერად საჭიროა macOS 13 ან უფრო ახალი." SCK.Method="საშუალება"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/kmr-TR.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/kmr-TR.ini
Changed
@@ -22,5 +22,6 @@ Crop.size.width="Rastê qut bike" Crop.size.height="Jêrê qut bike" SCK.Name="Girtina dîmendera macOS" +SCK.Name.Beta="Girtina dîmendera macOS (BETA)" SCK.AudioUnavailable="Girtina dengê macOS 13 an jî nûtir daxwaz dike." SCK.Method="Rêbaz"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/ko-KR.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/ko-KR.ini
Changed
@@ -22,5 +22,6 @@ Crop.size.width="오른쪽 자르기" Crop.size.height="아래쪽 자르기" SCK.Name="macOS 화면 캡쳐" +SCK.Name.Beta="macOS 화면 캡쳐 (베타)" SCK.AudioUnavailable="오디오 캡쳐는 macOS 13 이상이 필요합니다." SCK.Method="방법"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/ms-MY.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/ms-MY.ini
Changed
@@ -21,5 +21,6 @@ Crop.size.width="Kerat kanan" Crop.size.height="Kerat bawah" SCK.Name="Tangkap Layar macOS" +SCK.Name.Beta="Tangkap Layar macOS (BETA)" SCK.AudioUnavailable="Tangkap audio memerlukan macOS 13 atau yang lebih baharu." SCK.Method="Kaedah"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/nl-NL.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/nl-NL.ini
Changed
@@ -22,5 +22,6 @@ Crop.size.width="Rechts bijsnijden" Crop.size.height="Onder bijsnijden" SCK.Name="macOS schermopname" +SCK.Name.Beta="macOS schermopname (Beta)" SCK.AudioUnavailable="Audioopname vereist macOS 13 of nieuwer." SCK.Method="Methode"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/pl-PL.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/pl-PL.ini
Changed
@@ -22,5 +22,6 @@ Crop.size.width="Przytnij od prawej" Crop.size.height="Przytnij od spodu" SCK.Name="Przechwytywanie ekranu macOS" +SCK.Name.Beta="Przechwytywanie ekranu macOS (BETA)" SCK.AudioUnavailable="Przechwytywanie dźwięku wymaga macOS 13 lub nowszego." SCK.Method="Metoda"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/pt-BR.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/pt-BR.ini
Changed
@@ -21,5 +21,6 @@ Crop.size.width="Recortar à Direita" Crop.size.height="Recordar para Baixo" SCK.Name="Captura de Tela macOS" +SCK.Name.Beta="Captura de tela do macOS (BETA)" SCK.AudioUnavailable="A captura de áudio requer o macOS 13 ou mais recente." SCK.Method="Método"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/pt-PT.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/pt-PT.ini
Changed
@@ -8,6 +8,7 @@ DisplayCapture.ShowCursor="Mostrar cursor" WindowCapture="Captura de janela" WindowCapture.ShowShadow="Mostrar sombra da janela" +Application="Aplicação" WindowUtils.Window="Janela" WindowUtils.ShowEmptyNames="Mostrar janelas com nomes vazios" WindowUtils.ShowHidden="Mostrar ecrã inteiro e janelas ocultas / aplicatições" @@ -20,5 +21,6 @@ Crop.size.width="Cortar à direita" Crop.size.height="Cortar em baixo" SCK.Name="Captura de ecrã do macOS" +SCK.Name.Beta="Captura de ecrã do macOS (Beta)" SCK.AudioUnavailable="A captura de áudio requer o macOS 13 ou mais recente." SCK.Method="Método"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/ro-RO.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/ro-RO.ini
Changed
@@ -4,7 +4,7 @@ CoreAudio.Device.Default="Implicit" ApplicationCapture="Captarea aplicației" DisplayCapture="Captură de display" -DisplayCapture.ShowCursor="Arată cursorul" +DisplayCapture.ShowCursor="Afișează cursorul" WindowCapture="Captură de fereastră" WindowCapture.ShowShadow="Afișează umbra ferestrei" Application="Aplicație" @@ -20,5 +20,6 @@ Crop.size.width="Trunchiază dreapta" Crop.size.height="Trunchiază partea inferioară" SCK.Name="Captură de ecran macOS" +SCK.Name.Beta="Captură de ecran macOS (BETA)" SCK.AudioUnavailable="Captura audio necesită macOS 13 sau o versiune mai nouă." SCK.Method="Metodă"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/ru-RU.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/ru-RU.ini
Changed
@@ -22,5 +22,6 @@ Crop.size.width="Обрезка справа" Crop.size.height="Обрезка снизу" SCK.Name="Захват экрана macOS" +SCK.Name.Beta="Захват экрана macOS (БЕТА)" SCK.AudioUnavailable="Захват звука требует macOS 13 или новее." SCK.Method="Способ"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/sk-SK.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/sk-SK.ini
Changed
@@ -22,5 +22,6 @@ Crop.size.width="Orezanie vpravo" Crop.size.height="Orezanie dole" SCK.Name="Zachytávanie obrazovky macOS" +SCK.Name.Beta="Zachytávanie obrazovky macOS (BETA)" SCK.AudioUnavailable="Zachytávanie zvuku vyžaduje macOS 13 alebo novší." SCK.Method="Metóda"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/sl-SI.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/sl-SI.ini
Changed
@@ -22,5 +22,6 @@ Crop.size.width="Obreži desno" Crop.size.height="Obreži spodaj" SCK.Name="Zajem zaslona macOS" +SCK.Name.Beta="Zajem zaslona macOS (BETA)" SCK.AudioUnavailable="Za zajem zvoka je potreben macOS 13 ali novejši." SCK.Method="Metoda"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/sv-SE.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/sv-SE.ini
Changed
@@ -22,5 +22,6 @@ Crop.size.width="Beskär höger" Crop.size.height="Beskär botten" SCK.Name="macOS-skärmkälla" +SCK.Name.Beta="macOS-skärmkälla (BETA)" SCK.AudioUnavailable="Ljudkälla kräver macOS 13 eller nyare." SCK.Method="Metod"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/tr-TR.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/tr-TR.ini
Changed
@@ -8,6 +8,7 @@ DisplayCapture.ShowCursor="İmleci göster" WindowCapture="Pencere Yakalama" WindowCapture.ShowShadow="Pencere gölgesini göster" +Application="Uygulama" WindowUtils.Window="Pencere" WindowUtils.ShowEmptyNames="İsimsiz pencereleri göster" WindowUtils.ShowHidden="Tam ekran ve gizli pencere / uygulamaları göster" @@ -21,5 +22,6 @@ Crop.size.width="Sağdan kırp" Crop.size.height="Alttan kırp" SCK.Name="macOS Ekran Yakalama" +SCK.Name.Beta="macOS Ekran Kaydı (BETA)" SCK.AudioUnavailable="Ses yakalama, macOS 13 veya daha yenisini gerektirir." SCK.Method="Yöntem"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/uk-UA.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/uk-UA.ini
Changed
@@ -22,5 +22,6 @@ Crop.size.width="Обрізати зправа" Crop.size.height="Обрізати знизу" SCK.Name="Захоплення екрана macOS" +SCK.Name.Beta="Захоплення екрана macOS (бета-версія)" SCK.AudioUnavailable="Для захоплення звуку потрібна macOS 13 або новіша." SCK.Method="Метод"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/zh-CN.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/zh-CN.ini
Changed
@@ -22,5 +22,6 @@ Crop.size.width="裁剪右侧" Crop.size.height="裁剪底部" SCK.Name="macOS 屏幕捕获" +SCK.Name.Beta="macOS 屏幕捕获 (BETA)" SCK.AudioUnavailable="音频捕获需要 macOS 13 或更高版本。" SCK.Method="方式"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/data/locale/zh-TW.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/data/locale/zh-TW.ini
Changed
@@ -22,5 +22,6 @@ Crop.size.width="右邊界" Crop.size.height="下邊界" SCK.Name="macOS 螢幕擷取" +SCK.Name.Beta="macOS 螢幕擷取(測試版)" SCK.AudioUnavailable="音訊擷取需要 macOS 13 或更新版本。" SCK.Method="方法"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-capture/mac-audio.c -> obs-studio-28.1.1.tar.xz/plugins/mac-capture/mac-audio.c
Changed
@@ -629,7 +629,8 @@ if (!coreaudio_start(ca)) goto fail; - blog(LOG_INFO, "coreaudio: device '%s' initialized", ca->device_name); + blog(LOG_INFO, "coreaudio: Device '%s' %" PRIu32 " Hz initialized", + ca->device_name, ca->sample_rate); return ca->au_initialized; fail:
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/ar-SA.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/ar-SA.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="جهاز تشفير لـ(Apple VT H264)" VTH264EncSW="برنامج تشفير لـ(Apple VT H264)" -VTEncoder="صندوق أدوات تشفير الفيديو" Bitrate="معدّل البِت" Quality="الجودة" UseMaxBitrate="حد معدل البِت" @@ -8,8 +7,6 @@ MaxBitrateWindow="نافذة الحد الأقصى لمعدل البِت" KeyframeIntervalSec="الفاصل الزمني للإطار المفتاح (0=تلقائي)" Profile="الملف الشخصي" -None="(بلا)" -DefaultEncoder="(المرمّز الافتراضي)" UseBFrames="استخدام إطارات ب" RateControl="التحكم في المعدل" ColorFormatUnsupportedH264="تنسيق اللون المحدد غير مدعوم بواسطة وحدة تشفير Apple VT H.264. حدد تنسيق لون متوافق في الإعدادات -> خيارات متقدمة أو استخدم برنامج ترميز مختلف."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/az-AZ.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/az-AZ.ini
Changed
@@ -1,10 +1,7 @@ VTH264EncHW="Apple VT H264 Avadanlıq Təminatı Kodlayıcı" VTH264EncSW="Apple VT H264 Proqram Təminatı Kodlayıcı" -VTEncoder="VideoToolbox Kodlayıcı" Bitrate="Bit sürəti" UseMaxBitrate="Bit sürətini limitlə" MaxBitrate="Maksimal bit sürəti" Profile="Profil" -None="(Heç biri)" -DefaultEncoder="(İlkin Kodlayıcı)" UseBFrames="B Kadrlarını istifadə et"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/ba-RU.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/ba-RU.ini
Changed
@@ -1,3 +1,2 @@ Bitrate="Битрейт" MaxBitrate="Максималь битрейт" -None="(Юҡ)"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/bg-BG.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/bg-BG.ini
Changed
@@ -1,12 +1,9 @@ VTH264EncHW="Хардуерно кодиращо устройство Apple VT H264" VTH264EncSW="Софтуерно кодиращо устройство Apple VT H264" -VTEncoder="Кодификатор VideoToolbox" Bitrate="Битрейт" UseMaxBitrate="Ограничаване на битрейта" MaxBitrate="Макс. битрейт" MaxBitrateWindow="Прозорец за максимален битрейт" KeyframeIntervalSec="Интервал между ключови кадри (0=автоматично)" Profile="Профил" -None="(Нищо)" -DefaultEncoder="(Стандартно кодиране)" UseBFrames="Използване на B-кадри"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/bn-BD.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/bn-BD.ini
Changed
@@ -1,10 +1,7 @@ VTH264EncHW="আপেল ভিটি এইচ২৬৪ হার্ডওয়্যার এনকোডার" VTH264EncSW="আপেল ভিটি এইচ২৬৪ সফটওয়্যার এনকোডার" -VTEncoder="ভিডিওটুলবক্স এনকোডার" Bitrate="বিটরেট" UseMaxBitrate="বিটরেট সীমাবদ্ধ করুন" MaxBitrate="সর্বোচ্চ বিটরেট" Profile="প্রোফাইল" -None="(একটিও না)" -DefaultEncoder="(পূর্ব-নির্ধারিত এনকোডার)" UseBFrames="বি-ফ্রেম ব্যাবহার করুন"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/ca-ES.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/ca-ES.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="Codificador per maquinari Apple VT H264" VTH264EncSW="Codificador per programari Apple VT H264" -VTEncoder="Codificador VideoToolbox" Bitrate="Taxa de bits" Quality="Qualitat" UseMaxBitrate="Limita la taxa de bits" @@ -8,8 +7,6 @@ MaxBitrateWindow="Finestra de taxa de bits màxima" KeyframeIntervalSec="Interval de fotogrames clau (0=auto)" Profile="Perfil" -None="(Cap)" -DefaultEncoder="(Codificador predeterminat)" UseBFrames="Usa fotogrames B" RateControl="Control de freqüència" ColorFormatUnsupportedH264="El format de color no està suportat pel codificador Apple VT H.264. Seleccioneu un color compatible a Configuració -> Avançat o bé trieu un codificador diferent."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/cs-CZ.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/cs-CZ.ini
Changed
@@ -1,14 +1,11 @@ VTH264EncHW="Hardwarový enkodér Apple VT H264" VTH264EncSW="Softwarový enkodér Apple VT H264" -VTEncoder="Enkodér VideoToolbox" Quality="Kvalita" UseMaxBitrate="Omezit bitrate" MaxBitrate="Maximální bitrate" MaxBitrateWindow="Maximální bitrate okno" KeyframeIntervalSec="Interval klíč. snímků (0=auto)" Profile="Profil" -None="(Žádné)" -DefaultEncoder="(Výchozí enkodér)" UseBFrames="Používat B-snímky" RateControl="Řízení toku" ColorFormatUnsupportedH264="Vybraný formát barev není podporován enkodérem Apple VT H.264. Vyberte kompatibilní formát barev v Nastavení -> Rozšířené nebo použijte jiný enkodér."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/da-DK.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/da-DK.ini
Changed
@@ -5,7 +5,6 @@ MaxBitrateWindow="Maks. bithastighedsvindue" KeyframeIntervalSec="Keyframe-interval (0=auto)" Profile="Profil" -None="(ingen)" -DefaultEncoder="(Standard Encoder)" UseBFrames="Benyt B-frames" RateControl="Kvalitetsstyring" +ColorFormatUnsupportedH264="Det valgte farveformat understøttes ikke af Apple VT H.264-indkoderen. Vælg et kompatibelt farveformat i Indstillinger -> Avanceret eller brug en anden encoder."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/de-DE.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/de-DE.ini
Changed
@@ -1,14 +1,11 @@ VTH264EncHW="Apple-VT-H264-Hardwareencoder" VTH264EncSW="Apple-VT-H264-Softwareencoder" -VTEncoder="VideoToolbox-Encoder" Quality="Qualität" UseMaxBitrate="Limitiere Bitrate" MaxBitrate="Max. Bitrate" MaxBitrateWindow="Maximales Bitratenfenster" KeyframeIntervalSec="Keyframeintervall (0 = automatisch)" Profile="Profil" -None="(Nichts)" -DefaultEncoder="(Standardencoder)" UseBFrames="B-Frames verwenden" RateControl="Qualitätsregulierungsmethode" ColorFormatUnsupportedH264="Das ausgewählte Farbformat wird vom Apple-VT-H.264-Encoder nicht unterstützt. Wählen Sie ein kompatibles Farbformat unter Einstellungen → Erweitert oder verwenden Sie einen anderen Encoder."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/el-GR.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/el-GR.ini
Changed
@@ -1,11 +1,8 @@ VTH264EncHW="Apple VT H264 κωδικοποιητής υλικού" VTH264EncSW="Apple VT H264 κωδικοποιητής λογισμικού" -VTEncoder="Κωδικοποιητής εργαλειοθήκης Βίντεο" Bitrate="Ρυθμός μετάδοσης bit" Quality="Ποιότητα" UseMaxBitrate="Όριο bitrate" MaxBitrate="Μέγιστο bitrate" Profile="Προφίλ" -None="(Κανένα)" -DefaultEncoder="(Προεπιλεγμένος κωδικοποιητής)" UseBFrames="Χρήση Β-πλαισίων"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/en-US.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/en-US.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="Apple VT H264 Hardware Encoder" VTH264EncSW="Apple VT H264 Software Encoder" -VTEncoder="VideoToolbox Encoder" Bitrate="Bitrate" Quality="Quality" UseMaxBitrate="Limit bitrate" @@ -8,8 +7,6 @@ MaxBitrateWindow="Maximum bitrate window" KeyframeIntervalSec="Keyframe Interval (0=auto)" Profile="Profile" -None="(None)" -DefaultEncoder="(Default Encoder)" UseBFrames="Use B-Frames" RateControl="Rate Control" ColorFormatUnsupportedH264="The selected color format is not supported by the Apple VT H.264 encoder. Select a compatible color format in Settings -> Advanced or use a different encoder."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/es-ES.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/es-ES.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="Codificador de Hardware Apple VT H264" VTH264EncSW="Codificador de Software Apple VT H264" -VTEncoder="Codificador VideoToolbox" Bitrate="Tasa de bits" Quality="Calidad" UseMaxBitrate="Límite de bitrate" @@ -8,8 +7,6 @@ MaxBitrateWindow="Ventana de tasa de bits máxima" KeyframeIntervalSec="Intervalo de fotogramas clave (0=auto)" Profile="Perfíl" -None="(Ninguno)" -DefaultEncoder="(Codificador por defecto)" UseBFrames="Usar B-Frames" RateControl="Control de la frecuencia" ColorFormatUnsupportedH264="El formato de color seleccionado no está soportado por el codificador Apple VT H.264. Seleccione un formato de color compatible en Ajustes -> Avanzado o utilice un codificador diferente."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/et-EE.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/et-EE.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="Apple VT H264 riistvara kodeerija" VTH264EncSW="Apple VT H264 tarkvara kodeerija" -VTEncoder="VideoToolbox kodeerija" Bitrate="Bitikiirus" Quality="Kvaliteet" UseMaxBitrate="Piira bitikiirust" @@ -8,8 +7,6 @@ MaxBitrateWindow="Maksimaalne bitikiiruse aken" KeyframeIntervalSec="Võtmekaadri intervall (0=automaatne)" Profile="Profiil" -None="(Määramata)" -DefaultEncoder="(Vaikekodeering)" UseBFrames="Kasuta B-kaadreid" RateControl="Kiiruse kontroll" ColorFormatUnsupportedH264="Apple VT H.264 kodeerija ei toeta valitud värvivormingut. Vali ühilduv värvivorming Seaded -> Täpsemad või kasuta teist kodeerijat."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/eu-ES.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/eu-ES.ini
Changed
@@ -1,10 +1,7 @@ VTH264EncHW="Apple VT H264 hardware kodetzailea" VTH264EncSW="Apple VT H264 software kodetzailea" -VTEncoder="VideoToolbox kodetzailea" Bitrate="Bit-tasa" UseMaxBitrate="Mugatu bit-tasa" MaxBitrate="Gehienezko bit-tasa" Profile="Profila" -None="(Bat ere ez)" -DefaultEncoder="(Lehenetsitako kodetzailea)" UseBFrames="Erabili B-fotogramak"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/fa-IR.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/fa-IR.ini
Changed
@@ -1,12 +1,12 @@ VTH264EncHW="تخمین سخت افزار اپل VT H264" VTH264EncSW="رمزگذار نرم افزار اپل VT H264" -VTEncoder="تخمین VideoToolbox" Bitrate="نرخ بیت" Quality="کیفیت" UseMaxBitrate="بیت محدود" MaxBitrate="حداکثر میزان نرخ بیت" +MaxBitrateWindow="حداکثر پنجره نرخ بیت" +KeyframeIntervalSec="فاصله فریم کلیدی (0=خودکار)" Profile="پروفایل" -None="(هیچکدام)" -DefaultEncoder="(رمزگذاری پیشفرض)" UseBFrames="استفاده از فریم های B" RateControl="کنترل نرخ" +ColorFormatUnsupportedH264="فرمت رنگ انتخاب شده توسط رمزگذار Apple VT H.264 پشتیبانی نمی شود. یک قالب رنگی سازگار را در تنظیمات -> پیشرفته انتخاب کنید یا از رمزگذار دیگری استفاده کنید."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/fi-FI.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/fi-FI.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="Apple VT H264 Laitteistopohjainen enkooderi" VTH264EncSW="Apple VT H264 Ohjelmistopohjainen enkooderi" -VTEncoder="VideoToolbox Enkooderi" Bitrate="Bittinopeus" Quality="Laatu" UseMaxBitrate="Rajoita bittinopeutta" @@ -8,8 +7,6 @@ MaxBitrateWindow="Suurin siirtonopeusikkuna" KeyframeIntervalSec="Avainruutujen väli (0=automaattinen)" Profile="Profiili" -None="(Ei mitään)" -DefaultEncoder="(Oletusenkooderi)" UseBFrames="Käytä B-ruutuja" RateControl="Nopeuden säätö" ColorFormatUnsupportedH264="Apple VT H.264 -enkooderi ei tue valittua värimuotoa. Valitse yhteensopiva värimuoto kohdasta Asetukset -> Kehittynyt, tai käytä toista enkooderia."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/fil-PH.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/fil-PH.ini
Changed
@@ -1,10 +1,7 @@ VTH264EncHW="Apol VT H264 Softwer Enkoder" VTH264EncSW="Apol VT H264 Softwer Enkoder" -VTEncoder="Bidyo ng Kahon ng kasangkapan Enkoder" Bitrate="Bitreyt" UseMaxBitrate="Limitasyon ng bitreyt" MaxBitrate="Pinakamataas na bitreyt" Profile="Propayl" -None="(Wala)" -DefaultEncoder="(Depolt Enkoder)" UseBFrames="Gamitin ang B-Preyms"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/fr-FR.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/fr-FR.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="Encodeur matériel Apple VT H264" VTH264EncSW="Encodeur logiciel Apple VT H264" -VTEncoder="Encodeur VideoToolbox" Bitrate="Débit" Quality="Qualité" UseMaxBitrate="Limiter le débit" @@ -8,8 +7,6 @@ MaxBitrateWindow="Fenêtre de débit maximal" KeyframeIntervalSec="Intervalle d'images clés (0 = auto)" Profile="Profil" -None="(Aucun)" -DefaultEncoder="(Encodeur par défaut)" UseBFrames="Utiliser les B-Frames" RateControl="Contrôle du débit" ColorFormatUnsupportedH264="Le format de couleur sélectionné n'est pas pris en charge par l'encodeur Apple VT H.264. Sélectionnez un format de couleur compatible dans Paramètres -> Avancé ou utilisez un encodeur différent."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/gd-GB.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/gd-GB.ini
Changed
@@ -1,10 +1,7 @@ VTH264EncHW="Inneal-còdachaidh bathair-chruaidh Apple VT H264" VTH264EncSW="Inneal-còdachaidh bathair-bhog Apple VT H264" -VTEncoder="Inneal-còdachaidh VideoToolbox" Bitrate="Reat bhiodan" UseMaxBitrate="Cuingich an reat bhiodan" MaxBitrate="Reat bhiodan as motha" Profile="Pròifil" -None="(Chan eil gin)" -DefaultEncoder="(An t-inneal-còdachaidh bunaiteach)" UseBFrames="Cleachd frèamaichean-B"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/gl-ES.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/gl-ES.ini
Changed
@@ -1,10 +1,7 @@ VTH264EncHW="Codificador de hárdware Apple VT H264" VTH264EncSW="Codificador de sóftware Apple VT H264" -VTEncoder="Codificador VideoToolbox" Bitrate="Taxa de bits" UseMaxBitrate="Limitar a taxa de bits" MaxBitrate="Taxa de bits máxima" Profile="Perfil" -None="(Ningún)" -DefaultEncoder="(Codificador predeterminado)" UseBFrames="Utilizar B-Frames"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/he-IL.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/he-IL.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="מקודד חומרה Apple VT H264" VTH264EncSW="מקודד תוכנה Apple VT H264" -VTEncoder="מקודד VideoToolbox" Bitrate="קצב נתונים" Quality="איכות" UseMaxBitrate="הגבל קצב נתונים" @@ -8,8 +7,6 @@ MaxBitrateWindow="חלון קצב נתונים מרבי" KeyframeIntervalSec="מרווח תמונות מפתח (0=אוטומטי)" Profile="פרופיל" -None="(ללא)" -DefaultEncoder="(מקודד ברירת מחדל)" UseBFrames="השתמש ב- B-frames" RateControl="בקרת קצב" ColorFormatUnsupportedH264="תצורת הצבע הנבחרת אינה נתמכת על ידי המצפין Apple VT H.264. נא לבחור תצורת צבע בהגדרות -> מתקדם או להשתמש במצפין אחר."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/hi-IN.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/hi-IN.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="Apple VT H264 हार्डवेयर एनकोडर" VTH264EncSW="Apple VT H264 सॉफ़्टवेयर एनकोडर" -VTEncoder="VideoToolbox एनकोडर" Bitrate="बिटरेट" Quality="गुणवत्ता" UseMaxBitrate="बिटरेट सीमित करें" @@ -8,8 +7,6 @@ MaxBitrateWindow="अधिकतम बिटरेट विंडो" KeyframeIntervalSec="कीफ़्रेम अंतराल (0=स्वतः)" Profile="प्रोफ़ाइल" -None="(कोई नहीं)" -DefaultEncoder="(डिफ़ॉल्ट एनकोडर)" UseBFrames="बी-फ्रेम्स का प्रयोग करें" RateControl="दर नियंत्रण" ColorFormatUnsupportedH264="चयनित रंग प्रारूप Apple VT H.264 एन्कोडर द्वारा समर्थित नहीं है. सेटिंग्स -> उन्नत में एक संगत रंग प्रारूप का चयन करें या किसी भिन्न एन्कोडर का उपयोग करें."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/hr-HR.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/hr-HR.ini
Changed
@@ -1,10 +1,7 @@ VTH264EncHW="Apple VT H264 hardversko kodiranje" VTH264EncSW="Apple VT H264 softversko kodiranje" -VTEncoder="VideoToolbox kodiranje" Bitrate="Protok" UseMaxBitrate="Ograniči protok" MaxBitrate="Maksimalni protok" Profile="Profil" -None="(nijedan)" -DefaultEncoder="(standardno kodiranje)" UseBFrames="Koristi B-frejmove"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/hu-HU.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/hu-HU.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="Apple VT H264 hardveres kódoló" VTH264EncSW="Apple VT H264 szoftveres kódoló" -VTEncoder="VideoToolbox H264 kódoló" Bitrate="Bitsebesség" Quality="Minőség" UseMaxBitrate="Bitsebesség limit" @@ -8,8 +7,6 @@ MaxBitrateWindow="Maximális bitsebességablak" KeyframeIntervalSec="Kulcsképkockák időköze (0=automatikus)" Profile="Profil" -None="(Nincs)" -DefaultEncoder="(Alapértelmezett kódoló)" UseBFrames="B-frame használata" RateControl="Sebességvezérlés" ColorFormatUnsupportedH264="A kiválasztott színformátumot nem támogatja az Apple VT H.264-kódoló. Válasszon egy kompatibilis színformátumot a Beállítások -> Speciális alatt, vagy használjon másik kódolót."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/hy-AM.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/hy-AM.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="Apple VT H264 ապարատային կոդավորիչ" VTH264EncSW="Apple VT H264 ծրագրային կոդավորիչ" -VTEncoder="VideoToolbox-ի կոդավորիչ" Bitrate="Բիթրեյթ" Quality="Որակ" UseMaxBitrate="Սահմանափակել բիթրեյթը" @@ -8,7 +7,6 @@ MaxBitrateWindow="Առավելագույն բիթրեյթ պատուհան" KeyframeIntervalSec="Հիմնական կադրերի ընդմիջում (0=ավտոմատ)" Profile="Պրոֆիլ" -None="(Ոչ մի)" -DefaultEncoder="(Կանխադրված կոդավորիչ)" UseBFrames="Օգտագործել B-կադրերը" RateControl="Բիթրեյթի վերահսկում" +ColorFormatUnsupportedH264="Ընտրված գունային ձևաչափը չի աջակցվում Apple VT H.264 կոդավորիչի կողմից: Ընտրեք գունային համատեղելի ձևաչափ Կարգավորումներ -> Ընդլայնված կամ օգտագործեք այլ կոդավորիչ:"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/id-ID.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/id-ID.ini
Changed
@@ -1,14 +1,11 @@ VTH264EncHW="Pengkodean Perangkat Keras Apple VT H264" VTH264EncSW="Pengkodean Perangkat Lunak Apple VT H264" -VTEncoder="Pengkodean VideoToolbox" Quality="Kualitas" UseMaxBitrate="Batas Bitrate" MaxBitrate="Maksimum bitrate" MaxBitrateWindow="Maksimum bitrate jendela" KeyframeIntervalSec="Interval Keyframe (0=otomatis)" Profile="Profil" -None="(Tidak ada)" -DefaultEncoder="(Pengkodean Bawaan)" UseBFrames="Gunakan B-Frame" RateControl="Kontrol Rate" ColorFormatUnsupportedH264="Format warna yang dipilih tidak didukung oleh pengkodean Apple VT H.264. Pilih format warna yang kompatibel di Pengaturan -> Lanjutan atau gunakan pengkodean yang lain."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/it-IT.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/it-IT.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="Codifica hardware Apple VT H264" VTH264EncSW="Codifica software Apple VT H264" -VTEncoder="Codifica VideoToolbox" Bitrate="Velocità in bit" Quality="Qualità" UseMaxBitrate="Limite della velocità in bit" @@ -8,8 +7,6 @@ MaxBitrateWindow="Finestra bitrate massimo" KeyframeIntervalSec="Intervallo fotogramma chiave (0=automatico)" Profile="Profilo" -None="(nessuno)" -DefaultEncoder="(Encoder Predefinito)" UseBFrames="Utilizza i B-Frame" RateControl="Controllo flusso" ColorFormatUnsupportedH264="Il formato colore selezionato non è supportato dall'encoder Apple VT H.264. Seleziona un formato colore compatibile in Impostazioni -> Avanzate o usa un diverso encoder."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/ja-JP.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/ja-JP.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="Apple VT H264 ハードウェアエンコーダ" VTH264EncSW="Apple VT H264 ソフトウェアエンコーダ" -VTEncoder="VideoToolbox エンコーダ" Bitrate="ビットレート" Quality="品質" UseMaxBitrate="ビットレート制限" @@ -8,8 +7,6 @@ MaxBitrateWindow="最大ビットレート ウィンドウ" KeyframeIntervalSec="キーフレーム間隔 (0=自動)" Profile="プロファイル" -None="(なし)" -DefaultEncoder="(既定のエンコーダ)" UseBFrames="B フレームを使用する" RateControl="レート制御" ColorFormatUnsupportedH264="選択したカラーフォーマットは Apple VT H.264 エンコーダ ではサポートされていません。 設定 -> 詳細設定 で互換性のあるカラーフォーマットを選択するか、他のエンコーダを使用してください。"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/ka-GE.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/ka-GE.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="Apple VT H264 აპარატურული დამშიფრავი" VTH264EncSW="Apple VT H264 პროგრამული დამშიფრავი" -VTEncoder="VideoToolbox დამშიფრავი" Bitrate="ბიტური სიხშირე" Quality="ხარისხი" UseMaxBitrate="ბიტური სიხშირის შეზღუდვა" @@ -8,8 +7,6 @@ MaxBitrateWindow="უმაღლესი ბიტური სიხშირის დამოწმების შუალედი" KeyframeIntervalSec="საკვანძო კადრების დაშორება (0=თვითშერჩევა)" Profile="პროფილი" -None="(არცერთი)" -DefaultEncoder="(ნაგულისხმევი დამშიფრავი)" UseBFrames="B-კადრების გამოყენება" RateControl="სიხშირის მართვა" ColorFormatUnsupportedH264="შერჩეული სახის ფერებს ვერ უზრუნველყოფს Apple-VT H.264-დამშიფრავი. თავსებადი სახის ფერების ასარჩევად იხილეთ პარამეტრები -> დამატებითი ან მოსინჯეთ სხვა დამშიფრავი."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/kab-KAB.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/kab-KAB.ini
Changed
@@ -1,10 +1,7 @@ VTH264EncHW="Asettengal n warrum Apple VT H264" VTH264EncSW="Asettengal n useɣẓan Apple VT H264" -VTEncoder="Asettengal n uvidyu Toolbox" Bitrate="Aktum" UseMaxBitrate="Eg tilist i uktum" MaxBitrate="Aktum afellay" Profile="Amaɣnu" -None="(Ulac)" -DefaultEncoder="(Asettengal n lexṣas)" UseBFrames="Seqdec B-Frames"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/kmr-TR.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/kmr-TR.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="Kodkirina alavê Apple VT H264" VTH264EncSW="Kodkirina nermalavê Apple VT H264" -VTEncoder="Kodkirina amûra vîdyoyê" Bitrate="Leza bit" Quality="Kalîte" UseMaxBitrate="Leza bit bi sînor bike" @@ -8,8 +7,6 @@ MaxBitrateWindow="Çarçoveya leza bit ya herî bilind" KeyframeIntervalSec="Dabeşkera demkî di navbera çarçoveyan de (0=xweber)" Profile="Profîl" -None="(Ne yek)" -DefaultEncoder="(Kodkirina berdest)" UseBFrames="B-Çarçove bi kar bîne" RateControl="Kontrola rêjeyê" ColorFormatUnsupportedH264="Formata rengê hilbijartî ji hêla kodkera Apple VT H.264 ve nayê piştgirîkirin. Di Sazkarî -> Pêşketî de formatek rengê lihevhatî hilbijêre an jî kodkereke cûda bi kar bîne."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/ko-KR.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/ko-KR.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="Apple VT H264 하드웨어 인코더" VTH264EncSW="Apple VT H264 소프트웨어 인코더" -VTEncoder="VideoToolbox 인코더" Bitrate="비트레이트" Quality="품질" UseMaxBitrate="비트레이트 제한" @@ -8,8 +7,6 @@ MaxBitrateWindow="최대 비트레이트 간격" KeyframeIntervalSec="키프레임 간격 (0=자동)" Profile="프로파일" -None="(없음)" -DefaultEncoder="(기본 인코더)" UseBFrames="B-Frame 사용" RateControl="데이터율 제어" ColorFormatUnsupportedH264="선택한 색상 포맷을 Apple VT H.264 인코더에서 지원하지 않습니다. 설정 -> 고급에서 호환되는 색상 포맷을 선택하거나 다른 인코더를 사용하십시오."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/lt-LT.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/lt-LT.ini
Changed
@@ -1,10 +1,7 @@ VTH264EncHW="Apple VT H264 Techninis Koduotuvas" VTH264EncSW="Apple VT H264 Programinės Įrangos Koduotuvas" -VTEncoder="VideoToolbox Koduotuvas" Bitrate="Pralaidumas" UseMaxBitrate="Limituoti pralaidumą" MaxBitrate="Maksimalus pralaidumas" Profile="Profilis" -None="(Joks)" -DefaultEncoder="(Numatytasis koduotuvas)" UseBFrames="Naudoti B-Kadrus"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/ms-MY.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/ms-MY.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="Pengekod Perkakasan H264 VT Apple" VTH264EncSW="Pengekod Perisian H264 VT Apple" -VTEncoder="Pengekod Kotak Alat Video" Bitrate="Kadar Bit" Quality="Kualiti" UseMaxBitrate="Had kadar bit" @@ -8,8 +7,6 @@ MaxBitrateWindow="Tetingkap kadar bit maksimum" KeyframeIntervalSec="Sela Bingkai Kunci (0=auto)" Profile="Profil" -None="(Tiada)" -DefaultEncoder="(Pengekod Lalai)" UseBFrames="Guna Bingkai-B" RateControl="Kawalan Kadar" ColorFormatUnsupportedH264="Format warna terpilih tidak disokong oleh pengekod VT H.264 Apple. Pilih satu format warna yang serasi di dalam Tetapan -> Lanjutan atau guna pengekod yang lain."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/nb-NO.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/nb-NO.ini
Changed
@@ -1,10 +1,7 @@ VTH264EncHW="Apple VT H264-maskinvarekoder" VTH264EncSW="Apple VT H264-programvarekoder" -VTEncoder="VideoToolbox-koder" Bitrate="Bithastighet" UseMaxBitrate="Begrens bithastighet" MaxBitrate="Høyeste bithastighet" Profile="Profil" -None="(Ingen)" -DefaultEncoder="(Standardkoder)" UseBFrames="Bruker B-Frames"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/nl-NL.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/nl-NL.ini
Changed
@@ -4,7 +4,5 @@ MaxBitrateWindow="Maximale bitrate venster" KeyframeIntervalSec="Tijd tussen keyframes (0=auto)" Profile="Profiel" -None="(Geen)" -DefaultEncoder="(Standaard Encoder)" UseBFrames="Gebruik B-Frames" ColorFormatUnsupportedH264="Het geselecteerde kleurenformaat wordt niet ondersteund door de Apple VT H.264 encoder. Selecteer een compatibele kleurenformaat in Instellingen -> Geavanceerd of gebruik een andere encoder."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/pl-PL.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/pl-PL.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="Sprzętowy Enkoder Apple VT H264" VTH264EncSW="Programowy Enkoder Apple VT H264" -VTEncoder="Enkoder VideoToolbox" Bitrate="Przepływność (bitrate)" Quality="Jakość" UseMaxBitrate="Ograniczenie przepływności" @@ -8,8 +7,6 @@ MaxBitrateWindow="Okienko maksymalnej przepływności" KeyframeIntervalSec="Odstęp między klatkami kluczowymi (0=automatyczny)" Profile="Profil" -None="(Brak)" -DefaultEncoder="(Domyślny enkoder)" UseBFrames="Użyj ramek B-Frame" RateControl="Typ przepływności" ColorFormatUnsupportedH264="Wybrany format kolorów nie jest obsługiwany przez enkoder Apple VT H.264. Wybierz kompatybilny format kolorów w Ustawienia -> Zaawansowane lub użyj innego enkodera."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/pt-BR.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/pt-BR.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="Codificador de Hardware Apple VT H264" VTH264EncSW="Codificador de Software Apple VT H264" -VTEncoder="Codificador VideoToolbox" Bitrate="Taxa de Bits" Quality="Qualidade" UseMaxBitrate="Limitar taxa de bits" @@ -8,8 +7,6 @@ MaxBitrateWindow="Janela de taxa de bit máxima" KeyframeIntervalSec="Intervalo de Keyframe (0=auto)" Profile="Perfil" -None="(Nenhum)" -DefaultEncoder="(Codificador padrão)" UseBFrames="Usar B-Frames" RateControl="Controle da taxa de bits" ColorFormatUnsupportedH264="O formato de cor selecionado não é suportado pelo codificador Apple VT H.264. Selecione um formato de cor compatível em Configurações -> Avançado ou use um codificador diferente."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/pt-PT.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/pt-PT.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="Codificador Apple VT H264 Hardware" VTH264EncSW="Codificador Apple VT H264 Software" -VTEncoder="Codificador VideoToolbox" Bitrate="Taxa de bits" Quality="Qualidade" UseMaxBitrate="Limitar taxa de bits" @@ -8,8 +7,6 @@ MaxBitrateWindow="Janela de taxa de bits máxima" KeyframeIntervalSec="Intervalo de fotogramas-chave ( 0=automático)" Profile="Perfil" -None="(nenhum)" -DefaultEncoder="(codificador predefinido)" UseBFrames="Usar B-Frames" RateControl="Controlo de taxa" ColorFormatUnsupportedH264="O formato de cor selecionado não é suportado pelo codificador Apple VT H.264. Selecione um formato de cor compatível em Configurações -> Avançado, ou use um codificador diferente."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/ro-RO.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/ro-RO.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="Codificator hardware H264 Apple VT" VTH264EncSW="Codificator software H264 Apple VT" -VTEncoder="Codificator VideoToolbox" Bitrate="Rată de biți" Quality="Calitate" UseMaxBitrate="Limitează rata de biți" @@ -8,8 +7,6 @@ MaxBitrateWindow="Fereastra de rată maximă de biți" KeyframeIntervalSec="Interval de cadre cheie (0=auto)" Profile="Profil" -None="(Niciunul)" -DefaultEncoder="(Codificator implicit)" UseBFrames="Folosește cadre B" RateControl="Controlul ratei" ColorFormatUnsupportedH264="Formatul de culoare selectat nu este acceptat de codificatorul Apple VT H.264. Selectați un format de culoare compatibil în Setări -> Avansat sau utilizați un alt codificator."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/ru-RU.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/ru-RU.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="Аппаратный кодировщик Apple VT H264" VTH264EncSW="Программный кодировщик Apple VT H264" -VTEncoder="Кодировщик VideoToolbox" Bitrate="Битрейт" Quality="Качество" UseMaxBitrate="Ограничивать битрейт" @@ -8,8 +7,6 @@ MaxBitrateWindow="Максимальное окно битрейта" KeyframeIntervalSec="Интервал ключевых кадров (0=авто)" Profile="Профиль" -None="(Нет)" -DefaultEncoder="(Кодировщик по умолчанию)" UseBFrames="Использовать B-кадры" RateControl="Управление битрейтом" ColorFormatUnsupportedH264="Выбранный формат цвета не поддерживается кодером Apple VT H.264. Выберите совместимый формат цвета в «Настройки -> Дополнительно» или используйте другой кодер."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/si-LK.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/si-LK.ini
Changed
@@ -1,11 +1,8 @@ VTH264EncHW="ඇපල් වීටී H264 දෘඩාංග ආකේතකය" VTH264EncSW="ඇපල් වීටී H264 මෘදුකාංග ආකේතකය" -VTEncoder="දෘශ්ය-මෙවලම්-පෙට්ටිය ආකේතකය" Bitrate="බිටුඅනුපා." Quality="ගුණත්වය" UseMaxBitrate="බිටුඅනු. සීමාව" MaxBitrate="උපරිම බිටුඅනු." Profile="පැතිකඩ" -None="(කිසිත් නැත)" -DefaultEncoder="(පෙරනිමි ආකේතකය)" UseBFrames="B-රාමු භාවිතය"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/sk-SK.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/sk-SK.ini
Changed
@@ -1,14 +1,11 @@ VTH264EncHW="Apple VT H264 Hardvérový Enkodér" VTH264EncSW="Apple VT H264 Software Enkodér" -VTEncoder="VideoToolbox Enkodér" Quality="Kvalita" UseMaxBitrate="Obmedziť bitrate" MaxBitrate="Maximálny bitrate" MaxBitrateWindow="Maximálne bitrate okno" KeyframeIntervalSec="Interval kľúčových snímkov (0=automaticky)" Profile="Profil" -None="(Žiadny)" -DefaultEncoder="(Predvolený enkodér)" UseBFrames="Použiť B-Frames" RateControl="Riadenie toku" ColorFormatUnsupportedH264="Vybraný farebný formát nie je podporovaný Apple VT H.264 enkodérom. Vyberte kompatibilný farebný formát v Nastavenia -> Pokročilé alebo použite iný enkodér."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/sl-SI.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/sl-SI.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="Apple VT H264 strojni kodirnik" VTH264EncSW="Apple VT H264 strojni kodirnik" -VTEncoder="VideoToolbox kodirnik" Bitrate="Bitna hitrost" Quality="Kakovost" UseMaxBitrate="Omeji bitno hitrost" @@ -8,8 +7,6 @@ MaxBitrateWindow="Okno največje bitne hitrosti" KeyframeIntervalSec="Razmik med ključnimi sličicami (0=samodejno)" Profile="Profil" -None="(brez)" -DefaultEncoder="(privzeti kodirnik)" UseBFrames="Uporabi B-sličice" RateControl="Nadzor hitrosti" ColorFormatUnsupportedH264="Kodirnik Apple VT H.264 ne podpira izbrane oblike barve. Izberite združljiv barvni zapis v Nastavitve -> Napredno ali uporabite drug kodirnik."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/sr-CS.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/sr-CS.ini
Changed
@@ -1,10 +1,7 @@ VTH264EncHW="Apple VT H264 hardverski enkoder" VTH264EncSW="Apple VT H264 softverski enkoder" -VTEncoder="VideoToolbox enkoder" Bitrate="Protok" UseMaxBitrate="Ograniči protok" MaxBitrate="Maksimalni protok" Profile="Profil" -None="(nijedan)" -DefaultEncoder="(Podrazumevani enkoder)" UseBFrames="Koristi B-frejmove"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/sr-SP.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/sr-SP.ini
Changed
@@ -1,10 +1,7 @@ VTH264EncHW="Apple VT H264 хардверски енкодер" VTH264EncSW="Apple VT H264 софтверски енкодер" -VTEncoder="VideoToolbox енкодер" Bitrate="Проток" UseMaxBitrate="Ограничи проток" MaxBitrate="Максимални проток" Profile="Профил" -None="(ниједан)" -DefaultEncoder="(Подразумевани енкодер)" UseBFrames="Користи Б-фрејмове"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/sv-SE.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/sv-SE.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="Apple VT H264-hårdvarukodare" VTH264EncSW="Apple VT H264-mjukvarukodare" -VTEncoder="VideoToolbox-kodare" Bitrate="Bithastighet" Quality="Kvalitet" UseMaxBitrate="Begränsa bithastighet" @@ -8,8 +7,6 @@ MaxBitrateWindow="Maximalt bithastighetsfönster" KeyframeIntervalSec="Intervall för keyframes (0=automatiskt)" Profile="Profil" -None="(Ingen)" -DefaultEncoder="(Standardkodare)" UseBFrames="Använd B-bildrutor" RateControl="Hastighetskontroll" ColorFormatUnsupportedH264="Det valda färgformatet stöds inte av Apple VT H.264-kodaren. Välj ett kompatibelt färgformat i Inställningar -> Avancerat eller använd en annan kodare."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/szl-PL.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/szl-PL.ini
Changed
@@ -1,8 +1,5 @@ VTH264EncHW="Sprzyntowy Enkoder Apple VT H264" VTH264EncSW="Programowy Enkoder Apple VT H264" -VTEncoder="Enkoder VideoToolbox" MaxBitrate="Maksymalny bitrate" Profile="Profil" -None="(Brak)" -DefaultEncoder="(Sztandardowy enkoder)" UseBFrames="Użyj rōmek B-Frame"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/ta-IN.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/ta-IN.ini
Changed
@@ -1,10 +1,7 @@ VTH264EncHW="Apple VT H264 வன்பொருள் குறியாக்கி" VTH264EncSW="Apple VT H264 மென்பொருள் குறியாக்கி" -VTEncoder="VideoToolbox குறியாக்கி" Bitrate="பிட்விகிதம்" UseMaxBitrate="வரம்பு பிட்ரேட்" MaxBitrate="அதிகபட்ச பிட்விகிதம்" Profile="சுயவிவரம்" -None="(எதுவுமில்லை)" -DefaultEncoder="(இயல்புநிலை குறியாக்கி)" UseBFrames="B-Frames ஐ பயன்படுத்து"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/th-TH.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/th-TH.ini
Changed
@@ -1,10 +1,7 @@ VTH264EncHW="ตัวเข้ารหัสฮาร์ดแวร์ Apple VT H264" VTH264EncSW="ตัวเข้ารหัสซอฟต์แวร์ Apple VT H264" -VTEncoder="ตัวเข้ารหัส VideoToolbox" Bitrate="บิตเรต" UseMaxBitrate="การจำกัดบิตเรต" MaxBitrate="อัตราบิตสูงสุด" Profile="โปรไฟล์" -None="(ไม่มี)" -DefaultEncoder="(ตัวเข้ารหัสเริ่มต้น)" UseBFrames="ใช้ B-Frames"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/tl-PH.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/tl-PH.ini
Changed
@@ -1,10 +1,7 @@ VTH264EncHW="Ang Hardware Encoder ng Apple VT H264" VTH264EncSW="Ang Software Encoder ng Apple VT H264" -VTEncoder="Ang VideoToolbox ng Encoder" Bitrate="Bitreyt" UseMaxBitrate="Limitasyon sa Bitreyt" MaxBitrate="Pinakamalakas na bitrate" Profile="Bista sa Tagiliran" -None="(Wala)" -DefaultEncoder="(I-default ang Encoder)" UseBFrames="Gumamit ng mga B-Frame"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/tr-TR.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/tr-TR.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="Apple VT H264 Donanım Kodlayıcı" VTH264EncSW="Apple VT H264 Yazılım Kodlayıcı" -VTEncoder="VideoToolbox Kodlayıcı" Bitrate="Bit hızı" Quality="Kalite" UseMaxBitrate="Bit hızını sınırla" @@ -8,8 +7,6 @@ MaxBitrateWindow="Maksimum bit hızı penceresi" KeyframeIntervalSec="Anahtar Kare Aralığı (0=otomatik)" Profile="Profil" -None="(Yok)" -DefaultEncoder="(Varsayılan Kodlayıcı)" UseBFrames="B-Karelerini kullan" RateControl="Oran Kontrolü" ColorFormatUnsupportedH264="Seçili renk biçimi Apple VT H.264 kodlayıcısı tarafından desteklenmiyor. Ayarlar -> Gelişmiş bölümünden uyumlu bir renk biçimi seçin veya farklı bir kodlayıcı kullanın."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/uk-UA.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/uk-UA.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="Апаратний кодувальник Apple VT H264" VTH264EncSW="Програмний кодувальник Apple VT H264" -VTEncoder="Кодувальник VideoToolbox" Bitrate="Бітрейт" Quality="Якість" UseMaxBitrate="Обмежити бітрейт" @@ -8,8 +7,6 @@ MaxBitrateWindow="Вікно максимального бітрейту" KeyframeIntervalSec="Інтервал ключових кадрів (0=авто)" Profile="Профіль" -None="(Немає)" -DefaultEncoder="(Кодувальник за замовчуванням)" UseBFrames="Використовувати B-кадри" RateControl="Керування бітрейтом" ColorFormatUnsupportedH264="Вибраний формат кольору не підтримується кодувальником Apple VT H.264. Виберіть сумісний формат кольору в меню Налаштування -> Розширені або використовуйте інший кодувальник."
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/vi-VN.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/vi-VN.ini
Changed
@@ -1,9 +1,7 @@ VTH264EncHW="Bộ biên mã Apple VT H264 bằng phần cứng" VTH264EncSW="Bộ biên mã Apple VT H264 bằng phần mềm" -VTEncoder="Bộ biên mã VideoToolbox" +Quality="Chất lượng" UseMaxBitrate="Giới hạn bitrate" MaxBitrate="Bitrate tối đa" Profile="Hồ sơ" -None="(Không)" -DefaultEncoder="(Bộ biên mã mặc định)" UseBFrames="Sử dụng B-Frame"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/zh-CN.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/zh-CN.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="苹果 VT H264 硬件编码器" VTH264EncSW="苹果 VT H264 软件编码器" -VTEncoder="VideoToolbox 编码器" Bitrate="比特率" Quality="质量" UseMaxBitrate="限制比特率" @@ -8,8 +7,6 @@ MaxBitrateWindow="最大比特率窗口" KeyframeIntervalSec="关键帧间隔(0=自动)" Profile="配置文件" -None="(无)" -DefaultEncoder="(默认编码器)" UseBFrames="使用 B 帧" RateControl="码率控制" ColorFormatUnsupportedH264="Apple VT H.264 编码器不支持选定的颜色格式。请在“设置 -> 高级”中选择兼容的颜色格式,或使用其他编码器。"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/data/locale/zh-TW.ini -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/data/locale/zh-TW.ini
Changed
@@ -1,6 +1,5 @@ VTH264EncHW="蘋果 VT H264 硬體編碼器" VTH264EncSW="蘋果 VT H264 軟體編碼器" -VTEncoder="VideoToolbox 編碼器" Bitrate="位元率" Quality="畫質" UseMaxBitrate="限制位元率" @@ -8,8 +7,6 @@ MaxBitrateWindow="最大位元速率視窗" KeyframeIntervalSec="關鍵訊框間隔(0 = 自動)" Profile="設定檔" -None="(無)" -DefaultEncoder="(預設編碼器)" UseBFrames="使用 B 訊框" RateControl="位元率控制" ColorFormatUnsupportedH264="Apple VT H.264 編碼器不支援選擇的色彩格式。請在「設定」→「進階」中選擇相容的色彩格式,或使用其他編碼器。"
View file
obs-studio-28.0.3.tar.xz/plugins/mac-videotoolbox/encoder.c -> obs-studio-28.1.1.tar.xz/plugins/mac-videotoolbox/encoder.c
Changed
@@ -891,7 +891,6 @@ return type_data->disp_name; } -#define TEXT_VT_ENCODER obs_module_text("VTEncoder") #define TEXT_BITRATE obs_module_text("Bitrate") #define TEXT_QUALITY obs_module_text("Quality") #define TEXT_USE_MAX_BITRATE obs_module_text("UseMaxBitrate") @@ -899,8 +898,6 @@ #define TEXT_MAX_BITRATE_WINDOW obs_module_text("MaxBitrateWindow") #define TEXT_KEYINT_SEC obs_module_text("KeyframeIntervalSec") #define TEXT_PROFILE obs_module_text("Profile") -#define TEXT_NONE obs_module_text("None") -#define TEXT_DEFAULT obs_module_text("DefaultEncoder") #define TEXT_BFRAMES obs_module_text("UseBFrames") #define TEXT_RATE_CONTROL obs_module_text("RateControl") @@ -995,7 +992,6 @@ p = obs_properties_add_list(props, "profile", TEXT_PROFILE, OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_STRING); - obs_property_list_add_string(p, TEXT_NONE, ""); obs_property_list_add_string(p, "baseline", "baseline"); obs_property_list_add_string(p, "main", "main"); obs_property_list_add_string(p, "high", "high"); @@ -1024,7 +1020,7 @@ obs_data_set_default_int(settings, "max_bitrate", 2500); obs_data_set_default_double(settings, "max_bitrate_window", 1.5f); obs_data_set_default_int(settings, "keyint_sec", 0); - obs_data_set_default_string(settings, "profile", ""); + obs_data_set_default_string(settings, "profile", "main"); obs_data_set_default_bool(settings, "bframes", true); }
View file
obs-studio-28.0.3.tar.xz/plugins/mac-virtualcam/src/dal-plugin/OBSDALMachClient.mm -> obs-studio-28.1.1.tar.xz/plugins/mac-virtualcam/src/dal-plugin/OBSDALMachClient.mm
Changed
@@ -114,6 +114,7 @@ IOSurfaceRef surface = IOSurfaceLookupFromMachPort( framePort machPort); + framePort invalidate; mach_port_deallocate(mach_task_self(), framePort machPort);
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/browser-client.cpp -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/browser-client.cpp
Changed
@@ -681,18 +681,22 @@ const CefString &source, int line) { int errorLevel = LOG_INFO; + const char *code = "Info"; switch (level) { case LOGSEVERITY_ERROR: errorLevel = LOG_WARNING; + code = "Error"; break; case LOGSEVERITY_FATAL: errorLevel = LOG_ERROR; + code = "Fatal"; break; default: return false; } - blog(errorLevel, "obs-browser: %s (source: %s:%d)", - message.ToString().c_str(), source.ToString().c_str(), line); + blog(errorLevel, "obs-browser: '%s' %s: %s (%s:%d)", + obs_source_get_name(bs->source), code, message.ToString().c_str(), + source.ToString().c_str(), line); return false; }
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/browser-version.h -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/browser-version.h
Changed
@@ -2,7 +2,7 @@ #define OBS_BROWSER_VERSION_MAJOR 2 #define OBS_BROWSER_VERSION_MINOR 18 -#define OBS_BROWSER_VERSION_PATCH 5 +#define OBS_BROWSER_VERSION_PATCH 6 #ifndef MAKE_SEMANTIC_VERSION #define MAKE_SEMANTIC_VERSION(major, minor, patch) \
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/ca-ES.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/ca-ES.ini
Changed
@@ -27,6 +27,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="El servidor ha rebutjat la connexió" ErrorCode.ERR_NAME_NOT_RESOLVED="No s'ha trobat l'adreça IP del servidor" ErrorCode.ERR_CONNECTION_TIMED_OUT="S'ha esgotat el temps de la connexió" +ErrorCode.ERR_TIMED_OUT="S'ha esgotat el temps d'espera de l'operació" ErrorCode.ERR_FILE_NOT_FOUND="No s'ha trobat el fitxer" ErrorCode.ERR_FAILED="Error en connectar" ErrorCode.ERR_NETWORK_CHANGED="La xarxa ha canviat"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/cs-CZ.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/cs-CZ.ini
Changed
@@ -30,6 +30,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="Server odmítl připojení" ErrorCode.ERR_NAME_NOT_RESOLVED="IP adresa serveru nebyla nalezena" ErrorCode.ERR_CONNECTION_TIMED_OUT="Vypršel čas připojování" +ErrorCode.ERR_TIMED_OUT="Čas operace vypršel" ErrorCode.ERR_FILE_NOT_FOUND="Soubor nenalezen" ErrorCode.ERR_FAILED="Spojení se nezdařilo" ErrorCode.ERR_NETWORK_CHANGED="Síť změněna"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/da-DK.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/da-DK.ini
Changed
@@ -27,6 +27,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="Server afviste forbindelsen" ErrorCode.ERR_NAME_NOT_RESOLVED="Server IP-adressen ikke fundet" ErrorCode.ERR_CONNECTION_TIMED_OUT="Forbindelsen fik timeout." +ErrorCode.ERR_TIMED_OUT="Handlingen fik timeout" ErrorCode.ERR_FILE_NOT_FOUND="Fil ikke fundet" ErrorCode.ERR_FAILED="Mislykkedes at forbinde" ErrorCode.ERR_NETWORK_CHANGED="Netværk ændret"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/de-DE.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/de-DE.ini
Changed
@@ -27,6 +27,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="Server hat die Verbindung abgelehnt" ErrorCode.ERR_NAME_NOT_RESOLVED="IP-Adresse des Servers nicht gefunden" ErrorCode.ERR_CONNECTION_TIMED_OUT="Zeitüberschreitung bei Verbindung" +ErrorCode.ERR_TIMED_OUT="Zeitüberschreitung der Operation" ErrorCode.ERR_FILE_NOT_FOUND="Datei nicht gefunden" ErrorCode.ERR_FAILED="Verbindung fehlgeschalgen" ErrorCode.ERR_NETWORK_CHANGED="Netzwerk geändert"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/en-US.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/en-US.ini
Changed
@@ -38,6 +38,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="Server refused the connection" ErrorCode.ERR_NAME_NOT_RESOLVED="Server's IP address not found" ErrorCode.ERR_CONNECTION_TIMED_OUT="Connection timed out" +ErrorCode.ERR_TIMED_OUT="Operation timed out" ErrorCode.ERR_FILE_NOT_FOUND="File not found" ErrorCode.ERR_FAILED="Failed to connect" ErrorCode.ERR_NETWORK_CHANGED="Network changed"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/es-ES.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/es-ES.ini
Changed
@@ -27,6 +27,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="El servidor rechazó la conexión" ErrorCode.ERR_NAME_NOT_RESOLVED="Dirección IP del servidor no encontrada" ErrorCode.ERR_CONNECTION_TIMED_OUT="Tiempo de conexión agotado" +ErrorCode.ERR_TIMED_OUT="Tiempo de espera de la operación agotado" ErrorCode.ERR_FILE_NOT_FOUND="Archivo no encontrado" ErrorCode.ERR_FAILED="Error al conectarse" ErrorCode.ERR_NETWORK_CHANGED="Se ha cambiado de red"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/et-EE.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/et-EE.ini
Changed
@@ -10,5 +10,6 @@ Dialog.Prompt="JavaScript küsimus" Dialog.BrowserDock="Brauseri dokk" ErrorCode.ERR_NAME_NOT_RESOLVED="Server IP aadressi ei leitud" +ErrorCode.ERR_TIMED_OUT="Toiming on aegunud" ErrorCode.ERR_FILE_NOT_FOUND="Faili ei leitud" ErrorCode.ERR_CERT_DATE_INVALID="Serveri SSL-sertifikaat on vananenud või sinu arvuti kellaaeg on vale."
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/fa-IR.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/fa-IR.ini
Changed
@@ -31,8 +31,10 @@ ErrorCode.ERR_CONNECTION_REFUSED="سرور از اتصال خودداری کرد" ErrorCode.ERR_NAME_NOT_RESOLVED="آدرس IP سرور یافت نشد" ErrorCode.ERR_CONNECTION_TIMED_OUT="مهلت اتصال پایان یافت" +ErrorCode.ERR_TIMED_OUT="وقت انجام عملیات به پایان رسید" ErrorCode.ERR_FILE_NOT_FOUND="فایل پیدا نشد" ErrorCode.ERR_FAILED="اتصال ناموفق بود" ErrorCode.ERR_NETWORK_CHANGED="شبکه تغییر کرد" ErrorCode.ERR_SSL_VERSION_INTERFERENCE="تداخل نگارش SSL. ممکن است TLS 1.3 تغییر یافته یا مسدود شده باشد." ErrorCode.ERR_SSL_PROTOCOL_ERROR="خطای پروتکل SSL. نتوانستیم یک اتصال امن ایجاد کنیم." +ErrorCode.ERR_CERT_DATE_INVALID="گواهی SSL سرور قدیمی است یا زمان رایانه شما نادرست است."
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/fi-FI.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/fi-FI.ini
Changed
@@ -29,6 +29,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="Palvelin hylkäsi yhteyden" ErrorCode.ERR_NAME_NOT_RESOLVED="Palvelimen IP-osoitetta ei löydy" ErrorCode.ERR_CONNECTION_TIMED_OUT="Yhteys aikakatkaistiin" +ErrorCode.ERR_TIMED_OUT="Toiminto aikakatkaistiin" ErrorCode.ERR_FILE_NOT_FOUND="Tiedostoa ei löydy" ErrorCode.ERR_FAILED="Yhdistäminen epäonnistui" ErrorCode.ERR_NETWORK_CHANGED="Verkko vaihtui"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/fr-FR.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/fr-FR.ini
Changed
@@ -30,6 +30,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="Le serveur a refusé la connexion" ErrorCode.ERR_NAME_NOT_RESOLVED="L'adresse IP du serveur est introuvable" ErrorCode.ERR_CONNECTION_TIMED_OUT="Délai de connexion dépassé" +ErrorCode.ERR_TIMED_OUT="Délai de connexion dépassé" ErrorCode.ERR_FILE_NOT_FOUND="Fichier introuvable" ErrorCode.ERR_FAILED="Échec de connexion" ErrorCode.ERR_NETWORK_CHANGED="Réseau modifié"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/he-IL.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/he-IL.ini
Changed
@@ -30,6 +30,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="השרת סירב לחיבור" ErrorCode.ERR_NAME_NOT_RESOLVED="כתובת ה־IP של השרת לא נמצאה" ErrorCode.ERR_CONNECTION_TIMED_OUT="זמן החיבור פג" +ErrorCode.ERR_TIMED_OUT="הזמן שהוקצה לפעילות תם" ErrorCode.ERR_FILE_NOT_FOUND="הקובץ לא נמצא" ErrorCode.ERR_FAILED="ההתחברות נכשלה" ErrorCode.ERR_NETWORK_CHANGED="רשת השתנתה"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/hi-IN.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/hi-IN.ini
Changed
@@ -28,6 +28,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="सर्वर ने कनेक्शन से इनकार कर दिया" ErrorCode.ERR_NAME_NOT_RESOLVED="सर्वर का IP पता नहीं मिला" ErrorCode.ERR_CONNECTION_TIMED_OUT="कनेक्शन टाइम आउट" +ErrorCode.ERR_TIMED_OUT="ऑपरेशन टाइम आउट" ErrorCode.ERR_FILE_NOT_FOUND="फ़ाइल नहीं मिली" ErrorCode.ERR_FAILED="जुड़ने में विफल" ErrorCode.ERR_NETWORK_CHANGED="नेटवर्क बदल गया"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/hu-HU.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/hu-HU.ini
Changed
@@ -29,6 +29,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="A kiszolgáló megtagadta a kapcsolatot" ErrorCode.ERR_NAME_NOT_RESOLVED="A kiszolgáló IP-címe nem található" ErrorCode.ERR_CONNECTION_TIMED_OUT="Kapcsolódási időtúllépés" +ErrorCode.ERR_TIMED_OUT="A művelet túllépte az időkorlátot" ErrorCode.ERR_FILE_NOT_FOUND="A fájl nem található" ErrorCode.ERR_FAILED="Csatlakozás sikertelen" ErrorCode.ERR_NETWORK_CHANGED="Hálózat megváltozott"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/hy-AM.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/hy-AM.ini
Changed
@@ -31,6 +31,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="Սերվերը մերժել է կապը" ErrorCode.ERR_NAME_NOT_RESOLVED="Սերվերի IP հասցեն չի գտնվել" ErrorCode.ERR_CONNECTION_TIMED_OUT="Միացման ժամանակը սպառվել է" +ErrorCode.ERR_TIMED_OUT="Գործողության ժամանակը լրացավ" ErrorCode.ERR_FILE_NOT_FOUND="Ֆայլը չի գտնվել" ErrorCode.ERR_FAILED="Չհաջողվեց միանալ" ErrorCode.ERR_NETWORK_CHANGED="Ցանցը փոխվել է"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/id-ID.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/id-ID.ini
Changed
@@ -28,6 +28,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="Server menolak koneksi" ErrorCode.ERR_NAME_NOT_RESOLVED="Alamat IP server tidak ditemukan" ErrorCode.ERR_CONNECTION_TIMED_OUT="Waktu koneksi habis" +ErrorCode.ERR_TIMED_OUT="Waktu pengoperasian habis" ErrorCode.ERR_FILE_NOT_FOUND="Berkas tidak ditemukan" ErrorCode.ERR_FAILED="Gagal terhubung" ErrorCode.ERR_NETWORK_CHANGED="Jaringan berubah"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/it-IT.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/it-IT.ini
Changed
@@ -28,6 +28,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="Il server ha rifiutato la connessione" ErrorCode.ERR_NAME_NOT_RESOLVED="Indirizzo IP del server non trovato" ErrorCode.ERR_CONNECTION_TIMED_OUT="Connessione scaduta" +ErrorCode.ERR_TIMED_OUT="Timeout operazione" ErrorCode.ERR_FILE_NOT_FOUND="File non trovato" ErrorCode.ERR_FAILED="Impossibile connettersi" ErrorCode.ERR_NETWORK_CHANGED="Rete modificata"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/ja-JP.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/ja-JP.ini
Changed
@@ -27,6 +27,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="サーバーが接続を拒否しました" ErrorCode.ERR_NAME_NOT_RESOLVED="サーバーのIPアドレスが見つかりません" ErrorCode.ERR_CONNECTION_TIMED_OUT="接続がタイムアウトしました" +ErrorCode.ERR_TIMED_OUT="操作がタイムアウトしました" ErrorCode.ERR_FILE_NOT_FOUND="ファイルが見つかりません" ErrorCode.ERR_FAILED="接続に失敗しました" ErrorCode.ERR_NETWORK_CHANGED="ネットワークが変更されました"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/ka-GE.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/ka-GE.ini
Changed
@@ -30,6 +30,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="სერვერმა უარყო კავშირი" ErrorCode.ERR_NAME_NOT_RESOLVED="სერვერის IP-მისამართი ვერ მოიძებნა" ErrorCode.ERR_CONNECTION_TIMED_OUT="კავშირის დრო ამოიწურა" +ErrorCode.ERR_TIMED_OUT="მოქმედების შესრულების დრო ამოიწურა" ErrorCode.ERR_FILE_NOT_FOUND="ფაილი ვერ მოიძებნა" ErrorCode.ERR_FAILED="დაკავშირება ვერ მოხერხდა" ErrorCode.ERR_NETWORK_CHANGED="ქსელი შეიცვალა"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/kmr-TR.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/kmr-TR.ini
Changed
@@ -28,6 +28,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="Rajekar pêwendî red kir" ErrorCode.ERR_NAME_NOT_RESOLVED="Navnîşana IP ya rajekar nehatin dîtin" ErrorCode.ERR_CONNECTION_TIMED_OUT="Dema girêdanê bi dawî bû" +ErrorCode.ERR_TIMED_OUT="Operasyon bi dawî bû" ErrorCode.ERR_FILE_NOT_FOUND="Pel nehate dîtin" ErrorCode.ERR_FAILED="Girêdan pêk nehat" ErrorCode.ERR_NETWORK_CHANGED="Tor guherî"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/ko-KR.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/ko-KR.ini
Changed
@@ -28,6 +28,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="서버가 연결을 거부했습니다" ErrorCode.ERR_NAME_NOT_RESOLVED="서버의 IP주소를 찾을 수 없습니다" ErrorCode.ERR_CONNECTION_TIMED_OUT="연결 시간이 초과되었습니다" +ErrorCode.ERR_TIMED_OUT="작업 시간 초과" ErrorCode.ERR_FILE_NOT_FOUND="파일을 찾을 수 없음" ErrorCode.ERR_FAILED="연결 실패" ErrorCode.ERR_NETWORK_CHANGED="네트워크가 변경됨"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/ms-MY.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/ms-MY.ini
Changed
@@ -28,6 +28,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="Pelayan menolak sambungan" ErrorCode.ERR_NAME_NOT_RESOLVED="Alamat IP pelayan tidak ditemui" ErrorCode.ERR_CONNECTION_TIMED_OUT="Sambungan tamat masa" +ErrorCode.ERR_TIMED_OUT="Sambungan tamat masa" ErrorCode.ERR_FILE_NOT_FOUND="Fail tidak ditemui" ErrorCode.ERR_FAILED="Sambungan gagal" ErrorCode.ERR_NETWORK_CHANGED="Rangkaian berubah"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/nl-NL.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/nl-NL.ini
Changed
@@ -26,6 +26,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="Server heeft de verbinding geweigerd" ErrorCode.ERR_NAME_NOT_RESOLVED="Server's IP-adres niet gevonden" ErrorCode.ERR_CONNECTION_TIMED_OUT="Connectie time-out" +ErrorCode.ERR_TIMED_OUT="Bewerking kreeg een time-out" ErrorCode.ERR_FILE_NOT_FOUND="Bestand niet gevonden" ErrorCode.ERR_FAILED="Kan geen verbinding maken" ErrorCode.ERR_NETWORK_CHANGED="Netwerk gewijzigd"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/pl-PL.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/pl-PL.ini
Changed
@@ -29,6 +29,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="Serwer odmówił połączenia" ErrorCode.ERR_NAME_NOT_RESOLVED="Nie znaleziono adresu IP serwera" ErrorCode.ERR_CONNECTION_TIMED_OUT="Upłynął limit czasu połączenia" +ErrorCode.ERR_TIMED_OUT="Upłynął limit czasu tej operacji" ErrorCode.ERR_FILE_NOT_FOUND="Nie znaleziono pliku" ErrorCode.ERR_FAILED="Nie udało się połączyć" ErrorCode.ERR_NETWORK_CHANGED="Konfiguracja sieci zmieniła się"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/pt-BR.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/pt-BR.ini
Changed
@@ -12,10 +12,10 @@ WebpageControlLevel="Permissões da página" WebpageControlLevel.Level.None="Sem acesso ao OBS" WebpageControlLevel.Level.ReadObs="Acesso de leitura às informações de status do OBS" -WebpageControlLevel.Level.ReadUser="Acesso de leitura às informações do usuário (Coleções de Cenas, Transições atuais)" +WebpageControlLevel.Level.ReadUser="Acesso de leitura às informações do usuário (coleções de cenas, transições atuais)" WebpageControlLevel.Level.Basic="Acesso básico ao OBS (salvar buffer de repetição, etc.)" WebpageControlLevel.Level.Advanced="Acesso avançado ao OBS (mudar cenas, iniciar ou interromper buffer de repetição, etc.)" -WebpageControlLevel.Level.All="Acesso completo ao OBS (Iniciar/Parar transmissão sem aviso, etc.)" +WebpageControlLevel.Level.All="Acesso completo ao OBS (iniciar ou parar transmissão sem aviso, etc.)" Dialog.Alert="Alerta de JavaScript" Dialog.Confirm="Confirmação de JavaScript" Dialog.Prompt="Prompt de JavaScript" @@ -23,14 +23,15 @@ Dialog.ReceivedFrom="Recebido de '%1'" Error.Title="Não foi possível carregar essa página!" Error.Description="Verifique se o endereço está correto e se o site não está com problemas." -Error.Retry="Clique aqui para tentar novamente" +Error.Retry="Tentar novamente" Error.Code="Erro: %1" -ErrorCode.ERR_CONNECTION_REFUSED="O servidor recusou a conexão" +ErrorCode.ERR_CONNECTION_REFUSED="Conexão recusada pelo servidor" ErrorCode.ERR_NAME_NOT_RESOLVED="Endereço IP do servidor não encontrado" ErrorCode.ERR_CONNECTION_TIMED_OUT="Conexão expirada" -ErrorCode.ERR_FILE_NOT_FOUND="Arquivo não foi encontrado" +ErrorCode.ERR_TIMED_OUT="Operação expirada" +ErrorCode.ERR_FILE_NOT_FOUND="Arquivo não encontrado" ErrorCode.ERR_FAILED="Falha ao conectar" ErrorCode.ERR_NETWORK_CHANGED="Rede alterada" -ErrorCode.ERR_SSL_VERSION_INTERFERENCE="Interferência na versão SSL. TLS 1.3 pode ser bloqueado ou modificado." +ErrorCode.ERR_SSL_VERSION_INTERFERENCE="Interferência na versão do SSL. TLS 1.3 pode estar bloqueado ou modificado." ErrorCode.ERR_SSL_PROTOCOL_ERROR="Erro de protocolo SSL. Não foi possível fazer uma conexão segura." -ErrorCode.ERR_CERT_DATE_INVALID="O certificado SSL do servidor está desatualizado ou o tempo do seu computador está incorreto." +ErrorCode.ERR_CERT_DATE_INVALID="O certificado SSL do servidor está desatualizado ou o relógio do seu computador está incorreto."
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/ro-RO.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/ro-RO.ini
Changed
@@ -9,12 +9,12 @@ CustomFrameRate="Folosește o frecvență de cadre personalizată" RerouteAudio="Controlează sistemul audio prin OBS" WebpageControlLevel="Permisiunile paginii" -WebpageControlLevel.Level.None="Nu există acces la OBS" -WebpageControlLevel.Level.ReadObs="Citește accesul la informațiile de stare OBS" -WebpageControlLevel.Level.ReadUser="Citește accesul la informațiile utilizatorului (colecția de scene curentă, tranziții)" -WebpageControlLevel.Level.Basic="Acces de bază la OBS (Salvați tamponul de reluare etc.)" -WebpageControlLevel.Level.Advanced="Acces avansat la OBS (Schimbarea scenei, Start/Stop tampon reluare, etc.)" -WebpageControlLevel.Level.All="Acces complet la OBS (Start/Stop transmisiune fără avertisment, etc.)" +WebpageControlLevel.Level.None="Fără acces la OBS" +WebpageControlLevel.Level.ReadObs="Acces de citire a informațiilor de stare OBS" +WebpageControlLevel.Level.ReadUser="Acces de citire a informațiilor utilizatorului (colecția de scene actuală, tranziții)" +WebpageControlLevel.Level.Basic="Acces de bază la OBS (salvarea bufferului de reluări etc.)" +WebpageControlLevel.Level.Advanced="Acces avansat la OBS (schimbarea scenelor, pornirea/oprirea bufferului de reluări etc.)" +WebpageControlLevel.Level.All="Acces complet la OBS (pornirea/oprirea transmisiunii fără avertisment etc.)" Dialog.Alert="Alertă JavaScript" Dialog.Confirm="Confirmare JavaScript" Dialog.Prompt="Prompt JavaScript" @@ -27,6 +27,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="Serverul a refuzat conexiunea" ErrorCode.ERR_NAME_NOT_RESOLVED="Adresa IP a serverului nu a fost găsită" ErrorCode.ERR_CONNECTION_TIMED_OUT="Conexiunea a expirat" +ErrorCode.ERR_TIMED_OUT="Operațiunea a expirat" ErrorCode.ERR_FILE_NOT_FOUND="Fișier negăsit" ErrorCode.ERR_FAILED="Conectare nereușită" ErrorCode.ERR_NETWORK_CHANGED="Rețea schimbată"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/ru-RU.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/ru-RU.ini
Changed
@@ -15,8 +15,8 @@ WebpageControlLevel.Level.ReadObs="Доступ чтения информации о состоянии OBS" WebpageControlLevel.Level.ReadUser="Доступ чтения пользовательской информации (текущая коллекция сцен, переходы)" WebpageControlLevel.Level.Basic="Базовый доступ к OBS (Сохранение буфер видео и т.д.)" -WebpageControlLevel.Level.Advanced="Продвинутый доступ к OBS (Изменение сцен, Начало/Остановка буфера записи и т.д.)" -WebpageControlLevel.Level.All="Полный доступ к OBS (Начало/Остановка прямого эфира без предупреждения и т.д.)" +WebpageControlLevel.Level.Advanced="Продвинутый доступ к OBS (Изменение сцен, Запуск/Остановка буфера записи и пр.)" +WebpageControlLevel.Level.All="Полный доступ к OBS (Запуск/Остановка прямого эфира без предупреждения и пр.)" Dialog.Alert="Предупреждение JavaScript" Dialog.Confirm="Подтверждение JavaScript" Dialog.Prompt="Подсказка JavaScript" @@ -30,6 +30,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="Сервер отклонил подключение" ErrorCode.ERR_NAME_NOT_RESOLVED="IP-адрес сервера не найден" ErrorCode.ERR_CONNECTION_TIMED_OUT="Время ожидания соединения истекло" +ErrorCode.ERR_TIMED_OUT="Время ожидания операции истекло" ErrorCode.ERR_FILE_NOT_FOUND="Файл не найден" ErrorCode.ERR_FAILED="Не удалось подключиться" ErrorCode.ERR_NETWORK_CHANGED="Сеть изменена"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/sk-SK.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/sk-SK.ini
Changed
@@ -29,6 +29,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="Server odmietol pripojenie" ErrorCode.ERR_NAME_NOT_RESOLVED="IP adresa servera nenájdená" ErrorCode.ERR_CONNECTION_TIMED_OUT="Vypršal časový limit pripojenia" +ErrorCode.ERR_TIMED_OUT="Čas operácie vypršal" ErrorCode.ERR_FILE_NOT_FOUND="Súbor nenájdený" ErrorCode.ERR_FAILED="Nepodarilo sa pripojiť" ErrorCode.ERR_NETWORK_CHANGED="Sieť zmenená"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/sl-SI.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/sl-SI.ini
Changed
@@ -30,6 +30,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="Strežnik je zavrnil povezavo" ErrorCode.ERR_NAME_NOT_RESOLVED="IP naslov strežnika ni bil najden" ErrorCode.ERR_CONNECTION_TIMED_OUT="Čas za povezovanje se je iztekel" +ErrorCode.ERR_TIMED_OUT="Opravilo je poteklo" ErrorCode.ERR_FILE_NOT_FOUND="Datoteke ni mogoče najti" ErrorCode.ERR_FAILED="Vzpostavljanje povezave ni uspelo" ErrorCode.ERR_NETWORK_CHANGED="Omrežje je bilo zamenjano"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/sv-SE.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/sv-SE.ini
Changed
@@ -29,6 +29,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="Servern nekade anslutningen" ErrorCode.ERR_NAME_NOT_RESOLVED="Serverns IP-adress hittades inte" ErrorCode.ERR_CONNECTION_TIMED_OUT="Anslutningen tog för lång tid" +ErrorCode.ERR_TIMED_OUT="Åtgärdens tidsgräns gick ut" ErrorCode.ERR_FILE_NOT_FOUND="Filen hittades inte" ErrorCode.ERR_FAILED="Det gick inte att ansluta" ErrorCode.ERR_NETWORK_CHANGED="Nätverket ändrades"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/tr-TR.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/tr-TR.ini
Changed
@@ -28,6 +28,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="Sunucu bağlantıyı reddetti." ErrorCode.ERR_NAME_NOT_RESOLVED="Sunucunun IP adresi bulunamadı" ErrorCode.ERR_CONNECTION_TIMED_OUT="Bağlantı zaman aşımına uğradı" +ErrorCode.ERR_TIMED_OUT="İşlem zaman aşımına uğradı" ErrorCode.ERR_FILE_NOT_FOUND="Dosya bulunamadı" ErrorCode.ERR_FAILED="Bağlantı kurulamadı" ErrorCode.ERR_NETWORK_CHANGED="Ağ değişti"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/uk-UA.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/uk-UA.ini
Changed
@@ -29,6 +29,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="Сервер відхилив з’єднання" ErrorCode.ERR_NAME_NOT_RESOLVED="IP-адреси сервера не знайдено" ErrorCode.ERR_CONNECTION_TIMED_OUT="Час очікування з'єднання минув" +ErrorCode.ERR_TIMED_OUT="Час очікування операції минув" ErrorCode.ERR_FILE_NOT_FOUND="Файл не знайдено" ErrorCode.ERR_FAILED="Не вдалося з'єднатися" ErrorCode.ERR_NETWORK_CHANGED="Мережу змінено"
View file
obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/ur-PK.ini
Added
@@ -0,0 +1,40 @@ +LocalFile="مقامی فائل" +URL="یو آر ایل" +Width="چوڑائی" +Height="اونچائی" +FPS="فریم فی سیکنڈ" +CSS="حسب ضرورت CSS" +ShutdownSourceNotVisible="جب نظر نہ آئے تو شٹ ڈاؤن سورس" +RefreshBrowserActive="منظر فعال ہونے پر براؤزر کو ریفریش کریں" +RefreshNoCache="موجودہ صفحہ کے کیشے کو تازہ کریں" +RestartCEF="CEF کو دوبارہ شروع کریں" +BrowserSource="براؤزر" +CustomFrameRate="حسب ضرورت فریم ریٹ استعمال کریں" +RerouteAudio="OBS کے ذریعے آڈیو کو کنٹرول کریں" +WebpageControlLevel="صفحہ کی اجازت" +WebpageControlLevel.Level.None="OBS تک رسائی نہیں ہے" +WebpageControlLevel.Level.ReadObs="OBS کی حیثیت کی معلومات تک رسائی پڑھیں" +WebpageControlLevel.Level.ReadUser="صارف کی معلومات تک رسائی پڑھیں (موجودہ منظر کا مجموعہ، ٹرانزیشن)" +WebpageControlLevel.Level.Basic="OBS تک بنیادی رسائی (ری پلے بفر کو محفوظ کریں، وغیرہ)" +WebpageControlLevel.Level.Advanced="OBS تک اعلی درجے کی رسائی (مناظر کو تبدیل کریں، ری پلے بفر کو اسٹارٹ/سٹاپ کریں، وغیرہ)" +WebpageControlLevel.Level.All="OBS تک مکمل رسائی (بغیر انتباہ کے سلسلہ بندی شروع/بند کریں وغیرہ)" +Dialog.Alert="جاوا اسکرپٹ الرٹ" +Dialog.Confirm="جاوا اسکرپٹ کی تصدیق کریں" +Dialog.Prompt="جاوا اسکرپٹ پرامپٹ" +Dialog.BrowserDock="براؤزر ڈاک" +Dialog.ReceivedFrom="'%1' سے موصول ہوا" +Error.Title="وہ صفحہ لوڈ نہیں ہو سکا!" +Error.Description="یقینی بنائیں کہ پتہ درست ہے، اور یہ کہ سائٹ کو کوئی مسئلہ نہیں ہے۔" +Error.Retry="دوبارہ کوشش کرنے کے لیے یہاں کلک کریں" +Error.Code="خرابی: %1" +Error.URL="یو آر ایل: %2" +ErrorCode.ERR_CONNECTION_REFUSED="سرور نے کنکشن سے انکار کر دیا" +ErrorCode.ERR_NAME_NOT_RESOLVED="سرور کا IP پتہ نہیں ملا" +ErrorCode.ERR_CONNECTION_TIMED_OUT="کنکشن کا وقت ختم ہوگیا" +ErrorCode.ERR_TIMED_OUT="آپریشن کا وقت ختم ہو گیا" +ErrorCode.ERR_FILE_NOT_FOUND="فائل نہیں ملی" +ErrorCode.ERR_FAILED="کنکشن میں ناکام" +ErrorCode.ERR_NETWORK_CHANGED="نیٹ ورک بدل گیا" +ErrorCode.ERR_SSL_VERSION_INTERFERENCE="SSL ورژن میں مداخلت۔ TLS 1.3 کو بلاک یا تبدیل کیا جا سکتا ہے۔" +ErrorCode.ERR_SSL_PROTOCOL_ERROR="SSL پروٹوکول کی خرابی۔ محفوظ کنکشن نہیں بنا سکا۔" +ErrorCode.ERR_CERT_DATE_INVALID="سرور کا SSL سرٹیفکیٹ پرانا ہے یا آپ کے کمپیوٹر کا وقت غلط ہے۔"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/vi-VN.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/vi-VN.ini
Changed
@@ -28,6 +28,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="Máy chủ đã từ chối kết nối" ErrorCode.ERR_NAME_NOT_RESOLVED="Không tìm thấy địa chỉ IP của máy chủ" ErrorCode.ERR_CONNECTION_TIMED_OUT="Kết nối đã hết hạn" +ErrorCode.ERR_TIMED_OUT="Kết nối đã hết hạn" ErrorCode.ERR_FILE_NOT_FOUND="Không tìm thấy tệp" ErrorCode.ERR_FAILED="Không thể kết nối" ErrorCode.ERR_NETWORK_CHANGED="Mạng đã bị thay đổi"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/zh-CN.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/zh-CN.ini
Changed
@@ -28,6 +28,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="服务器拒绝了连接" ErrorCode.ERR_NAME_NOT_RESOLVED="找不到服务器 IP 地址" ErrorCode.ERR_CONNECTION_TIMED_OUT="连接超时" +ErrorCode.ERR_TIMED_OUT="操作超时" ErrorCode.ERR_FILE_NOT_FOUND="找不到文件" ErrorCode.ERR_FAILED="连接失败" ErrorCode.ERR_NETWORK_CHANGED="发生网络变化"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-browser/data/locale/zh-TW.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-browser/data/locale/zh-TW.ini
Changed
@@ -31,6 +31,7 @@ ErrorCode.ERR_CONNECTION_REFUSED="伺服器拒絕連線" ErrorCode.ERR_NAME_NOT_RESOLVED="找不到伺服器的 IP 地址" ErrorCode.ERR_CONNECTION_TIMED_OUT="連線逾時" +ErrorCode.ERR_TIMED_OUT="操作逾時" ErrorCode.ERR_FILE_NOT_FOUND="找不到檔案" ErrorCode.ERR_FAILED="無法連線" ErrorCode.ERR_NETWORK_CHANGED="網路已變更"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/CMakeLists.txt -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/CMakeLists.txt
Changed
@@ -98,6 +98,7 @@ if(OS_WINDOWS) add_subdirectory(obs-amf-test) + add_subdirectory(obs-nvenc-test) if(MSVC) target_link_libraries(obs-ffmpeg PRIVATE OBS::w32-pthreads) @@ -108,8 +109,14 @@ obs-ffmpeg.rc) target_sources( - obs-ffmpeg PRIVATE texture-amf.cpp texture-amf-opts.hpp jim-nvenc.c - jim-nvenc.h jim-nvenc-helpers.c obs-ffmpeg.rc) + obs-ffmpeg + PRIVATE texture-amf.cpp + texture-amf-opts.hpp + jim-nvenc.c + jim-nvenc.h + jim-nvenc-helpers.c + jim-nvenc-ver.h + obs-ffmpeg.rc) elseif(OS_POSIX AND NOT OS_MACOS) find_package(Libpci REQUIRED)
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/ar-SA.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/ar-SA.ini
Changed
@@ -6,6 +6,7 @@ Bitrate="معدل النقل" MaxBitrate="الحد الاقصى للمعدل" Preset="الإعداد المسبق" +Tuning="ضبط" Profile="ملف الشخصي" RateControl="التحكم في المعدل" KeyframeIntervalSec="الفاصل الزمني للإطار المفتاح (0=تلقائي)" @@ -15,14 +16,6 @@ AMFOpts.ToolTip="يستخدم لتحديد خيارات AMF أو FFmpeg الخاصة. على سبيل المثال، \"level=5.2 profile=main BPicturesPattern=3\"" VAAPI.Codec="شفرة VAAPI" VAAPI.Device="جهاز VAAPI" -NVENC.Use2Pass="استخدام الترميز المزدوج" -NVENC.Preset.default="الأداء" -NVENC.Preset.hq="الجودة" -NVENC.Preset.hp="أداء عالي" -NVENC.Preset.mq="جودة عالية" -NVENC.Preset.ll="لاتفي منخفض" -NVENC.Preset.llhq="جودة لاتفي منخفضة" -NVENC.Preset.llhp="أداء لاتفي منخفض" NVENC.LookAhead="نظرة المستقبل" NVENC.LookAhead.ToolTip="تمكين أطر B-frams.\n\nإذا تم تعطيلها، الترميز سوف يستخدم دائما عدد الأطر B-frames المحددة في إعدادات 'max B-frames'.\n\nإذا تم تفعيله، فإنه سيزيد من جودة البصر عن طريق استخدام العديد من الأطر B-framework ضرورية, حتى الحد الأقصى،\nعلى حساب زيادة استخدام وحدة البيانات العالمية." NVENC.PsychoVisualTuning="ضبط النفس البصري" @@ -32,6 +25,13 @@ NVENC.I010Unsupported="NVENC لا يدعم I010. استخدم P010 بدلاً من ذلك." NVENC.10bitUnsupported="لا يمكن إجراء الترميز 10-بت على هذا الترميز." NVENC.TooManyBFrames="اعداد الاطارات الاقصى (B-frames (%d) هو اكثر من دعم الترميز (%d)." +NVENC.Preset2.p1="الأسرع (جودة متدنية)" +NVENC.Preset2.p2="أسرع (جودة منخفضة)" +NVENC.Preset2.p3="أسرع (جودة منخفضة)" +NVENC.Preset2.p4="P4: متوسط (متوسط الجودة)" +NVENC.Preset2.p5="P5: بطء (جودة جيدة)" +NVENC.Preset2.p6="P6: أبطأ (جودة أفضل)" +NVENC.Tuning.hq="جودة عالية" AMF.Preset.speed="السرعة" AMF.Preset.balanced="متوازن" AMF.Preset.quality="الجودة"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/bg-BG.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/bg-BG.ini
Changed
@@ -13,14 +13,6 @@ BFrames="Макс. кол-во Б-кадри" VAAPI.Codec="Кодек VAAPI" VAAPI.Device="Устройство VAAPI" -NVENC.Use2Pass="Използване на двупроходно кодиране" -NVENC.Preset.default="Производителност" -NVENC.Preset.hq="Качество" -NVENC.Preset.hp="Максимална производителност" -NVENC.Preset.mq="Максимално качество" -NVENC.Preset.ll="Ниска латентност" -NVENC.Preset.llhq="Ниска латенност, високо качество" -NVENC.Preset.llhp="Ниска латентност, висока производителност" NVENC.LookAhead="Предопределяне" NVENC.LookAhead.ToolTip="Включва динамичните Б-кадри.\n\nКогато е изключено, енкодерът винаги ще използва количеството Б-кадри, указани в параметъра 'Макс. кол-во Б-кадри'.\n\nАко е включено, ще подобри качеството на картината, като използва нужното количество Б-кадри, до максимума,\nна цената на повишеното използване на видеокартата." NVENC.PsychoVisualTuning="Психовизуално коригиране"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/bn-BD.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/bn-BD.ini
Changed
@@ -11,14 +11,6 @@ BFrames="সর্বোচ্চ বি-ফ্রেম" VAAPI.Codec="VAAPI কোডেক" VAAPI.Device="VAAPI ডিভাইস" -NVENC.Use2Pass="দুই পাসে এনকোডিং ব্যবহার করো" -NVENC.Preset.default="কর্মক্ষমতা" -NVENC.Preset.hq="গুণমান" -NVENC.Preset.hp="সর্বাধিক কর্মক্ষমতা" -NVENC.Preset.mq="সর্বাধিক গুণমান" -NVENC.Preset.ll="স্বল্প-দেরী" -NVENC.Preset.llhq="স্বল্প-দেরী গুণমান" -NVENC.Preset.llhp="স্বল্প-দেরী কর্মক্ষমতা" NVENC.LookAhead="লুক-আহেড" NVENC.LookAhead.ToolTip="গতিশীল বি-ফ্রেম সক্ষম করে।\n\nযদি সচল থাকে তবে এনকোডার সর্বদা 'সর্বোচ্চ বি-ফ্রেম' সেটিংসে উল্লিখিত বি-ফ্রেমের সংখ্যা ব্যবহার করবে।\n\nসক্ষম করা থাকলে, এটি কেবলমাত্র ব্যবহার করে চাক্ষুষ মানের বৃদ্ধি করবে তবে অনেক বি-ফ্রেম প্রয়োজনীয়, সর্বাধিক পর্যন্ত,\nজিপিইউর বর্ধিত ব্যবহারের ব্যয়ে।" NVENC.PsychoVisualTuning="সাইকো ভিজ্যুয়াল টিউনিং"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/ca-ES.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/ca-ES.ini
Changed
@@ -6,6 +6,7 @@ Bitrate="Taxa de bits" MaxBitrate="Taxa de bits màxima" Preset="Valors predefinits" +Tuning="Ajust" Profile="Perfil" RateControl="Control de freqüència" KeyframeIntervalSec="Interval de fotogrames clau (0=auto)" @@ -16,14 +17,6 @@ BFrames="Fotogrames-B màxims" VAAPI.Codec="Còdec VAAPI" VAAPI.Device="Dispositiu VAAPI" -NVENC.Use2Pass="Utilitza codificació en dues passades" -NVENC.Preset.default="Rendiment" -NVENC.Preset.hq="Qualitat" -NVENC.Preset.hp="Rendiment màxim" -NVENC.Preset.mq="Qualitat màxima" -NVENC.Preset.ll="Latencia baixa" -NVENC.Preset.llhq="Qualitat de latència baixa" -NVENC.Preset.llhp="Rendiment de latència baixa" NVENC.LookAhead="Previsió" NVENC.LookAhead.ToolTip="Habilita els Fotogrames-B dinàmics.\n\nEn inhabilitar-ho, el codificador utilitzarà sempre el nombre de Fotogrames-B indicat a l'opció «Fotogrames-B màxims».\n\nEn habilitar-ho, augmentarà la qualitat visual només utilitzant els Fotogrames-B necessaris,\nfins el màxim permès per l'ús de la GPU." NVENC.PsychoVisualTuning="Ajust psico visual" @@ -33,6 +26,20 @@ NVENC.I010Unsupported="NVENC no admet l'ús d'I010. Utilitzeu P010." NVENC.10bitUnsupported="No es pot realitzar la codificació de 10 bits amb aquest codificador." NVENC.TooManyBFrames="La configuració màxima de fotogrames B (%d) és superior a la que admet el codificador (%d)." +NVENC.Preset2.p1="P1: El més ràpid (qualitat ínfima)" +NVENC.Preset2.p2="P2: Més ràpid (qualitat més baixa)" +NVENC.Preset2.p3="P3: Ràpid (qualitat baixa)" +NVENC.Preset2.p4="P4: Mitjana (Qualitat mitjana)" +NVENC.Preset2.p5="P5: Lent (qualitat bona)" +NVENC.Preset2.p6="P6: Més lent (qualitat millorada)" +NVENC.Preset2.p7="P7: El més lent (qualitat òptima)" +NVENC.Tuning.hq="Qualitat alta" +NVENC.Tuning.ll="Latència baixa" +NVENC.Tuning.ull="Latència ultra baixa" +NVENC.Multipass="Mode passada múltiple" +NVENC.Multipass.disabled="Una única passada" +NVENC.Multipass.qres="Dues passades (un quart de la resolució)" +NVENC.Multipass.fullres="Dues passades (resolució completa)" AMF.Preset.speed="Velocitat" AMF.Preset.balanced="Equilibrat" AMF.Preset.quality="Qualitat"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/cs-CZ.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/cs-CZ.ini
Changed
@@ -5,6 +5,7 @@ FFmpegOpts.ToolTip.Source="Umožňuje nastavit možnosti FFmpeg. Toto přijímá pouze nastavení ve formátu nastavení=hodnota.\nVíce možností může být nastaveno oddělením mezerou.\nPříklad: rtsp_transport=tcp rtsp_flags=prefer_tcp" MaxBitrate="Maximální bitrate" Preset="Předvolba" +Tuning="Ladění" Profile="Profil" RateControl="Řízení toku" KeyframeIntervalSec="Interval klíč. snímků (0=auto)" @@ -15,14 +16,6 @@ BFrames="Maximum B-snímků" VAAPI.Codec="Kodek VAAPI" VAAPI.Device="Zařízení VAAPI" -NVENC.Use2Pass="Použít dvoustupňové enkódování" -NVENC.Preset.default="Výkon" -NVENC.Preset.hq="Kvalita" -NVENC.Preset.hp="Maximální výkon" -NVENC.Preset.mq="Maximální kvalita" -NVENC.Preset.ll="Nízká odezva" -NVENC.Preset.llhq="Nízká odezva, vysoká kvalita" -NVENC.Preset.llhp="Nízká odezva, vysoký výkon" NVENC.LookAhead.ToolTip="Zapne dynamické B-snímky.\n\nPokud vypnuto, enkodér vždy použije číslo uvedené v nastavení 'Maximum B-snímků'.\n\nPokud zapnuto, zvýší se vizuální kvalita použitím tolika B-smínků, jak je potřeba, až do maxima,\nale za cenu zvýšení využití GPU." NVENC.PsychoVisualTuning.ToolTip="Povolí nastavení enkodéru, které optimalizuje využití bitratu pro zvýšení vnímané vizuální kvality,\npředevším v situacích s velkým množstvím pohybu, ale za cenu zvýšení využití GPU." NVENC.CQLevel="Úroveň CQ" @@ -30,6 +23,20 @@ NVENC.I010Unsupported="NVENC nepodporuje I010. Použijte P010." NVENC.10bitUnsupported="Nelze provést 10-bitové enkódování na tomto enkodéru." NVENC.TooManyBFrames="Hodnota nastavení Maximum B-snímků (%d) je vyšší než kolik enkodér podporuje (%d)." +NVENC.Preset2.p1="P1: Nejrychlejší (nejnižší kvalita)" +NVENC.Preset2.p2="P2: Rychlejší (nižší kvalita)" +NVENC.Preset2.p3="P3: Rychlý (nízká kvalita)" +NVENC.Preset2.p4="P4: Střední (střední kvalita)" +NVENC.Preset2.p5="P5: Pomalý (dobrá kvalita)" +NVENC.Preset2.p6="P6: Pomalejší (lepší kvalita)" +NVENC.Preset2.p7="P7: Nejpomalejší (nejvyšší kvalita)" +NVENC.Tuning.hq="Vysoká kvalita" +NVENC.Tuning.ll="Nízká odezva" +NVENC.Tuning.ull="Ultra nízká odezva" +NVENC.Multipass="Režim více průchodů" +NVENC.Multipass.disabled="Jeden průchod" +NVENC.Multipass.qres="Dva průchody (čtvrtina rozlišení)" +NVENC.Multipass.fullres="Dva průchody (plné rozlišení)" AMF.Preset.speed="Rychlost" AMF.Preset.balanced="Vyvážený" AMF.Preset.quality="Kvalita"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/da-DK.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/da-DK.ini
Changed
@@ -15,20 +15,28 @@ BFrames="Maks. B-billeder" VAAPI.Codec="VAAPI-codec" VAAPI.Device="VAAPI-enhed" -NVENC.Use2Pass="Benyt to-trins kodning" -NVENC.Preset.default="Ydeevne" -NVENC.Preset.hq="Kvalitet" -NVENC.Preset.hp="Maks. ydeevne" -NVENC.Preset.mq="Maks. kvalitet" -NVENC.Preset.ll="Lavlatens" -NVENC.Preset.llhq="Lavlatenskvalitet" -NVENC.Preset.llhp="Lavlatensydeevne" NVENC.LookAhead.ToolTip="Aktiverer dynamiske B-frames.\n\nHvis deaktiveret, benytter encoderen altid antallet af B-frames angivet i indstillingen 'Maks. B-frames'.\n\nHvis aktiveret, forøges den visuelle kvalitet ved kun at benytte det nødvendige antal B-frames op til maksimum\npå bekostning af forøget GPU-forbrug." NVENC.PsychoVisualTuning="Psychovisuel tuning" NVENC.PsychoVisualTuning.ToolTip="Aktiverer encoderindstillinger, som optimerer brugen af bithastighed for øget opfattet visuel kvalitet,\nisær i situationer med megen bevægelse, på bekostning af forøget GPU-forbrug." NVENC.CQLevel="CQ-niveau" +NVENC.8bitUnsupportedHdr="OBS understøtter ikke 8-bit output fra Rec. 2100." +NVENC.I010Unsupported="NVENC understøtter ikke I010. Brug i stedet P010." NVENC.10bitUnsupported="Kan ikke udføre 10-bit encoding med denne encoder." NVENC.TooManyBFrames="Maks. B-frames-indstillingen (%d) er mere end encoderen understøtter (%d)." +NVENC.Preset2.p1="P1: Hurtigste (Laveste Kvalitet)" +NVENC.Preset2.p2="P2: Hurtigere (lavere kvalitet)" +NVENC.Preset2.p3="P3: Hurtig (Lav Kvalitet)" +NVENC.Preset2.p4="P4: Mellem (Mellemkvalitet)" +NVENC.Preset2.p5="P5: Langsom (God Kvalitet)" +NVENC.Preset2.p6="P6: Langsommere (Bedre Kvalitet)" +NVENC.Preset2.p7="P7: Langsommest (Bedste Kvalitet)" +NVENC.Tuning.hq="Høj Kvalitet" +NVENC.Tuning.ll="Lav latenstid" +NVENC.Tuning.ull="Ultra lav latenstid" +NVENC.Multipass="Multipass Tilstand" +NVENC.Multipass.disabled="Enkelt Pass" +NVENC.Multipass.qres="To Passes (Quarter Resolution)" +NVENC.Multipass.fullres="To Passes (Fuld Opløsning)" AMF.Preset.speed="Hastighed" AMF.Preset.balanced="Balanceret" AMF.Preset.quality="Kvalitet" @@ -44,6 +52,7 @@ CloseFileWhenInactive="Luk fil, når inaktiv" CloseFileWhenInactive.ToolTip="Lukker filen, når kilden ikke vises i streamen ellerr\noptagelsen. Dette muliggør at filen kan ændres, når kilden er ikke aktiv,\nmen nogen opstartsforsinkelse kan forekomme, når kilden genaktiveres." ColorRange="YUV-farveområde" +ColorRange.Partial="Begrænset" ColorRange.Full="Fuld" LinearAlpha="Anvend alfa i lineært farveområde" RestartMedia="Genstart" @@ -63,6 +72,8 @@ Encoder.Timeout="Indkodningstid for encoder %1 er for lang (timeout: %2 sekunder)" AMF.Error="Mislykkedes at åbne AMF-codec: %1" AMF.GenericError="Tjek, at videodriverne er opdaterede. Prøv at lukke anden optagesoftware, der muligvis bruger AMD-encoderen, såsom Redeon-software eller Windows 10 Game DVR." +AMF.8bitUnsupportedHdr="OBS understøtter ikke 8-bit output fra Rec. 2100." +AMF.10bitUnsupportedAvc="Kan ikke udføre 10-bit kode på AMD H.264-koder." NVENC.Error="Mislykkedes at åbne NVENC-codec: %1" NVENC.GenericError="Tjek, at dine videodrivere er opdaterede. Prøv at lukke anden optagesoftware, der muligvis bruger NVENC, såsom NVIDIA Shadowplay eller Windows 10 Game DVR." NVENC.BadGPUIndex="Du har valgt GPU %1 i dine outputkodningsindstillinger. Sæt dette tilbage til 0 og prøv igen." @@ -70,4 +81,5 @@ NVENC.UnsupportedDevice="NVENC-fejl: Uunderstøttet enhed. Tjek, at dit videokort understøtter NVENC, samt at driverne er opdaterede." NVENC.TooManySessions="NVENC-fejl: For mange samtidige sessioner. Prøv at lukke anden optagesoftware, der muligvis bruger NVENC, såsom NVIDIA Shadowplay eller Windows 10 Game DVR." NVENC.CheckDrivers="Tjek, at dine videodrivere er opdaterede." +AV1.8bitUnsupportedHdr="OBS understøtter ikke 8-bit output fra Rec. 2100." ReconnectDelayTime="Anbefalet forsinkelse"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/de-DE.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/de-DE.ini
Changed
@@ -14,14 +14,6 @@ BFrames="Max. B-Frames" VAAPI.Codec="VAAPI-Codec" VAAPI.Device="VAAPI-Gerät" -NVENC.Use2Pass="Two-Pass-Codierung verwenden" -NVENC.Preset.default="Leistung" -NVENC.Preset.hq="Qualität" -NVENC.Preset.hp="Max. Leistung" -NVENC.Preset.mq="Max. Qualität" -NVENC.Preset.ll="Niedrige Latenz" -NVENC.Preset.llhq="Niedrige Latenz und Qualität" -NVENC.Preset.llhp="Niedrige Latenz und Leistung" NVENC.LookAhead="Lookahead" NVENC.LookAhead.ToolTip="Aktiviert dynamische B-Frames.\n\nWenn deaktiviert, wird der Encoder die Anzahl der B-Frames der Option „Max. B-Frames“ entnehmen.\n\nWenn aktiviert, wird auf Kosten erhöhter GPU-Nutzung die visuelle Qualität erhöht,\nindem nur so viele B-Frames bis zum Maximum verwendet werden, wie nötig sind." NVENC.PsychoVisualTuning.ToolTip="Aktiviert Encodereinstellungen, die auf Kosten erhöhter GPU-Nutzung die Verwendung der Bitrate für eine erhöhte wahrgenommene visuelle Qualität optimieren,\ninsbesondere in Situationen mit hoher Bewegung." @@ -30,6 +22,20 @@ NVENC.I010Unsupported="NVENC unterstützt kein I010. Verwenden Sie stattdessen P010." NVENC.10bitUnsupported="Mit diesem Encoder kann kein 10-Bit encodet werden." NVENC.TooManyBFrames="Die maximalen B-Frames sind höher eingestellt (%d) als vom Encoder unterstützt (%d) wird." +NVENC.Preset2.p1="P1: Am schnellsten (niedrigste Qualität)" +NVENC.Preset2.p2="P2: Schneller (niedrigere Qualität)" +NVENC.Preset2.p3="P3: Schnell (niedrige Qualität)" +NVENC.Preset2.p4="P4: Mittel (mittlere Qualität)" +NVENC.Preset2.p5="P5: Langsam (gute Qualität)" +NVENC.Preset2.p6="P6: Langsamer (bessere Qualität)" +NVENC.Preset2.p7="P7: Am langsamsten (beste Qualität)" +NVENC.Tuning.hq="Hohe Qualität" +NVENC.Tuning.ll="Niedrige Latenz" +NVENC.Tuning.ull="Extrem niedrige Latenz" +NVENC.Multipass="Mehrere Durchgänge" +NVENC.Multipass.disabled="Ein Durchgang" +NVENC.Multipass.qres="Zwei Durchgänge (geviertelte Auflösung)" +NVENC.Multipass.fullres="Zwei Durchgänge (vollständige Auflösung)" AMF.Preset.speed="Geschwindigkeit" AMF.Preset.balanced="Ausgeglichen" AMF.Preset.quality="Qualität"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/el-GR.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/el-GR.ini
Changed
@@ -13,14 +13,6 @@ BFrames="Μέγιστα B-frames" VAAPI.Codec="Κωδικός VAAPI" VAAPI.Device="Συσκευή VAAPI" -NVENC.Use2Pass="Χρήση κωδικοποίησης δύο περασμάτων" -NVENC.Preset.default="Επιδόσεις" -NVENC.Preset.hq="Ποιότητα" -NVENC.Preset.hp="Μέγιστες Επιδόσεις" -NVENC.Preset.mq="Μέγιστη Ποιότητα" -NVENC.Preset.ll="Χαμηλή Καθυστέρηση" -NVENC.Preset.llhq="Ποιότητα Χαμηλής Καθυστέρησης" -NVENC.Preset.llhp="Απόδοση Χαμηλής Καθυστέρησης" NVENC.LookAhead="Δες-Απεναντι" NVENC.LookAhead.ToolTip="Ενεργοποιεί δυναμικά πλαίσια Β.\n\nΑν απενεργοποιηθεί, ο κωδικοποιητής θα χρησιμοποιεί πάντα τον αριθμό των πλαισίων Β που καθορίζονται στη ρύθμιση 'Max B-frames'.\n\nΑν ενεργοποιηθεί, θα αυξήσει την οπτική ποιότητα χρησιμοποιώντας μόνο όσα πλαίσια Β είναι απαραίτητα, μέχρι το μέγιστο,\nμε το κόστος της αύξησης της χρήσης GPU." NVENC.PsychoVisualTuning.ToolTip="Επιτρέπει τις ρυθμίσεις κωδικοποιητή που βελτιστοποιούν τη χρήση του ρυθμού bit για αυξημένη αντιληπτή οπτική ποιότητα,\nειδικά σε καταστάσεις με υψηλή κίνηση, με κόστος την αυξημένη χρήση GPU."
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/en-US.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/en-US.ini
Changed
@@ -6,6 +6,7 @@ Bitrate="Bitrate" MaxBitrate="Max Bitrate" Preset="Preset" +Tuning="Tuning" Profile="Profile" RateControl="Rate Control" KeyframeIntervalSec="Keyframe Interval (0=auto)" @@ -20,14 +21,6 @@ VAAPI.Codec="VAAPI Codec" VAAPI.Device="VAAPI Device" -NVENC.Use2Pass="Use Two-Pass Encoding" -NVENC.Preset.default="Performance" -NVENC.Preset.hq="Quality" -NVENC.Preset.hp="Max Performance" -NVENC.Preset.mq="Max Quality" -NVENC.Preset.ll="Low-Latency" -NVENC.Preset.llhq="Low-Latency Quality" -NVENC.Preset.llhp="Low-Latency Performance" NVENC.LookAhead="Look-ahead" NVENC.LookAhead.ToolTip="Enables dynamic B-frames.\n\nIf disabled, the encoder will always use the number of B-frames specified in the 'Max B-frames' setting.\n\nIf enabled, it will increase visual quality by only using however many B-frames are necessary, up to the maximum,\nat the cost of increased GPU utilization." NVENC.PsychoVisualTuning="Psycho Visual Tuning" @@ -37,6 +30,20 @@ NVENC.I010Unsupported="NVENC does not support I010. Use P010 instead." NVENC.10bitUnsupported="Cannot perform 10-bit encode on this encoder." NVENC.TooManyBFrames="Max B-frames setting (%d) is more than encoder supports (%d)." +NVENC.Preset2.p1="P1: Fastest (Lowest Quality)" +NVENC.Preset2.p2="P2: Faster (Lower Quality)" +NVENC.Preset2.p3="P3: Fast (Low Quality)" +NVENC.Preset2.p4="P4: Medium (Medium Quality)" +NVENC.Preset2.p5="P5: Slow (Good Quality)" +NVENC.Preset2.p6="P6: Slower (Better Quality)" +NVENC.Preset2.p7="P7: Slowest (Best Quality)" +NVENC.Tuning.hq="High Quality" +NVENC.Tuning.ll="Low Latency" +NVENC.Tuning.ull="Ultra Low Latency" +NVENC.Multipass="Multipass Mode" +NVENC.Multipass.disabled="Single Pass" +NVENC.Multipass.qres="Two Passes (Quarter Resolution)" +NVENC.Multipass.fullres="Two Passes (Full Resolution)" AMF.Preset.speed="Speed" AMF.Preset.balanced="Balanced"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/es-ES.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/es-ES.ini
Changed
@@ -6,6 +6,7 @@ Bitrate="Tasa de bits" MaxBitrate="Tasa de bits máxima" Preset="Preajuste" +Tuning="Ajuste" Profile="Perfil" RateControl="Control de la frecuencia" KeyframeIntervalSec="Intervalo de fotogramas clave (0=auto)" @@ -16,14 +17,6 @@ BFrames="Máximos B-frames" VAAPI.Codec="Codec VAAPI" VAAPI.Device="Dispositivo VAAPI" -NVENC.Use2Pass="Usar codificación en dos pasadas" -NVENC.Preset.default="Rendimiento" -NVENC.Preset.hq="Calidad" -NVENC.Preset.hp="Rendimiento Máximo" -NVENC.Preset.mq="Máxima Calidad" -NVENC.Preset.ll="Baja latencia" -NVENC.Preset.llhq="Calidad de baja Latencia" -NVENC.Preset.llhp="Rendimiento de baja Latencia" NVENC.LookAhead="\"Look-Ahead\"" NVENC.LookAhead.ToolTip="Habilita B-frames dinámicos.\n\nSi se deshabilita, el codificador siempre usará el número de B-frames especificado en el ajuste 'B-frames máximos'.\n\nSi se habilita, incrementará la calidad visual haciendo uso solo de la cantidad de B-frames necesaria, hasta el máximo,\na costa de incrementar el uso de la GPU." NVENC.PsychoVisualTuning.ToolTip="Activa ajustes del codificador que optimizan el uso del bitrate para aumentar la calidad visual percibida,\nespecialmente en situaciones con alto movimiento, a costa de una mayor utilización de la GPU." @@ -32,6 +25,20 @@ NVENC.I010Unsupported="NVENC no soporta I010. Utilice P010 en su lugar." NVENC.10bitUnsupported="No se puede realizar codificación de 10 bits en este codificador." NVENC.TooManyBFrames="El ajuste máximo de B-frames (%d) es mayor de lo que soporta el codificador (%d)." +NVENC.Preset2.p1="P1: El más rápido (calidad mínima)" +NVENC.Preset2.p2="P2: Más rápido (calidad más baja)" +NVENC.Preset2.p3="P3: Rápido (calidad baja)" +NVENC.Preset2.p4="P4: Medio (calidad media)" +NVENC.Preset2.p5="P5: Lento (buena calidad)" +NVENC.Preset2.p6="P6: Más lento (mejor calidad)" +NVENC.Preset2.p7="P7: El más lento (máxima calidad)" +NVENC.Tuning.hq="Alta calidad" +NVENC.Tuning.ll="Baja latencia" +NVENC.Tuning.ull="Latencia ultrabaja" +NVENC.Multipass="Modo multipasada" +NVENC.Multipass.disabled="Una sola pasada" +NVENC.Multipass.qres="Dos pasadas (un cuarto de la resolución)" +NVENC.Multipass.fullres="Dos pasadas (resolución completa)" AMF.Preset.speed="Velocidad" AMF.Preset.balanced="Equilibrado" AMF.Preset.quality="Calidad"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/et-EE.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/et-EE.ini
Changed
@@ -3,26 +3,35 @@ Bitrate="Bitikiirus" MaxBitrate="Maksimaalne bitikiirus" Preset="Eelseadistus" +Tuning="Timmimine" Profile="Profiil" KeyframeIntervalSec="Võtmekaadri intervall (0=automaatne)" Lossless="Kadudeta" Level="Tase" AMFOpts="AMF/FFmpeg valikud" AMFOpts.ToolTip="Kasuta kohandatud AMF- või FFmpeg-valikute määramiseks. Näiteks \"level=5.2 profile=main BPicturesPattern=3\"" +BFrames="Maksimum B-kaadrid" VAAPI.Codec="VAAPI kodeerija" VAAPI.Device="VAAPI seade" -NVENC.Use2Pass="Kasuta Two-Pass kodeeringut" -NVENC.Preset.default="Jõudlus" -NVENC.Preset.hq="Kvaliteet" -NVENC.Preset.hp="Maksimaalne jõudlus" -NVENC.Preset.mq="Makimaalne kvaliteet" -NVENC.Preset.ll="Madal-viivitus" -NVENC.Preset.llhq="Madala viivitusega kvaliteet" -NVENC.Preset.llhp="Madala viivitusega jõudlus" +NVENC.LookAhead.ToolTip="Võimaldab dünaamilised B-kaadrid.\n\nKui see on välja lülitatud, kasutab kodeerija alati B-kaadrite arvu, mis on määratud seadistuses \"Maksimum B-kaadrid\".\n\nKui see on sisse lülitatud, suurendab see visuaalset kvaliteeti, kasutades ainult nii palju B-kaadreid, kui on vaja, kuni maksimumini,\naga GPU suurema kasutuse arvelt." +NVENC.PsychoVisualTuning.ToolTip="Võimaldab kodeerija seadeid, mis optimeerivad bitikiiruse kasutamist, et suurendada tajutavat visuaalset kvaliteeti,\neriti suure liikumisega olukordades, kuid seda GPU suurema kasutamise arvelt." NVENC.8bitUnsupportedHdr="OBS ei toeta Rec. 2100 8-bitist väljundit." NVENC.I010Unsupported="NVENC ei toeta I010. Kasutsa selle asemel P010." NVENC.10bitUnsupported="Selle kodeerijaga ei saa teha 10-bitist kodeerimist." NVENC.TooManyBFrames="Maksimaalne B-kaadrite seadistus (%d) on suurem kui kodeerija toetab (%d)." +NVENC.Preset2.p1="P1: Kiireim (madalaim kvaliteet)" +NVENC.Preset2.p2="P2: Kiirem (madal kvaliteet)" +NVENC.Preset2.p3="P3: Kiire (madal kvaliteet)" +NVENC.Preset2.p4="P4: Keskmine (keskmine kvaliteet)" +NVENC.Preset2.p5="P5: Aeglane (hea kvaliteet)" +NVENC.Preset2.p6="P6: Aeglasem (parem kvaliteet)" +NVENC.Preset2.p7="P7: Aeglaseim (parim kvaliteet)" +NVENC.Tuning.hq="Kõrge kvaliteet" +NVENC.Tuning.ll="Madal viivitus" +NVENC.Tuning.ull="Ülimadal viivitusaeg" +NVENC.Multipass="Multipass režiim" +NVENC.Multipass.qres="Two Passes (veerand-eraldusvõime)" +NVENC.Multipass.fullres="Two Passes (täis-eraldusvõime)" AMF.Preset.speed="Kiirus" AMF.Preset.balanced="Tasakaalustatud" AMF.Preset.quality="Kvaliteet" @@ -36,6 +45,7 @@ CloseFileWhenInactive.ToolTip="Sulgeb faili, kui allikat ei kuvata voogedastuse või \nsalvestuse ajal. See võimaldab faili muuta, kui allikas ei ole aktiivne,\n kuid võib tekkida mõningane viivitus käivitamisel, kui allikas uuesti aktiveerub." ColorRange="YUV värviruumi vahemik" ColorRange.Auto="Automaatne" +ColorRange.Partial="Piiratud" ColorRange.Full="Täielik" RestartMedia="Taaskäivita" SpeedPercentage="Kiirus"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/eu-ES.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/eu-ES.ini
Changed
@@ -12,14 +12,6 @@ BFrames="B-fotogramen maximoa" VAAPI.Codec="VAAPI kodea" VAAPI.Device="VAAPI gailua" -NVENC.Use2Pass="Erabili bi pasaldiko kodeketa" -NVENC.Preset.default="Errendimendua" -NVENC.Preset.hq="Kalitatea" -NVENC.Preset.hp="Errendimendu maximoa" -NVENC.Preset.mq="Kalitate maximoa" -NVENC.Preset.ll="Latentzia txikia" -NVENC.Preset.llhq="Latentzia txikiko kalitatea" -NVENC.Preset.llhp="Latentzia txikiko errendimendua" NVENC.LookAhead="Aurrera begira" NVENC.LookAhead.ToolTip="Gaitu B-fotograma dinamikoak.\n\nGalerazita badaude, kodetzaileak beti erabiliko du 'Max B-fotogramak' ezarpenetan zehazten den B-fotogramen kopurua.\n\nGaituta badaude, ikusmen kalitatea hobetuko du beharrezkoak diren B-fotogramen kopurua erabiliz, maximora iritsi arte\nordainez GPUren erabilera handituko bada ere." NVENC.PsychoVisualTuning.ToolTip="Aukera ematen du kodetzailea konfiguratzeko optimizatzeko bit-ratioaren erabilera antzemandako ikusmen kalitatea hobetzeko,\nbatez ere mugimendu handiko egoeretan, ordainean GPUren erabilera handituz."
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/fa-IR.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/fa-IR.ini
Changed
@@ -6,28 +6,43 @@ Bitrate="نرخ بیت" MaxBitrate="حداکثر میزان نرخ بیت" Preset="پیش فرض" +Tuning="تنظیم" Profile="پروفایل" RateControl="کنترل نرخ" +KeyframeIntervalSec="فاصله فریم کلیدی (0=خودکار)" Lossless="بدون تلف" Level="سطح" +AMFOpts="گزینه های AMF/FFmpeg" +AMFOpts.ToolTip="برای تعیین گزینه های سفارشی AMF یا FFmpeg استفاده کنید. برای مثال، \"level=5.2 profile=main BPicturesPattern=3\"" BFrames="حد اکثر فریم های B" VAAPI.Codec="کدک VAAPI" VAAPI.Device="دستگاه VAAPI" -NVENC.Use2Pass="استفاده از کدگذاری 2 گذر" -NVENC.Preset.default="اجرا (کارایی)" -NVENC.Preset.hq="کیفیت" -NVENC.Preset.hp="حد اکثر اجرا (کارایی)" -NVENC.Preset.mq="حداکثر کیفیت" -NVENC.Preset.ll="زمان تاخیر کم" -NVENC.Preset.llhq="کیفیت پایین و زمان تاخیر" -NVENC.Preset.llhp="زمان تاخیر کم عملکرد" NVENC.LookAhead="پیش رو نگاه" NVENC.LookAhead.ToolTip="فریم های B پویا را فعال می کند.\n\nاگر غیرفعال باشد، رمزگذار همیشه از تعداد فریم های B مشخص شده در تنظیمات \"حداکثر فریم B\" استفاده خواهد کرد.\n\nدر صورت فعال بودن، فقط با استفاده از تعداد زیادی کیفیت بصری فریم B حداکثر افزایش می یابد،\n مقدار استفاده از گرافیک افزایش می یابد." NVENC.PsychoVisualTuning="تنظیم بصری روانی" NVENC.PsychoVisualTuning.ToolTip="تنظیمات رمزگذار را که بهینه سازی استفاده از میزان بیت برای افزایش کیفیت بصری درک شده را امکان پذیر می کند،\nخصوصاً در شرایط با حرکت بالا، با استفاده بیشتر از گرافیک." NVENC.CQLevel="سطح تدریج ثابت" +NVENC.8bitUnsupportedHdr="OBS خروجی 8 بیتی ضبط را پشتیبانی نمی کند. 2100." +NVENC.I010Unsupported="NVENC از I010 پشتیبانی نمی کند. به جای آن از P010 استفاده کنید." NVENC.10bitUnsupported="نمی توان رمزگذاری 10 بیتی را روی این رمزگذار انجام داد." NVENC.TooManyBFrames="حداکثر تنظیم فریم ب (%d) بیشتر از پشتیبانی رمزگذار (%d) است." +NVENC.Preset2.p1="P1: سریعترین (کمترین کیفیت)" +NVENC.Preset2.p2="P2: سریعتر (کیفیت پایین تر)" +NVENC.Preset2.p3="P3: سریع (کیفیت پایین)" +NVENC.Preset2.p4="P4: متوسط (کیفیت متوسط)" +NVENC.Preset2.p5="P5: آهسته (کیفیت خوب)" +NVENC.Preset2.p6="P6: کندتر (کیفیت بهتر)" +NVENC.Preset2.p7="P7: کندترین (بهترین کیفیت)" +NVENC.Tuning.hq="کیفیت بالا" +NVENC.Tuning.ll="تاخیر کم" +NVENC.Tuning.ull="تأخیر بسیار کم" +NVENC.Multipass="حالت چند گذر" +NVENC.Multipass.disabled="تک گذر" +NVENC.Multipass.qres="دو گذر (رزولوشن یک چهارم)" +NVENC.Multipass.fullres="دو گذر (رزولوشن کامل)" +AMF.Preset.speed="سرعت" +AMF.Preset.balanced="متعادل شد" +AMF.Preset.quality="کیفیت" FFmpegSource="منبع رسانه" LocalFile="فایل محلی" Looping="چرخه" @@ -42,6 +57,7 @@ CloseFileWhenInactive.ToolTip="وقتی منبع در جریان نمایش داده نمی شود یا\n ضبط نمی شود، پرونده را می بندد. این اجازه می دهد تا پرونده هنگام فعال نبودن منبع تغییر کند،\n اما ممکن است هنگام فعال شدن مجدد منبع، تأخیر در شروع وجود داشته باشد." ColorRange="فضای رنگی YUV" ColorRange.Auto="خودکار" +ColorRange.Partial="محدود" ColorRange.Full="کامل" LinearAlpha="آلفا را در فضای خطی اعمال کنید" RestartMedia="اجرا مجدد" @@ -61,6 +77,10 @@ WarnWindowsDefender="اگر محافظت در برابر باج افزار ویندوز 10 فعال باشد نیز می تواند باعث این خطا شود. دسترسی به پوشه کنترل شده را در امنیت ویندوز/تنظیمات محافظت در برابر تهدید خاموش کنید." Encoder.Error="%1 باز نشد: %2" Encoder.Timeout="رمزگذار %1 بیش از حد طول می کشد تا رمزگذاری شود (موقعیت زمانی: %2 ثانیه)" +AMF.Error="کدک AMF باز نشد: %1" +AMF.GenericError="بررسی کنید که درایورهای ویدیوی شما به روز هستند. سعی کنید سایر نرم افزارهای ضبط را که ممکن است از رمزگذار AMD استفاده می کنند، ببندید، مانند نرمافزار Radeon یا Windows 10 Game DVR." +AMF.8bitUnsupportedHdr="OBS خروجی 8 بیتی ضبط را پشتیبانی نمی کند. 2100." +AMF.10bitUnsupportedAvc="نمی توان رمزگذاری 10 بیتی را روی رمزگذار AMD H.264 انجام داد." NVENC.Error="کدک NVENC باز نشد: %1" NVENC.GenericError="بررسی کنید که درایورهای ویدیویی شما به روز هستند. سایر نرم افزارهای ضبط را که ممکن است از NVENC مانند NVIDIA Shadowplay یا DVR بازی Windows 10 استفاده کنند، ببندید." NVENC.BadGPUIndex="شما گرافیک %1 را در تنظیمات رمزگذار خروجی خود انتخاب کرده اید. دوباره روی 0 تنظیم کنید و امتحان کنید." @@ -68,4 +88,5 @@ NVENC.UnsupportedDevice="خطای NVENC: دستگاه پشتیبانی نمی شود. بررسی کنید کارت ویدیوی شما از NVENC پشتیبانی می کند و آیا درایورها به روز هستند." NVENC.TooManySessions="خطای NVENC: جلسات همزمان بسیار زیاد است. سایر نرم افزارهای ضبط را که ممکن است از NVENC مانند NVIDIA Shadowplay یا DVR بازی Windows 10 استفاده کنند، ببندید." NVENC.CheckDrivers="لطفاً به روز بودن درایورهای ویدیویی خود را بررسی کنید." +AV1.8bitUnsupportedHdr="OBS خروجی 8 بیتی ضبط را پشتیبانی نمی کند. 2100." ReconnectDelayTime="تأخیر اتصال دوباره"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/fi-FI.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/fi-FI.ini
Changed
@@ -1,4 +1,4 @@ -FFmpegOutput="FFmpeg ulostulo" +FFmpegOutput="FFmpeg-ulostulo" FFmpegAAC="FFmpeg oletus AAC-enkooderi" FFmpegOpus="FFmpeg Opus -enkooderi" FFmpegOpts="FFmpeg-valinnat" @@ -16,14 +16,6 @@ BFrames="Maksimi-B-ruudut" VAAPI.Codec="VAAPI-koodekki" VAAPI.Device="VAAPI-laite" -NVENC.Use2Pass="Käytä Two-Pass enkoodausta" -NVENC.Preset.default="Suorituskyky" -NVENC.Preset.hq="Laatu" -NVENC.Preset.hp="Korkein suorituskyky" -NVENC.Preset.mq="Korkein laatu" -NVENC.Preset.ll="Alhainen latenssi" -NVENC.Preset.llhq="Alhainen latenssi, korkea laatu" -NVENC.Preset.llhp="Alhainen latenssi, korkea suorituskyky" NVENC.LookAhead.ToolTip="Käytä dynaamisia B-ruutuja.\n\nPois päältä pidettäessä enkooderi käyttää aina B-ruutuja sen verran kuin asetuksessa 'Maksimi-B-ruudut' on määritetty.\n\nKäytössä ollessaan asetus parantaa visuaalista laatua käyttäen vain tarvittavan määrän B-ruutuja maksimiin asti,\nGPU:n käytön kustannuksella." NVENC.PsychoVisualTuning="Psykovisuaalinen viritys" NVENC.PsychoVisualTuning.ToolTip="Ottaa käyttöön enkooderin asetuksen, jolla bittinopeuden käyttö optimoidaan GPU-käytön\nkustannuksella korkeampaan visuaaliseen laatuun, varsinkin tilanteisiin joissa on nopeaa liikettä." @@ -32,6 +24,16 @@ NVENC.I010Unsupported="NVENC ei tue I010:tä. Käytä sen sijaan P010:tä." NVENC.10bitUnsupported="Ei voida suorittaa 10-bittistä enkooderia tälle enkooderille." NVENC.TooManyBFrames="Ennimäis-B-ruutujen asetus (%d) on enemmän kuin enkooderi tukee (%d)." +NVENC.Preset2.p1="P1: Nopein (matalin laatu)" +NVENC.Preset2.p2="P2: Nopeampi (matalampi laatu)" +NVENC.Preset2.p3="P3: Nopea (matala laatu)" +NVENC.Preset2.p4="P4: Keskitaso (keskitason laatu)" +NVENC.Preset2.p5="P5: Hidas (hyvä laatu)" +NVENC.Preset2.p6="P6: Hitaampi (parempi laatu)" +NVENC.Preset2.p7="P7: Hitain (paras laatu)" +NVENC.Tuning.hq="Korkea laatu" +NVENC.Tuning.ll="Alhainen latenssi" +NVENC.Tuning.ull="Erittäin alhainen latenssi" AMF.Preset.speed="Nopeus" AMF.Preset.balanced="Tasapainotettu" AMF.Preset.quality="Laatu" @@ -49,6 +51,7 @@ CloseFileWhenInactive.ToolTip="Sulkee tiedoston kun lähdettä ei näytetä lähetyksessä tai nauhoituksessa.\nTämä mahdollistaa tiedoston muuttamisen kun lähde ei ole aktiivinen,\nmutta se saattaa aiheuttaa pientä viivettä käynnistyksessä kun tiedosto aktivoituu uudelleen." ColorRange="YUV-värialue" ColorRange.Auto="Automaattinen" +ColorRange.Partial="Rajoitettu" ColorRange.Full="Täysi" LinearAlpha="Käytä alfa lineaarisessa tilassa" RestartMedia="Toista uudelleen"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/fil-PH.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/fil-PH.ini
Changed
@@ -7,14 +7,6 @@ RateControl="Kontrolin ang Antas" Level="Antas" BFrames="Pinakamaraming B-frames" -NVENC.Use2Pass="Gamitin ang Two-Pass Encoding" -NVENC.Preset.default="Pagganap" -NVENC.Preset.hq="Kalidad" -NVENC.Preset.hp="Pinakamalakas na Pagganap" -NVENC.Preset.mq="Pinakamalakas na Kalidad" -NVENC.Preset.ll="Mababa na Latency" -NVENC.Preset.llhq="Mababang-Latency na Kalidad" -NVENC.Preset.llhp="Mababang-Latency na Pagganap" NVENC.LookAhead="Humula (Look-ahead)" NVENC.CQLevel="CQ na Antas" FFmpegSource="Pagkunan ng Media"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/fr-FR.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/fr-FR.ini
Changed
@@ -6,6 +6,7 @@ Bitrate="Débit" MaxBitrate="Débit maximal" Preset="Pré-réglage" +Tuning="Réglage" Profile="Profil" RateControl="Contrôle du débit" KeyframeIntervalSec="Intervalle d'images clés (0 = auto)" @@ -16,14 +17,6 @@ BFrames="Nombre maximal de B-frames" VAAPI.Codec="Codec VAAPI" VAAPI.Device="Appareil VAAPI" -NVENC.Use2Pass="Utiliser l'encodage double passe" -NVENC.Preset.default="Performances" -NVENC.Preset.hq="Qualité" -NVENC.Preset.hp="Performances maximales" -NVENC.Preset.mq="Qualité maximale" -NVENC.Preset.ll="Faible Latence" -NVENC.Preset.llhq="Qualité avec Faible Latence" -NVENC.Preset.llhp="Performance avec Faible Latence" NVENC.LookAhead="Prédiction (Look-ahead)" NVENC.LookAhead.ToolTip="Active les B-frames dynamiques.\n\nSi désactivé, l'encodeur utilisera toujours le nombre de B-frames dans le paramètre \"Nombre maximal de B-frames\".\n\nSi activé, il augmentera la qualité visuelle en n'utilisant que le nombre de B-frames nécessaire, inférieur au maximum,\nau prix d'une utilisation accrue de la carte graphique." NVENC.PsychoVisualTuning="Améliorations psycho-visuelles" @@ -33,6 +26,20 @@ NVENC.I010Unsupported="NVENC ne supporte pas I010. Utilisez P010 à la place." NVENC.10bitUnsupported="Impossible d'effectuer un encodage 10 bits sur cet encodeur." NVENC.TooManyBFrames="Le paramètre Max B-frames (%d) est supérieur à ce que l'encodeur peut supporter (%d)." +NVENC.Preset2.p1="P1 : Plus rapide (qualité la plus basse)" +NVENC.Preset2.p2="P2 : Plus rapide (qualité inférieure)" +NVENC.Preset2.p3="P3 : Rapide (basse qualité)" +NVENC.Preset2.p4="P4 : Moyen (qualité moyenne)" +NVENC.Preset2.p5="P5 : Lent (bonne qualité)" +NVENC.Preset2.p6="P6 : Plus lente (très bonne qualité)" +NVENC.Preset2.p7="P7 : Plus lente (meilleure qualité)" +NVENC.Tuning.hq="Haute qualité" +NVENC.Tuning.ll="Faible latence" +NVENC.Tuning.ull="Très faible latence" +NVENC.Multipass="Mode Multipass" +NVENC.Multipass.disabled="Passe unique" +NVENC.Multipass.qres="Deux passes (quart de résolution)" +NVENC.Multipass.fullres="Deux passes (Résolution complète)" AMF.Preset.speed="Vitesse" AMF.Preset.balanced="Équilibré" AMF.Preset.quality="Qualité"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/gd-GB.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/gd-GB.ini
Changed
@@ -11,14 +11,6 @@ BFrames="Frèamaichean-B as motha" VAAPI.Codec="Codec VAAPI" VAAPI.Device="Uidheam VAAPI" -NVENC.Use2Pass="Cleachd còdachadh dà phas" -NVENC.Preset.default="Dèanadas" -NVENC.Preset.hq="Càileachd" -NVENC.Preset.hp="Dèanadas as àirde" -NVENC.Preset.mq="Càileachd as àirde" -NVENC.Preset.ll="Foillidheachd ìosal" -NVENC.Preset.llhq="Càileachd foillidheachd ìosail" -NVENC.Preset.llhp="Dèanadas foillidheachd ìosail" NVENC.LookAhead="Coimhead roimhe" NVENC.LookAhead.ToolTip="Cuiridh seo frèamaichean-B innsgineach an comas.\n\nMa tha seo à comas, cleachdaidh an t-inneal-còdachaidh an àireamh de fhrèamaichean-B a chaidh a shònrachadh san roghainn “Frèamaichean-B as motha” an-còmhnaidh.\n\nMa tha seo an comas, cuiridh e ris a’ chàileachd lèirsinneach a’ cleachdadh an àireamh sa fhrèamaichean-B air a bhios feum a-mhàin gu ruige na h-àireimh as àirde\nagus pàighidh thu dha le barrachd cleachdadh a’ GPU." NVENC.PsychoVisualTuning="Gleusadh lèirsinneach saidhg-eòlach"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/gl-ES.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/gl-ES.ini
Changed
@@ -12,14 +12,6 @@ BFrames="Máximo de B-frames" VAAPI.Codec="Códec VAAPI" VAAPI.Device="Dispositivo VAAPI" -NVENC.Use2Pass="Usar codificación en dúas pasadas" -NVENC.Preset.default="Rendemento" -NVENC.Preset.hq="Calidade" -NVENC.Preset.hp="Máximo rendemento" -NVENC.Preset.mq="Máxima Calidade" -NVENC.Preset.ll="Baixa latencia" -NVENC.Preset.llhq="Calidade de baixa Latencia" -NVENC.Preset.llhp="Rendemento de baixa Latencia" NVENC.LookAhead="Previsión" NVENC.LookAhead.ToolTip="Activar B-frames dinámicos.\n\nSe está desactivado, o codificador empregará sempre o número de B-frames especificados na configuración «Máximo de B-frames».\n\nSe está activado, aumentará a calidade visual empregando só a cantidade de B-frames necesarios, ata o máximo,\nco custo do aumento de emprego da GPU." NVENC.PsychoVisualTuning="Sintonización psico visual"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/he-IL.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/he-IL.ini
Changed
@@ -6,6 +6,7 @@ Bitrate="קצב נתונים" MaxBitrate="קצב נתונים מרבי" Preset="קבוע מראש" +Tuning="כוונון" Profile="פרופיל" RateControl="בקרת קצב" KeyframeIntervalSec="מרווח תמונות מפתח (0=אוטומטי)" @@ -16,14 +17,6 @@ BFrames="מקסימום B-פריימים" VAAPI.Codec="מפענח VAAPI" VAAPI.Device="מכשיר VAAPI" -NVENC.Use2Pass="השתמש בקידוד שני מעברים" -NVENC.Preset.default="ביצועים" -NVENC.Preset.hq="איכות" -NVENC.Preset.hp="ביצועים מיטביים" -NVENC.Preset.mq="איכות מיטבית" -NVENC.Preset.ll="השהיה נמוכה" -NVENC.Preset.llhq="איכות עם זמן השהייה נמוך" -NVENC.Preset.llhp="ביצועים עם זמן השהייה נמוך" NVENC.LookAhead.ToolTip="מאפשר B-פריימים דינאמיים.\n\nאם מבוטל, המקודד ישתמש תמיד במספר ה-B-פריימים המצויין בהגדרה 'מקסימום B-פריימים'.\n\nאם מאופשר, המקודד יוכל לשפר את איכות התמונה ע\"י שימוש רק במספר ה-B-פריימים הנדרש, לא יותר מהמקסימום,\nבמחיר של שימוש נוסף ב-GPU." NVENC.PsychoVisualTuning.ToolTip="מאפשר הגדרות מקודד שמבצעות מיטוב של קצב הנתונים עבור איכות התמונה המורגשת,\nבמיוחד במצבים עם תנועה מרובה, במחיר של שימוש נוסף ב-GPU." NVENC.CQLevel="רמת CQ" @@ -31,6 +24,20 @@ NVENC.I010Unsupported="NVENC לא תומך ב־I010. יש להשתמש ב־P010 במקום." NVENC.10bitUnsupported="לא ניתן לבצע הצפנה של 10 סיביות במצפין הזה." NVENC.TooManyBFrames="הגדרת ה־B-פריימים המרבית (%d) גדולה ממה שתומך המצפין (%d)." +NVENC.Preset2.p1="P1: המהיר ביותר (האיכות הנמוכה ביותר)" +NVENC.Preset2.p2="P2: מהיר יותר (איכות נמוכה יותר)" +NVENC.Preset2.p3="P3: מהיר (איכות נמוכה)" +NVENC.Preset2.p4="P4: ממוצע (איכות ממוצעת)" +NVENC.Preset2.p5="P5: איטי (איכות טובה)" +NVENC.Preset2.p6="P6: איטי יותר (איכות טובה יותר)" +NVENC.Preset2.p7="P7: האיטי ביותר (האיכות הטובה ביותר)" +NVENC.Tuning.hq="איכות גבוהה" +NVENC.Tuning.ll="השהיה נמוכה" +NVENC.Tuning.ull="חביון נמוך במיוחד" +NVENC.Multipass="מצב ריבוי מעברים" +NVENC.Multipass.disabled="מעבר יחיד" +NVENC.Multipass.qres="שני מעברים (רזולוציה רבעונית)" +NVENC.Multipass.fullres="שני מעברים (רזולוציה מלאה)" AMF.Preset.speed="מהירות" AMF.Preset.balanced="מאוזן" AMF.Preset.quality="איכות"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/hi-IN.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/hi-IN.ini
Changed
@@ -6,6 +6,7 @@ Bitrate="बिटरेट" MaxBitrate="अधिकतम बिटरेट" Preset="प्रिसेट" +Tuning="ट्यूनिंग" Profile="प्रोफ़ाइल" RateControl="दर नियंत्रण" KeyframeIntervalSec="कीफ़्रेम अंतराल (0=स्वतः)" @@ -16,14 +17,6 @@ BFrames="महत्तम बी-फ्रेम्स" VAAPI.Codec="VAAPI कोडेक" VAAPI.Device="VAAPI डिवाइस" -NVENC.Use2Pass="2-पास एन्कोडिंग प्रयोग करें" -NVENC.Preset.default="प्रदर्शन" -NVENC.Preset.hq="गुणवत्ता" -NVENC.Preset.hp="उन्नत प्रदर्शन" -NVENC.Preset.mq="उच्च गुणवत्ता" -NVENC.Preset.ll="निम्न-विलंबता" -NVENC.Preset.llhq="निम्न-विलंबता गुणवत्ता" -NVENC.Preset.llhp="निम्न-विलंबता प्रदर्शन" NVENC.LookAhead="आगे-पढ़ें" NVENC.LookAhead.ToolTip="गतिशील बी-फ़्रेम सक्षम करता है.\n\nयदि अक्षम है, तो एन्कोडर हमेशा 'महत्तम बी-फ़्रेम' सेटिंग में निर्दिष्ट बी-फ़्रेम की संख्या का उपयोग करेगा.\n\nयदि सक्षम है, तो यह केवल आवश्यक से अधिकतम तक बी-फ़्रेम का उपयोग करके दृश्य गुणवत्ता में वृद्धि करेगा,\nबढ़ी हुई GPU उपयोग की कीमत पर." NVENC.PsychoVisualTuning="आभासी प्रदर्शन ट्यूनिंग" @@ -33,6 +26,20 @@ NVENC.I010Unsupported="NVENC I010 का समर्थन नहीं करता है. इसके बजाय P010 का प्रयोग करें." NVENC.10bitUnsupported="इस एन्कोडर पर 10-बिट एन्कोड नहीं किया जा सकता." NVENC.TooManyBFrames="अधिकतम B-फ़्रेम सेटिंग (%d) एन्कोडर समर्थन (%d) से अधिक है." +NVENC.Preset2.p1="P1: सबसे तेज (निम्नतम गुणवत्ता)" +NVENC.Preset2.p2="P2: तेज (निम्नतर गुणवत्ता)" +NVENC.Preset2.p3="P3: तेज (निम्नतम गुणवत्ता)" +NVENC.Preset2.p4="P4: मध्यम (मध्यम गुणवत्ता)" +NVENC.Preset2.p5="P5: धीमा (अच्छी गुणवत्ता)" +NVENC.Preset2.p6="P6: और धीमा (बेहतर गुणवत्ता)" +NVENC.Preset2.p7="P7: सबसे धीमा (महत्तम गुणवत्ता)" +NVENC.Tuning.hq="उच्च गुणवत्ता" +NVENC.Tuning.ll="निम्न विलंबता" +NVENC.Tuning.ull="अति निम्न विलंबता" +NVENC.Multipass="मल्टीपास मोड" +NVENC.Multipass.disabled="एक पास" +NVENC.Multipass.qres="दो पास (चौथाई रिज़ोल्यूशन)" +NVENC.Multipass.fullres="दो पास (फ़ुल रिज़ोल्यूशन)" AMF.Preset.speed="गति" AMF.Preset.balanced="संतुलित" AMF.Preset.quality="गुणवत्ता" @@ -50,6 +57,7 @@ CloseFileWhenInactive.ToolTip="जब स्रोत, स्ट्रीम या\nरिकॉर्डिंग पर प्रदर्शित नहीं हो रहा हो तो फ़ाइल को बंद कर देता है.\nयह स्रोत के सक्रिय न होने पर फ़ाइल को बदलने की अनुमति देता है,\nलेकिन स्रोत के पुन: सक्रिय होने पर कुछ आरंभिक विलंब हो सकता है." ColorRange="YUV रंग विस्तार" ColorRange.Auto="स्वतः" +ColorRange.Partial="सीमित" ColorRange.Full="पूर्ण" LinearAlpha="लीनियर स्पेस में अल्फा लागू करें" RestartMedia="पुनः आरंभ करें"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/hr-HR.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/hr-HR.ini
Changed
@@ -4,8 +4,6 @@ Preset="Šablon" RateControl="Kontrola protoka" Lossless="Bez gubitka" -NVENC.Use2Pass="Koristi enkoding duplog prolaza" -NVENC.Preset.ll="Nisko kašnjenje" FFmpegSource="Medija izvor" LocalFile="Lokalna datoteka" Looping="Ponavljanje"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/hu-HU.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/hu-HU.ini
Changed
@@ -6,6 +6,7 @@ Bitrate="Bitsebesség" MaxBitrate="Max bitsebesség" Preset="Készlet" +Tuning="Finomhangolás" Profile="Profil" RateControl="Sebesség Vezérlés" KeyframeIntervalSec="Kulcsképkockák időköze (0=automatikus)" @@ -15,14 +16,6 @@ AMFOpts.ToolTip="Az egyéni AMF vagy FFmpeg beállítások megadásához használja. Például: „level=5.2 profile=main BPicturesPattern=3”." BFrames="Max B-kockák" VAAPI.Device="VAAPI Eszköz" -NVENC.Use2Pass="Kétmenetes kódolás" -NVENC.Preset.default="Teljesítménycentrikus" -NVENC.Preset.hq="Minőségcentrikus" -NVENC.Preset.hp="Maximális teljesítmény" -NVENC.Preset.mq="Maximális minőség" -NVENC.Preset.ll="Alacsony-késleltetés" -NVENC.Preset.llhq="Alacsony késleltetés minőséggel" -NVENC.Preset.llhp="Alacsony késleltetés nagyobb teljesítménnyel" NVENC.LookAhead="Előretekintés" NVENC.LookAhead.ToolTip="Lehetővé teszi a dinamikus B-kockákat.\n\nHa le van tiltva, a kódoló mindig a \"Max B-kockák\" beállításnál megadott értéket használja.\n\nHa engedélyezve van, az növeli vizuális minőséget és annyi B-kockát használ a kódoló, amennyire szükség van, akár a maximumot is,\nmegnövekedett GPU kihasználtság árán." NVENC.PsychoVisualTuning="Psichovizuális Tuning" @@ -32,6 +25,20 @@ NVENC.I010Unsupported="Az NVENC nem támogatja az I010 formátumot. Használja inkább a P010 formátumot." NVENC.10bitUnsupported="Nem lehet 10 bites kódolást végezni ezen a kódolón." NVENC.TooManyBFrames="A maximális B-kocka beállítás (%d) több, mint amit a kódoló támogat (%d)." +NVENC.Preset2.p1="P1: Leggyorsabb (legalacsonyabb minőség)" +NVENC.Preset2.p2="P2: Gyorsabb (alacsonyabb minőség)" +NVENC.Preset2.p3="P3: Gyors (alacsony minőség)" +NVENC.Preset2.p4="P4: Közepes (közepes minőség)" +NVENC.Preset2.p5="P5: Lassú (jó minőség)" +NVENC.Preset2.p6="P6: Lassabb (jobb minőség)" +NVENC.Preset2.p7="P7: Leglassabb (legjobb minőség)" +NVENC.Tuning.hq="Magas minőség" +NVENC.Tuning.ll="Alacsony késleltetés" +NVENC.Tuning.ull="Rendkívül alacsony késleltetés" +NVENC.Multipass="Többmenetes mód" +NVENC.Multipass.disabled="Egymenetes" +NVENC.Multipass.qres="Két menet (negyedméretű felbontás)" +NVENC.Multipass.fullres="Két menet (teljes felbontás)" AMF.Preset.speed="Sebesség" AMF.Preset.balanced="Kiegyensúlyozott" AMF.Preset.quality="Minőség" @@ -48,6 +55,7 @@ CloseFileWhenInactive="Fájl bezárása ha tétlen" CloseFileWhenInactive.ToolTip="Bezárja a fájlt, ha a forrás nem aktív streamen vagy\nfelvételen. Ez lehetővé teszi, hogy a fájlt meg kell változtatni, ha a forrás nem aktív, a \nviszont felléphet némi indítási késés, ha a forrás reaktiválódik." ColorRange="YUV színtartomány" +ColorRange.Partial="Korlátozott" ColorRange.Full="Teljes" LinearAlpha="Alfa alkalmazása lineáris térben" RestartMedia="Újraindítás"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/hy-AM.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/hy-AM.ini
Changed
@@ -6,6 +6,7 @@ Bitrate="Բիթրեյթ" MaxBitrate="Առավելագույն բիթրեյթ" Preset="Նախադրված" +Tuning="Կարգավորում" Profile="Պրոֆիլ" RateControl="Բիթերի կառավարում" KeyframeIntervalSec="Հիմնական կադրերի ընդմիջում (0=ավտոմատ)" @@ -16,22 +17,29 @@ BFrames="Առավ. B-կադրերի քանակը" VAAPI.Codec="VAAPI կոդեկ" VAAPI.Device="VAAPI սարք" -NVENC.Use2Pass="Օգտագործել երկու անցուղու կոդավորում" -NVENC.Preset.default="Կատարում" -NVENC.Preset.hq="Որակ" -NVENC.Preset.hp="Առավ. կատարումը" -NVENC.Preset.mq="Առավ. որակ" -NVENC.Preset.ll="Ցածր ուշացում" -NVENC.Preset.llhq="Ցածր հետաձգում, բարձր որակ" -NVENC.Preset.llhp="Ցածր հետաձգում, բարձր կատարողականություն" NVENC.LookAhead="Գուշակություն (Look-ahead)" NVENC.LookAhead.ToolTip="Միացնում է դինամիկ B կադրերը:\n\nԵթե անջատված է, կոդավորիչը միշտ կօգտագործի «Առավ. B-կադրերի քանակը'։\n\nԵթե միացված է, սա կբարձրացնի պատկերի տեսողական որակը՝ օգտագործելով ցանկացած թվով B կադրեր, մինչև առավելագույնը,\nԿՄՀի օգտագործումը մեծացնելու հաշվին:" NVENC.PsychoVisualTuning="Հոգեվիզուալ հարմարեցում (Psycho Visual Tuning)" NVENC.PsychoVisualTuning.ToolTip="Միացնում է կոդավորման կարգավորումները, որոնք օպտիմիզացնում են բիթային արագության օգտագործումը ընկալվող տեսողական որակի բարձրացման համար,\nհատկապես բարձր շարժման իրավիճակներում՝ մեծացնելով ԿՄՀ-ի օգտագործումը:" NVENC.CQLevel="CQ արժեքը" NVENC.8bitUnsupportedHdr="OBS-ը չի աջակցում 8-բիթ Rec. 2100-ի ելքը" +NVENC.I010Unsupported="NVENC-ը չի աջակցում I010-ը։ Դրա փոխարեն օգտագործեք P010։" NVENC.10bitUnsupported="Հնարավոր չէ կատարել 10-բիթանոց կոդավորում այս կոդավորիչի վրա." NVENC.TooManyBFrames="B-կադրերի առավելագույն կարգավորումը (%d) ավելին է, քան կոդավորողի աջակցումը (%d)." +NVENC.Preset2.p1="P1: Ամենաարագ (Ցածր որակ)" +NVENC.Preset2.p2="P2: Ավելի արագ (Ավելի ցածր որակ)" +NVENC.Preset2.p3="P3: Արագ (Ցածր որակ)" +NVENC.Preset2.p4="P6: Միջին (Միջին որակ)" +NVENC.Preset2.p5="P5: Դանդաղ (Լավ որակ)" +NVENC.Preset2.p6="P6: Ավելի դանդաղ (Ավելի լավ որակ)" +NVENC.Preset2.p7="P6: Ամենադանդաղ (Ամենալավ որակ)" +NVENC.Tuning.hq="Բարձր որակ" +NVENC.Tuning.ll="Ցածր հապաղում" +NVENC.Tuning.ull="Գերցածր հապաղում" +NVENC.Multipass="Բազմանցում ռեժիմ" +NVENC.Multipass.disabled="Մեկ անցում" +NVENC.Multipass.qres="Կրկնակի անցում (Քառակի լուծաչափ)" +NVENC.Multipass.fullres="Կրկնակի անցում (Ամբողջական լուծաչափ)" AMF.Preset.speed="Արագություն" AMF.Preset.balanced="Հաշվեկշիռ" AMF.Preset.quality="Որակ" @@ -49,6 +57,7 @@ CloseFileWhenInactive.ToolTip="Փակում է ֆայլը, երբ աղբյուրը տեսանելի չէ հեռարձակման կամ ձայնագրման ընթացքում:\nՍա թույլ է տալիս փոփոխել ֆայլը, երբ աղբյուրը ակտիվ չէ, սակայն գործարկման հետաձգումները կարող են \nհայտնվել, երբ աղբյուրը նորից ակտիվացվի:" ColorRange="YUV գունային տիրույթ" ColorRange.Auto="Ավտոմատ" +ColorRange.Partial="Սահմանափակ" ColorRange.Full="Ամբողջ" LinearAlpha="Կիրառել ալֆա ալիքը գծային տարածության մեջ" RestartMedia="Վերսկսել" @@ -70,6 +79,8 @@ Encoder.Timeout="%1 կոդավորիչը չափազանց երկար է կոդավորումը (ժամկետը սպառվելու է՝ %2 վայրկյան)" AMF.Error="Չհաջողվեց բացել AMF կոդեկը: %1" AMF.GenericError="Ստուգել, որ ձեր վիդեո դրայվերները թարմացված են: Փորձեք փակել այլ ծրագրեր, որոնք կարող են օգտագործել AMD կոդավորիչը, օրինակ՝ Radeon Software կամ Windows 10 Game DVR:" +AMF.8bitUnsupportedHdr="OBS-ը չի աջակցում 8-բիթ Rec. 2100-ի ելքը" +AMF.10bitUnsupportedAvc="Հնարավոր չէ կատարել 10-բիթանոց կոդավորում AMD H.264 կոդավորիչի վրա։" NVENC.Error="Չհաջողվեց բացել NVENC կոդեկը: %1" NVENC.GenericError="Ստուգեք, որ ձեր վիդեո դրայվերները թարմացված են: Փորձեք փակել այլ ծրագրեր, որոնք կարող են օգտագործել NVENC, օրինակ՝ NVIDIA Shadowplay կամ Windows 10 Game DVR:" NVENC.BadGPUIndex="Դուք ընտրել եք վիդեո քարտի համարը %1 կոդավորման կարգավորումներում: Ընտրեք գրաֆիկական քարտի համարը 0 և նորից փորձեք:" @@ -77,4 +88,5 @@ NVENC.UnsupportedDevice="NVENC սխալ: Չաջակցվող սարք: Ստուգեք, որ ձեր գրաֆիկական քարտը աջակցում է NVENC-ին, և որ դրայվերները թարմացված են:" NVENC.TooManySessions="NVENC սխալ: Չափազանց շատ միաժամանակյա աշխատաշրջաններ: Փորձեք փակել ձայնագրման այլ ծրագրեր, որոնք կարող է օգտագործել NVENC-ը, օրինակ՝ NVIDIA Shadowplay կամ Windows 10 Game DVR:" NVENC.CheckDrivers="Խնդրում ենք ստուգել, որ ձեր տեսաքարտի վարորդը թարմացված է:" +AV1.8bitUnsupportedHdr="OBS-ը չի աջակցում 8-բիթ Rec. 2100-ի ելքը" ReconnectDelayTime="Վերամիացման հետաձգում"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/id-ID.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/id-ID.ini
Changed
@@ -4,6 +4,7 @@ FFmpegOpts="Pengaturan FFmpeg" FFmpegOpts.ToolTip.Source="Memungkinkan Anda untuk mengatur opsi FFmpeg. Opsi ini hanya menerima dalam format option=value.\nOpsi ganda dapat diatur dengan memisahkan nya dengan spasi.\nContoh: rtsp_transport=tcp rtsp_flags=prefer_tcp" MaxBitrate="Maksimum Bitrate" +Tuning="Penyetelan" Profile="Profil" RateControl="Kontrol Rate" KeyframeIntervalSec="Interval Keyframe (0=otomatis)" @@ -12,14 +13,6 @@ BFrames="Maksimum B-frame" VAAPI.Codec="Codec VAAPI" VAAPI.Device="Perangkat VAAPI" -NVENC.Use2Pass="Gunakan Pengkodean Dua Langkah" -NVENC.Preset.default="Performa" -NVENC.Preset.hq="Kualitas" -NVENC.Preset.hp="Performa Maksimum" -NVENC.Preset.mq="Kualitas Maksimum" -NVENC.Preset.ll="Latensi Rendah" -NVENC.Preset.llhq="Kualitas Latensi Rendah" -NVENC.Preset.llhp="Performa Latensi Rendah" NVENC.LookAhead.ToolTip="Mengaktifkan B-frame dinamis.\n\nJika dinonaktifkan, pengkodean akan selalu menggunakan jumlah B-frame yang ditentukan di pengaturan 'Maksimum B-frame'.\n\nJika diaktifkan, akan meningkatkan kualitas visual dengan hanya memakai seberapa banyak B-frame yang diperlukan, hingga maksimum,\ndengan resiko peningkatan penggunaan GPU." NVENC.PsychoVisualTuning.ToolTip="Mengaktifkan pengaturan pengkodean yang mengoptimalkan penggunaan bitrate untuk meningkatkan kualitas visual yang dirasakan,\nterutama dalam situasi dengan motion yang tinggi, dengan resiko peningkatan penggunaan GPU." NVENC.CQLevel="Level CQ" @@ -27,6 +20,19 @@ NVENC.I010Unsupported="NVENC tidak mendukung I010. Sebagai gantinya, gunakan P010." NVENC.10bitUnsupported="Tidak dapat melakukan meng-kode 10-bit pada pengkodean ini." NVENC.TooManyBFrames="Aturan Maksimum B-frames (%d) lebih dari dukungan pengkodean (%d)." +NVENC.Preset2.p1="P1: Tercepat (Kualitas Terendah)" +NVENC.Preset2.p2="P2: Lebih Cepat (Kualitas Lebih Rendah)" +NVENC.Preset2.p3="P3: Cepat (Kualitas Rendah)" +NVENC.Preset2.p4="P4: Sedang (Kualitas Sedang)" +NVENC.Preset2.p5="P5: Lambat (Kualitas Bagus)" +NVENC.Preset2.p6="P6: Lebih Lambat (Kualitas Lebih Baik)" +NVENC.Preset2.p7="P7: Ter-lambat (Kualitas Terbaik)" +NVENC.Tuning.hq="Kualitas Tinggi" +NVENC.Tuning.ll="Latensi Rendah" +NVENC.Tuning.ull="Latensi Ultra Rendah" +NVENC.Multipass="Mode Multipass" +NVENC.Multipass.qres="Two Passes (Resolusi Seperempat)" +NVENC.Multipass.fullres="Two Passes (Resolusi Penuh)" AMF.Preset.speed="Kecepatan" AMF.Preset.balanced="Seimbang" AMF.Preset.quality="Kualitas"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/it-IT.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/it-IT.ini
Changed
@@ -14,14 +14,6 @@ BFrames="B-frame massimi" VAAPI.Codec="Codec VAAPI" VAAPI.Device="Dispositivo VAAPI" -NVENC.Use2Pass="Utilizza la codifica in due passaggi" -NVENC.Preset.default="Prestazioni" -NVENC.Preset.hq="Qualità" -NVENC.Preset.hp="Massime prestazioni" -NVENC.Preset.mq="Massima qualità" -NVENC.Preset.ll="Bassa latenza" -NVENC.Preset.llhq="Bassa latenza e qualità" -NVENC.Preset.llhp="Bassa latenza e prestazioni" NVENC.LookAhead="Previsione (look-ahead)" NVENC.LookAhead.ToolTip="Attiva i B-frame dinamici.\n\nSe disattivato, la codifica utilizzerà sempre il numero di B-frame specificato nell'impostazione «B-frame massimi».\n\nSe attivato, aumenterà la qualità visiva utilizzando comunque solo i B-frame necessari,\nfino al massimo, al costo di un maggiore utilizzo della GPU." NVENC.PsychoVisualTuning="Ottimizzazione visiva di Psycho" @@ -31,6 +23,20 @@ NVENC.I010Unsupported="NVENC non supporta I010. Usa invece P010." NVENC.10bitUnsupported="Impossibile eseguire la codifica a 10 bit con questo encoder." NVENC.TooManyBFrames="L'impostazione B-frame massimi (%d) supera i limiti dell'encoder (%d)." +NVENC.Preset2.p1="P1: Più veloce (qualità più bassa)" +NVENC.Preset2.p2="P1: Più Veloce (Qualità Più Bassa)" +NVENC.Preset2.p3="P3: Veloce (Bassa Qualità)" +NVENC.Preset2.p4="P4: Medio (qualità media)" +NVENC.Preset2.p5="P5: Lento (Qualità Buona)" +NVENC.Preset2.p6="P6: Più lenta (qualità migliore)" +NVENC.Preset2.p7="P7: Più lenta (migliore qualità)" +NVENC.Tuning.hq="Alta Qualità" +NVENC.Tuning.ll="Bassa Latenza" +NVENC.Tuning.ull="Latenza ultra bassa" +NVENC.Multipass="Modalità Multipass" +NVENC.Multipass.disabled="Passaggio Singolo" +NVENC.Multipass.qres="Due passaggi (risoluzione 1/4)" +NVENC.Multipass.fullres="Due Passaggi (Risoluzione Completa)" AMF.Preset.speed="Velocità" AMF.Preset.balanced="Bilanciato" AMF.Preset.quality="Qualità"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/ja-JP.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/ja-JP.ini
Changed
@@ -6,6 +6,7 @@ Bitrate="ビットレート" MaxBitrate="最大ビットレート" Preset="プリセット" +Tuning="チューニング" Profile="プロファイル" RateControl="レート制御" KeyframeIntervalSec="キーフレーム間隔 (0=自動)" @@ -16,7 +17,6 @@ BFrames="最大Bフレーム" VAAPI.Codec="VAAPI コーデック" VAAPI.Device="VAAPI デバイス" -NVENC.Use2Pass="2パスエンコードを使用" NVENC.LookAhead.ToolTip="動的Bフレームを有効にします。 \n\n無効にすると、エンコーダは常に '最大Bフレーム' 設定で指定されたBフレーム数を使用します。 \n\n有効にした場合、GPU使用率の増加を犠牲にして、\n\n最大数まで、必要な分だけ多くのBフレームを使用することで視覚的品質を向上させます。" NVENC.PsychoVisualTuning="心理視覚チューニング" NVENC.PsychoVisualTuning.ToolTip="GPU使用率の増加を犠牲にして、特に動きの激しい状況で、\n視覚品質の向上のためにビットレートの使用を最適化するエンコーダ設定を有効にします。" @@ -25,6 +25,20 @@ NVENC.I010Unsupported="NVENC は I010 をサポートしていません。 代わりに P010 を使用してください。" NVENC.10bitUnsupported="このエンコーダでは 10ビット エンコードを実行できません。" NVENC.TooManyBFrames="最大Bフレーム 設定 (%d) はエンコーダがサポートしている (%d) を超えています。" +NVENC.Preset2.p1="P1: Fastest (最低品質)" +NVENC.Preset2.p2="P2: Faster (より低品質)" +NVENC.Preset2.p3="P3: Fast (低品質)" +NVENC.Preset2.p4="P4: Medium (中品質)" +NVENC.Preset2.p5="P5: Slow (高品質)" +NVENC.Preset2.p6="P6: Slower (より高品質)" +NVENC.Preset2.p7="P7: Slowest (最高品質)" +NVENC.Tuning.hq="高品質" +NVENC.Tuning.ll="低遅延" +NVENC.Tuning.ull="超低遅延" +NVENC.Multipass="マルチパスモード" +NVENC.Multipass.disabled="1パス" +NVENC.Multipass.qres="2パス (1/4 解像度)" +NVENC.Multipass.fullres="2パス (フル 解像度)" FFmpegSource="メディアソース" LocalFile="ローカルファイル" Looping="ループ (繰り返し)" @@ -60,15 +74,15 @@ Encoder.Error="%1 を開けませんでした: %2" Encoder.Timeout="エンコーダ %1 のエンコードに時間がかかりすぎています (タイムアウト: %2 秒)" AMF.Error="AMF コーデックを開けませんでした: %1" -AMF.GenericError="ビデオドライバが最新のものであることを確認してください。 Radeon Software や Windows 10 Game DVR など AMDエンコーダ を使用している可能性のある他の録画ソフトを終了してみてください。" +AMF.GenericError="ビデオドライバーが最新のものであることを確認してください。 Radeon Software や Windows 10 Game DVR など AMDエンコーダ を使用している可能性のある他の録画ソフトを終了してみてください。" AMF.8bitUnsupportedHdr="OBSは Rec. 2100 で 8ビット 出力をサポートしていません。" AMF.10bitUnsupportedAvc="AMD H.264 エンコーダ では 10ビット エンコードを実行できません。" NVENC.Error="NVENC コーデックを開けませんでした: %1" -NVENC.GenericError="ビデオドライバが最新のものであることを確認してください。 NVIDIA Shadowplay や Windows 10 Game DVR など NVENC を使用している可能性のある他の録画ソフトを終了してみてください。" +NVENC.GenericError="ビデオドライバーが最新のものであることを確認してください。 NVIDIA Shadowplay や Windows 10 Game DVR など NVENC を使用している可能性のある他の録画ソフトを終了してみてください。" NVENC.BadGPUIndex="出力エンコーダ設定でGPU %1 を選択しました。 これを0に戻してもう一度お試しください。" -NVENC.OutdatedDriver="現在お使いのビデオカードドライバはこのNVENCバージョンをサポートしていません。ドライバを更新してください。" -NVENC.UnsupportedDevice="NVENCエラー: サポートされていないデバイスです。お使いのビデオカードがNVENCをサポートしておりドライバが最新であることを確認してください。" +NVENC.OutdatedDriver="現在お使いのビデオカードドライバーはこのNVENCバージョンをサポートしていません。ドライバーを更新してください。" +NVENC.UnsupportedDevice="NVENCエラー: サポートされていないデバイスです。お使いのビデオカードがNVENCをサポートしておりドライバーが最新であることを確認してください。" NVENC.TooManySessions="NVENCエラー: 同時セッションが多すぎます。NVIDIA ShadowplayやWindows 10 Game DVRなどNVENCを使用している可能性のある他の録画ソフトウェアを終了してみてください。" -NVENC.CheckDrivers="お使いのビデオドライバが最新のものであるかを確認してください。" +NVENC.CheckDrivers="お使いのビデオドライバーが最新のものであるかを確認してください。" AV1.8bitUnsupportedHdr="OBSは Rec. 2100 で 8ビット 出力をサポートしていません。" ReconnectDelayTime="再接続の遅延"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/ka-GE.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/ka-GE.ini
Changed
@@ -6,6 +6,7 @@ Bitrate="ბიტური სიხშირე" MaxBitrate="უმაღლესი დასაშვები ბიტური სიხშირე" Preset="მზა პარამეტრები" +Tuning="მომართვა" Profile="პროფილი" RateControl="სიხშირის მართვა" KeyframeIntervalSec="საკვანძო კადრების დაშორება (0=თვითშერჩევა)" @@ -16,14 +17,6 @@ BFrames="B-კადრების დასაშვები რაოდენობა" VAAPI.Codec="VAAPI-მშიფრავი" VAAPI.Device="VAAPI-მოწყობილობა" -NVENC.Use2Pass="ორმაგი დაშიფვრის გამოყენება" -NVENC.Preset.default="წარმადობა" -NVENC.Preset.hq="ხარისხი" -NVENC.Preset.hp="უმაღლესი წარმადობა" -NVENC.Preset.mq="უმაღლესი ხარისხი" -NVENC.Preset.ll="მცირე დაყოვნება" -NVENC.Preset.llhq="მცირე დაყოვნება მაღალი ხარისხით" -NVENC.Preset.llhp="მცირე დაყოვნება მაღალი წარმადობით" NVENC.LookAhead="თვითგანსაზღვრა" NVENC.LookAhead.ToolTip="ჩაირთვება ცვალებადი რაოდენობის B-კადრები.\n\nგამორთვის შემთხვევაში, დამშიფრავი ყოველთვის „B-კადრების დასაშვები რაოდენობის“ ველში მითითებულს გამოიყენებს.\n\nჩართვის შედეგად, გაიზრდება გამოსახულების ხარისხი საჭირო რაოდენობის B-კადრების დამატებით, უმაღლეს დასაშვებ რაოდენობამდე,\nგრაფიკული პროცესორის გაზრდილი დატვირთვის ხარჯზე." NVENC.PsychoVisualTuning="ფსიქოვიზუალური გამართვა" @@ -33,6 +26,20 @@ NVENC.I010Unsupported="NVENC ვერ უზრუნველყოფს I010-ს. სანაცვლოდ გამოიყენეთ P010." NVENC.10bitUnsupported="10-ბიტიანი დაშიფვრა ვერ მოხერხდება ამ მშიფრავით." NVENC.TooManyBFrames="B-კადრების უდიდესი მნიშვნელობა (%d) აღემატება მშიფრავით მხარდაჭერილს (%d)." +NVENC.Preset2.p1="P1: უსწრაფესი (უდაბლესი ხარისხი)" +NVENC.Preset2.p2="P2: მეტად სწრაფი (მეტად დაბალი ხარისხი)" +NVENC.Preset2.p3="P3: სწრაფი (დაბალი ხარისხი)" +NVENC.Preset2.p4="P4: საშუალო (საშუალო ხარისხი)" +NVENC.Preset2.p5="P5: ნელი (კარგი ხარისხი)" +NVENC.Preset2.p6="P6: მეტად ნელი (უკეთესი ხარისხი)" +NVENC.Preset2.p7="P7: უნელესი (საუკეთესო ხარისხი)" +NVENC.Tuning.hq="მაღალი ხარისხი" +NVENC.Tuning.ll="მცირე დაყოვნება" +NVENC.Tuning.ull="ზემცირე დაყოვნება" +NVENC.Multipass="მრავალსვლიანი რეჟიმი" +NVENC.Multipass.disabled="ერთვლიანი" +NVENC.Multipass.qres="ორსვლიანი (მეოთხედი გაფართოება)" +NVENC.Multipass.fullres="ორსვლიანი (სრული გაფართოება)" AMF.Preset.speed="სისწრაფე" AMF.Preset.balanced="წონასწორული" AMF.Preset.quality="ხარისხი" @@ -41,7 +48,7 @@ Looping="დაუსრულებლად გამეორება" Input="შეტანა" InputFormat="შეტანის ფორმატი" -BufferingMB="ქსელის ბუფერიზაცია" +BufferingMB="ქსელით მომარაგება" HardwareDecode="აპარატურული დაშიფვრის გამოყენება, ხელმისაწვდომობის შემთხვევაში" ClearOnMediaEnd="აღარაფერი გამოჩნდეს, ჩვენების დასრულების შემდგომ" Advanced="გაფართოებული"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/kab-KAB.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/kab-KAB.ini
Changed
@@ -8,11 +8,6 @@ RateControl="Asenqed n uktum" Lossless="War asṛuḥu" BFrames="Amḍan afellay n yikataren B" -NVENC.Use2Pass="Seqdec asettengel n sin isuka" -NVENC.Preset.default="Tamellit" -NVENC.Preset.hq="Taɣara" -NVENC.Preset.hp="Tamellit tafellayt" -NVENC.Preset.mq="Taɣara tafellayt" NVENC.CQLevel="Aswir CQ" FFmpegSource="Aɣbalu amidya" LocalFile="Afaylu adigan"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/kmr-TR.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/kmr-TR.ini
Changed
@@ -6,6 +6,7 @@ Bitrate="Leza bit" MaxBitrate="Leza bit herî pir" Preset="Pêş sazkarî" +Tuning="Sazkirin" Profile="Profîl" RateControl="Kontrola rêjeyê" KeyframeIntervalSec="Dabeşkera demkî di navbera çarçoveyan de (0=xweber)" @@ -16,14 +17,6 @@ BFrames="Herî zêde B-Çarçove" VAAPI.Codec="Şifreya VAAPI" VAAPI.Device="Amûra VAAPI" -NVENC.Use2Pass="Kodkirina Du-Derbas bikar bînin" -NVENC.Preset.default="Performans" -NVENC.Preset.hq="Qalîte" -NVENC.Preset.hp="Performansa Maks" -NVENC.Preset.mq="Kalîteya Max" -NVENC.Preset.ll="Derengbûna kêm" -NVENC.Preset.llhq="Kalîteya Kêm-Derengbûnê" -NVENC.Preset.llhp="Performansa Kêm-Derengbûnê" NVENC.LookAhead="Li pêş binêre" NVENC.LookAhead.ToolTip="Çalak dike B-çarçoveyen dînamîk.\n\nEger bêçalakkirin, kodankirî dê her dem hejmara b-çarçove ên di ahenga 'Maks B-Çarçove' de hatine diyarkirin bi kar bîne.\n\nEger çalak be, wê kalîteya dîtbarî tenê bi kar bîne ku gelek B-çarçoveyên pêwîst in, heta herî zêde,\nli bihayê bikaranîna GPU zêde dibe." NVENC.PsychoVisualTuning="Lêgerîna Wêneya Psîko" @@ -33,6 +26,20 @@ NVENC.I010Unsupported="NVENC piştgiriyê nade I010. P010 bi kar bîne ji devla wê." NVENC.10bitUnsupported="Nikare kodkirina 10-bit li ser vê kodkerê pêk bîne." NVENC.TooManyBFrames="sazkariyên B-çarçove ya herî mezin (%d) ji piştgiriya Kodkera (%d) bêtir e." +NVENC.Preset2.p1="P1: Leztirîn (Kêmtirîn kalîteya)" +NVENC.Preset2.p2="P1: Leztir (Kêmtir kalîte)" +NVENC.Preset2.p3="P3: Lezdar (Kalîteya kêm)" +NVENC.Preset2.p4="P4: Navîn (Kalîteya navîn)" +NVENC.Preset2.p5="P5: Hêdî (Kalîteya baş)" +NVENC.Preset2.p6="P6: Hêdîtir (Baştir kalîte)" +NVENC.Preset2.p7="P7: Hêdîtirîn (Baştirîn kalîte)" +NVENC.Tuning.hq="Kalîteya bilind" +NVENC.Tuning.ll="Derengbûna kêm" +NVENC.Tuning.ull="Ultra derengbûna kêm" +NVENC.Multipass="Awayê pir derbasbûn" +NVENC.Multipass.disabled="Yek derbasbûn" +NVENC.Multipass.qres="2 derbasbûn (1/4 çareserî)" +NVENC.Multipass.fullres="2 derbasbûn (çareseriya tije)" AMF.Preset.speed="Lez" AMF.Preset.balanced="Hevsengî" AMF.Preset.quality="Kalîte"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/ko-KR.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/ko-KR.ini
Changed
@@ -6,6 +6,7 @@ Bitrate="비트레이트" MaxBitrate="최대 비트레이트" Preset="사전 설정" +Tuning="조정" Profile="프로파일" RateControl="데이터율 제어" KeyframeIntervalSec="키프레임 간격 (0=자동)" @@ -16,14 +17,6 @@ BFrames="최대 B-프레임" VAAPI.Codec="VAAPI 코덱" VAAPI.Device="VAAPI 장치" -NVENC.Use2Pass="2 패스 인코딩 사용" -NVENC.Preset.default="성능 우선" -NVENC.Preset.hq="품질 우선" -NVENC.Preset.hp="최대 성능" -NVENC.Preset.mq="최대 품질" -NVENC.Preset.ll="낮은 지연 시간" -NVENC.Preset.llhq="낮은 지연 시간 및 품질" -NVENC.Preset.llhp="낮은 지연 시간 및 성능" NVENC.LookAhead.ToolTip="동적 B-프레임을 활성화합니다.\n\n이 설정을 사용하지 않으면 인코더는 항상 지정한 수 만큼만 B-프레임을 사용합니다.\n\n이 설정을 켜면 B-프레임을 품질을 올리는데 필요한 만큼 사용하지만,\nGPU사용률이 증가합니다." NVENC.PsychoVisualTuning.ToolTip="비트레이트 사용을 최적화하여 영상 품질을 높일 수 있습니다.\n특히 영상 내 빠른 동작을 처리할 때 도움이 됩니다. 다만 GPU 사용률이 증가합니다." NVENC.CQLevel="CQ 수준" @@ -31,6 +24,20 @@ NVENC.I010Unsupported="NVENC는 I010을 지원하지 않습니다. 대신 P010을 이용하십시오." NVENC.10bitUnsupported="이 인코더에서는 10비트 인코딩을 할 수 없습니다." NVENC.TooManyBFrames="최대 B-프레임 설정 (%d)이 인코더의 지원 범위 (%d)를 초과합니다." +NVENC.Preset2.p1="P1: 가장 빠름 (최저 품질)" +NVENC.Preset2.p2="P2: 더 빠름 (더 낮은 품질)" +NVENC.Preset2.p3="P3: 빠름 (낮은 품질)" +NVENC.Preset2.p4="P4: 보통 (중간 품질)" +NVENC.Preset2.p5="P5: 느림 (좋은 품질)" +NVENC.Preset2.p6="P6: 더 느림 (더 좋은 품질)" +NVENC.Preset2.p7="P7: 가장 느림 (최고 품질)" +NVENC.Tuning.hq="우수한 품질" +NVENC.Tuning.ll="낮은 지연 시간" +NVENC.Tuning.ull="매우 낮은 지연 시간" +NVENC.Multipass="멀티패스 모드" +NVENC.Multipass.disabled="1패스" +NVENC.Multipass.qres="2패스 (1/4 해상도)" +NVENC.Multipass.fullres="2패스 (전체 해상도)" AMF.Preset.speed="속도" AMF.Preset.balanced="균형" AMF.Preset.quality="품질"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/ms-MY.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/ms-MY.ini
Changed
@@ -6,6 +6,7 @@ Bitrate="Kadar Bit" MaxBitrate="Kadar Bit Maks" Preset="Praset" +Tuning="Penalaan" Profile="Profil" RateControl="Kawalan Kadar" KeyframeIntervalSec="Sela Bingkai Kunci (0=auto)" @@ -16,14 +17,6 @@ BFrames="Bingkai-B Maks" VAAPI.Codec="Kodeks VAAPI" VAAPI.Device="Peranti VAAPI" -NVENC.Use2Pass="Guna Pengekodan Dua-Laluan" -NVENC.Preset.default="Prestasi" -NVENC.Preset.hq="Kualiti" -NVENC.Preset.hp="Prestasi Maks" -NVENC.Preset.mq="Kualiti Maks" -NVENC.Preset.ll="Kependaman-Rendah" -NVENC.Preset.llhq="Kualiti Kependaman-Rendah" -NVENC.Preset.llhp="Prestasi Kependaman-Rendah" NVENC.LookAhead.ToolTip="Benarkan Bingkai-B dinamik\n\nJika dilumpuhkan, pengekod akan sentiasa menggunakan bilangan Bingkai-B yang dinyatakan dalma tetapan 'Bingkai-B Maks;.\n\nJika dibenarkan, ia akan meningkatkan kualiti visual jika hanya menggunakan banyak Bingkai-B yang diperlukan,\nsehingga maksimum pada kos penggunaan GPU bertambah." NVENC.PsychoVisualTuning="Penalaan Maya Psiko" NVENC.PsychoVisualTuning.ToolTip="Benarkan tetapan pengekod yang dapat mengoptimumkan penggunaan kadar bit untuk kualiti visual yang\nlebih ditanggap terutamanya dalam situasi pergerakan tinggi, dan melibatkan peningkatan kos penggunaan GPU." @@ -32,6 +25,19 @@ NVENC.I010Unsupported="NVEBC tidak menyokong I010. Sila guna P010 sebagai ganti." NVENC.10bitUnsupported="Tidak dapat melakukan pengekodan 10-bit dengan pengekod ini" NVENC.TooManyBFrames="Tetapan bingkai-B Maks. (%d) adalah lebih berbanding sokongan pengekod (%d)." +NVENC.Preset2.p1="P1: Terpantas (Kualiti Terendah)" +NVENC.Preset2.p2="P2: Lebih Pantas (Kualiti Lebih Rendah)" +NVENC.Preset2.p3="P3: Pantas (Kualiti Rendah)" +NVENC.Preset2.p5="P5: Perlahan (Kualiti Baik)" +NVENC.Preset2.p6="P6: Lebih Perlahan (Kualiti Lebih Baik)" +NVENC.Preset2.p7="P6: Paling Perlahan (Kualiti Terbaik)" +NVENC.Tuning.hq="Kualiti Tinggi" +NVENC.Tuning.ll="Kependaman Rendah" +NVENC.Tuning.ull="Kependaman Rendah Lampau" +NVENC.Multipass="Mod Laluan Berbilang" +NVENC.Multipass.disabled="Laluan Tunggal" +NVENC.Multipass.qres="Dua Laluan (Resolusi Suku)" +NVENC.Multipass.fullres="Dua Laluan (Resolusi Penuh)" AMF.Preset.speed="Kelajuan" AMF.Preset.balanced="Seimbang" AMF.Preset.quality="Kualiti" @@ -47,6 +53,7 @@ CloseFileWhenInactive="Tutup fail bila tidak aktif" CloseFileWhenInactive.ToolTip="Tutup fail bila sumber tidak dipaparkan dalam strim atau rakaman. Ia membolehkan\nfail diubah ketika sumber tidak aktif, tetapi boleh menyebabkan\n lengah permulaan bila sumber diaktifkan semula." ColorRange="Julat Warna YUV" +ColorRange.Partial="Terhad" ColorRange.Full="Penuh" LinearAlpha="Terap alfa dalam ruang linear" RestartMedia="Mula Semula"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/nb-NO.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/nb-NO.ini
Changed
@@ -10,14 +10,6 @@ BFrames="Maksimalt antall B-frames" VAAPI.Codec="VAAPI kodek" VAAPI.Device="VAAPI enhet" -NVENC.Use2Pass="Bruk tostegskoding" -NVENC.Preset.default="Ytelse" -NVENC.Preset.hq="Kvalitet" -NVENC.Preset.hp="Best ytelse" -NVENC.Preset.mq="Best kvalitet" -NVENC.Preset.ll="Lav latens" -NVENC.Preset.llhq="Lav latens og kvalitet" -NVENC.Preset.llhp="Lav latens og ytelse" NVENC.LookAhead.ToolTip="Aktiverer dynamiske B-frames. \n\nHvis deaktivert, vil koderen alltid bruke nummeret spesifisert i \"Maks B-frames\" instillingen. \n\nHvis aktivert, vil bildekvaliteten forbedres ved å bare bruke antallet nødvendige B-frames, opp til maksimum antallet,\npå bekostning av økt GPU-forbruk." NVENC.PsychoVisualTuning="Psykovisuell justering" NVENC.PsychoVisualTuning.ToolTip="Aktiverer kodingsinstillinger som optimerer bruken av bitrate for forbedret oppfattet bildekvalitet,\nspesielt i situasjonen med mye bevegelse, på bekostning av økt GPU-forbruk."
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/nl-NL.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/nl-NL.ini
Changed
@@ -9,14 +9,6 @@ AMFOpts="AMF/FFmpeg opties" AMFOpts.ToolTip="Gebruik om aangepaste AMF of FFmpeg opties te specificeren. Bijvoorbeeld, \"level=5.2 profile=main BPicturesPattern=3\"" VAAPI.Device="VAAPI apparaat" -NVENC.Use2Pass="Gebruik two-pass encoding" -NVENC.Preset.default="Prestaties" -NVENC.Preset.hq="Kwaliteit" -NVENC.Preset.hp="Hoogste Prestaties" -NVENC.Preset.mq="Hoogste Kwaliteit" -NVENC.Preset.ll="Lage Latency" -NVENC.Preset.llhq="Lage Latency Kwaliteit" -NVENC.Preset.llhp="Lage Latency Prestaties" NVENC.LookAhead.ToolTip="Maakt dynamische B-frames mogelijk.\n\nIndien uitgeschakeld, zal de encoder altijd het aantal B-frames gebruiken dat is opgegeven in de instelling 'Max B-frames'.\n\nIndien ingeschakeld, zal het de visuele kwaliteit verhogen door alleen het aantal B-frames te gebruiken dat nodig is, tot het maximum,\nten koste van een verhoogd GPU-gebruik." NVENC.PsychoVisualTuning="Psycho Visuele Stemming" NVENC.PsychoVisualTuning.ToolTip="Maakt encoderinstellingen mogelijk die het gebruik van de bitsnelheid optimaliseren voor een hogere waargenomen visuele kwaliteit,\nvooral in situaties met veel beweging, ten koste van een hoger GPU-gebruik." @@ -25,6 +17,20 @@ NVENC.I010Unsupported="NVENC ondersteunt I010 niet. Gebruik in plaats daarvan P010." NVENC.10bitUnsupported="Kan niet 10-bit encoden met deze encoder." NVENC.TooManyBFrames="Max B-frames instelling (%d) is meer dan de encoder ondersteunt (%d)." +NVENC.Preset2.p1="P1: Snelste (laagste kwaliteit)" +NVENC.Preset2.p2="P2: Sneller (Lagere Kwaliteit)" +NVENC.Preset2.p3="P3: snel (Lage Kwaliteit)" +NVENC.Preset2.p4="P4: Gemiddeld (Gemiddelde Kwaliteit)" +NVENC.Preset2.p5="P5: Langzaam (Goede kwaliteit)" +NVENC.Preset2.p6="P6: Langzamer (betere kwaliteit)" +NVENC.Preset2.p7="P7: Langzaamste (beste kwaliteit)" +NVENC.Tuning.hq="Hoge kwaliteit" +NVENC.Tuning.ll="Lage Latency" +NVENC.Tuning.ull="Ultra Lage Latency" +NVENC.Multipass="Multipass modus" +NVENC.Multipass.disabled="Enkele Pass" +NVENC.Multipass.qres="Twee passes (kwartaalresolutie)" +NVENC.Multipass.fullres="Twee passages (volledige resolutie)" AMF.Preset.speed="Snelheid" AMF.Preset.balanced="Gebalanceerd" AMF.Preset.quality="Kwaliteit"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/nn-NO.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/nn-NO.ini
Changed
@@ -3,7 +3,6 @@ Level="Nivå" VAAPI.Codec="VAAPI-kodek" VAAPI.Device="VAAPI-eining" -NVENC.Preset.hq="Kvalitet" LocalFile="Lokal fil" SpeedPercentage="Fart" Play="Spel av"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/pl-PL.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/pl-PL.ini
Changed
@@ -6,6 +6,7 @@ Bitrate="Przepływność (bitrate)" MaxBitrate="Maksymalna przepływność (bitrate)" Preset="Profil ustawień" +Tuning="Dostrajanie" Profile="Profil" RateControl="Typ przepływności" KeyframeIntervalSec="Odstęp między klatkami kluczowymi (0=automatyczny)" @@ -16,14 +17,6 @@ BFrames="Maksymalna liczba klatek B-frame" VAAPI.Codec="Kodek VAAPI" VAAPI.Device="Urządzenie VAAPI" -NVENC.Use2Pass="Użyj enkodowania dwuprzebiegowego" -NVENC.Preset.default="Wydajność" -NVENC.Preset.hq="Jakość" -NVENC.Preset.hp="Najlepsza wydajność" -NVENC.Preset.mq="Najlepsza jakość" -NVENC.Preset.ll="Niskie opóźnienie" -NVENC.Preset.llhq="Niskie opóźnienie - jakość" -NVENC.Preset.llhp="Niskie opóźnienie - wydajność" NVENC.LookAhead.ToolTip="Włącza dynamiczne sterowanie klatkami B-frame.\n\nOpcja wyłączona - enkoder będzie ustawiał liczbę klatek B-frame zgodnie z wartością w opcji 'Maksymalna liczba klatek B-frame\".\n\nOpcja włączona - zwiększenie jakości obrazu kosztem zwiększonego użycia procesora graficznego\nprzez generowanie optymalnej liczby potrzebnych klatek B-frame\nale nie większej od wartości maksymalnej określonej w opcjach." NVENC.PsychoVisualTuning.ToolTip="Włącza ustawienia enkodera optymalizujące bitrate w celu zwiększenia jakości wizualnej\nkosztem zwiększonego wykorzystania procesora graficznego, szczególnie przy scenach o dużym natężeniu ruchu." NVENC.CQLevel="Poziom CQ" @@ -31,6 +24,20 @@ NVENC.I010Unsupported="NVENC nie obsługuje I010. Zamiast tego należy użyć P010." NVENC.10bitUnsupported="Nie można wykonać 10-bitowego kodowania na tym enkoderze." NVENC.TooManyBFrames="Maksymalne ustawienie B-frames (%d) jest więcej niż enkoder obsługuje (%d)." +NVENC.Preset2.p1="P1: Fastest (najniższa jakość)" +NVENC.Preset2.p2="P2: Faster (niższa jakość)" +NVENC.Preset2.p3="P3: Fast (niska jakość)" +NVENC.Preset2.p4="P4: Medium (średnia jakość)" +NVENC.Preset2.p5="P5: Slow (dobra jakość)" +NVENC.Preset2.p6="P6: Slower (lepsza jakość)" +NVENC.Preset2.p7="P7: Slowest (najlepsza jakość)" +NVENC.Tuning.hq="High Quality (wysoka jakość)" +NVENC.Tuning.ll="Low Latency (niskie opóźnienie)" +NVENC.Tuning.ull="Ultra Low Latency (ultra niskie opóźnienie)" +NVENC.Multipass="Tryb wielu przebiegów" +NVENC.Multipass.disabled="Jeden przebieg" +NVENC.Multipass.qres="Dwa przebiegi (ćwierć rozdzielczości)" +NVENC.Multipass.fullres="Dwa przebiegi (pełna rozdzielczość)" AMF.Preset.speed="Szybkość" AMF.Preset.balanced="Zrównoważone" AMF.Preset.quality="Jakość"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/pt-BR.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/pt-BR.ini
Changed
@@ -6,6 +6,7 @@ Bitrate="Taxa de Bits" MaxBitrate="Taxa de Bits Máxima" Preset="Predefinição" +Tuning="Ajuste" Profile="Perfil" RateControl="Controle da Taxa de Bits" KeyframeIntervalSec="Intervalo de Keyframe (0=auto)" @@ -16,14 +17,6 @@ BFrames="B-Frames Máximo" VAAPI.Codec="Codec VAAPI" VAAPI.Device="Dispositivo VAAPI" -NVENC.Use2Pass="Utilizar a codificação em dois passos" -NVENC.Preset.default="Desempenho" -NVENC.Preset.hq="Qualidade" -NVENC.Preset.hp="Alto Desempenho" -NVENC.Preset.mq="Qualidade Máxima" -NVENC.Preset.ll="Baixa Latência" -NVENC.Preset.llhq="Qualidade com Baixa Latência" -NVENC.Preset.llhp="Desempenho com Baixa Latência" NVENC.LookAhead="Olhar quadros futuros" NVENC.LookAhead.ToolTip="Habilita B-Frames dinâmicos.\n\nSe desabilitado, o codificador sempre usará o número de B-Frames especificados na configuração de 'B-Frames Máximo'.\n\nSe habilitado, aumentará a qualidade visual usando apenas B-Frames necessários, até o máximo,\nao custo de uma maior utilização da GPU." NVENC.PsychoVisualTuning="Ajuste Psico-Visual" @@ -33,6 +26,20 @@ NVENC.I010Unsupported="NVENC não suporta I010. Use P010 em vez disso." NVENC.10bitUnsupported="Não é possível executar codificação de 10 bits neste codificador." NVENC.TooManyBFrames="Configuração máxima de quadros B (%d) é maior do que o codificador suporta (%d)." +NVENC.Preset2.p1="P1: Rapidíssimo (Qualidade Baixíssima)" +NVENC.Preset2.p2="P2: Mais Rápido (Qualidade Mais Baixa)" +NVENC.Preset2.p3="P3: Rápido (Qualidade Baixa)" +NVENC.Preset2.p4="P4: Médio (Qualidade Média)" +NVENC.Preset2.p5="P5: Lento (Qualidade Boa)" +NVENC.Preset2.p6="P6: Mais Lento (Qualidade Melhor)" +NVENC.Preset2.p7="P7: Lentíssimo (Qualidade Mais Alta)" +NVENC.Tuning.hq="Alta Qualidade" +NVENC.Tuning.ll="Baixa Latência" +NVENC.Tuning.ull="Latência Ultra Baixa" +NVENC.Multipass="Modo Multiplas Passadas" +NVENC.Multipass.disabled="Passada Única" +NVENC.Multipass.qres="Duas Passadas (Um Quarto da Resolução)" +NVENC.Multipass.fullres="Duas Passadas (Resolução Total)" AMF.Preset.speed="Velocidade" AMF.Preset.balanced="Equilibrado" AMF.Preset.quality="Qualidade"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/pt-PT.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/pt-PT.ini
Changed
@@ -6,6 +6,7 @@ Bitrate="Taxa de bits" MaxBitrate="Taxa de bits máxima" Preset="Predefinição" +Tuning="Ajustes" Profile="Perfil" RateControl="Controlo de taxa" KeyframeIntervalSec="Intervalo de fotogramas-chave ( 0=automático)" @@ -16,21 +17,28 @@ BFrames="B-frames máximas" VAAPI.Codec="Codec VAAPI" VAAPI.Device="Dispositivo VAAPI" -NVENC.Use2Pass="Usar codificação a dois passos" -NVENC.Preset.default="Desempenho" -NVENC.Preset.hq="Qualidade" -NVENC.Preset.hp="Máximo desempenho" -NVENC.Preset.mq="Qualidade máxima" -NVENC.Preset.ll="Baixa latência" -NVENC.Preset.llhq="Qualidade com baixa latência" -NVENC.Preset.llhp="Desempenho com baixa latência" NVENC.LookAhead="Previsão" NVENC.LookAhead.ToolTip="Ativa as B-frames dinâmicas.\n\nSe desativado, o codificador usará sempre o número de B-Frames especificado na definição \"B-frames máximas\".\n\nSe ativado, aumentará a qualidade visual até ao máximo, usando só as B-Frames necessárias,\ncom um custo de utilização da GPU." NVENC.PsychoVisualTuning="Ajuste psico-visual" NVENC.PsychoVisualTuning.ToolTip="Ativa as definições do codificador que otimizem o uso da taxa de bits para qualidade visual percetível aumentada,\nespecialmente em situações com grandes movimentos, com o custo de uma maior utilização da GPU." NVENC.CQLevel="Nível CQ" -NVENC.10bitUnsupported="Não é possível executar codificação de 10 bits neste codificador." +NVENC.8bitUnsupportedHdr="O OBS não suporta saída de 8 bits do Rec. 2100." +NVENC.I010Unsupported="O NVENC não suporta I010. Em vez disso, use P010." +NVENC.10bitUnsupported="Não é possível executar a codificação de 10 bits neste codificador." NVENC.TooManyBFrames="Configuração do máximo de B-frames (%d) é superior ao que o sistema de codificação suporta (%d)." +NVENC.Preset2.p1="P1: Mais rápido (Qualidade mais baixa)" +NVENC.Preset2.p2="P2: Muito rápido (Qualidade muito baixa)" +NVENC.Preset2.p3="P3: Rápido (Baixa qualidade)" +NVENC.Preset2.p5="P5: Lento (Boa qualidade)" +NVENC.Preset2.p6="P6: Muito lento (Melhor qualidade)" +NVENC.Preset2.p7="P7: Mais lento (Qualidade mais alta)" +NVENC.Tuning.hq="Alta qualidade" +NVENC.Tuning.ll="Baixa latência" +NVENC.Tuning.ull="Latência ultrabaixa" +NVENC.Multipass="Modo multipassagem" +NVENC.Multipass.disabled="Passagem única" +NVENC.Multipass.qres="Duas passagens (qHD - resolução de um quarto)" +NVENC.Multipass.fullres="Duas passagens (Resolução completa)" AMF.Preset.speed="Velocidade" AMF.Preset.balanced="Equilibrado" AMF.Preset.quality="Qualidade" @@ -48,6 +56,7 @@ CloseFileWhenInactive.ToolTip="Fecha o ficheiro quando a fonte não estiver a ser mostrada na transmissão ou\ngravação. Permite assim que o ficheiro seja alterado quando a fonte não estiver ativa,\nmas pode haver algum atraso inicial quando a fonte for reativada." ColorRange="Gama de cor YUV" ColorRange.Auto="Automático" +ColorRange.Partial="Limitado" ColorRange.Full="Completo" LinearAlpha="Aplicar alfa no espaço linear" RestartMedia="Reiniciar" @@ -70,7 +79,7 @@ AMF.Error="Falha ao abrir o codec AMF: %1" AMF.GenericError="Verifique se os seus controladores de vídeo estão atualizados. Tente fechar outros programas de gravação que possam estar a usar o codificador AMD, por exemplo, o Radeon Software ou o Windows 10 Game DVR." AMF.8bitUnsupportedHdr="O OBS não suporta saída de 8 bits do Rec. 2100." -AMF.10bitUnsupportedAvc="Não é possível executar a codificação de 10 bits no codificador Intel QSV H.264." +AMF.10bitUnsupportedAvc="Não é possível executar a codificação de 10 bits no codificador AMD H.264." NVENC.Error="Falha ao abrir o codec NVENC: %1" NVENC.GenericError="Verifique se os seus controladores de vídeo estão atualizados. Tente fechar outros programas de gravação que possam estar a usar o NVENC, por exemplo, o NVIDIA Shadowplay ou o Windows 10 Game DVR." NVENC.BadGPUIndex="Selecionou a GPU %1 nas definições do codificador de saída. Redefina este valor para 0 e tente novamente."
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/ro-RO.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/ro-RO.ini
Changed
@@ -6,6 +6,7 @@ Bitrate="Rată de biți" MaxBitrate="Rată de biți maximă" Preset="Presetare" +Tuning="Ajustare" Profile="Profil" RateControl="Controlul ratei" KeyframeIntervalSec="Interval de cadre cheie (0=auto)" @@ -16,21 +17,14 @@ BFrames="Cadre B maxime" VAAPI.Codec="Codec VAAPI" VAAPI.Device="Dispozitiv VAAPI" -NVENC.Use2Pass="Folosește codificarea în doi pași" -NVENC.Preset.default="Performanță" -NVENC.Preset.hq="Calitate" -NVENC.Preset.hp="Performanță maximă" -NVENC.Preset.mq="Calitate maximă" -NVENC.Preset.ll="Latență redusă" -NVENC.Preset.llhq="Calitate cu latență redusă" -NVENC.Preset.llhp="Performanță cu latență redusă" NVENC.LookAhead.ToolTip="Activează cadre B dinamice.\n\nDacă este dezactivat, codificatorul va folosi întotdeauna numărul de cadre B specificat în setarea „Cadre B maxime”.\n\nDacă este activat, va crește calitatea vizuală folosind doar cât de multe cadre B sunt necesare, până la maximum,\ncu costul utilizării crescute a GPU-ului." -NVENC.PsychoVisualTuning.ToolTip="Activează setările de codificare care optimizează utilizarea ratei de biți pentru creșterea calității vizuale percepute,\nîn special în situații cu mișcare mare, cu prețul unei utilizări mai mari a GPU." +NVENC.PsychoVisualTuning.ToolTip="Activează setările codificatorului care optimizează folosirea ratei de biți pentru o calitate vizuală percepută crescută,\nîn special în situații cu mișcare mare, cu prețul unei utilizări mai mari a GPU-ului." NVENC.CQLevel="Nivel CQ" -NVENC.8bitUnsupportedHdr="OBS nu suportă ieșirea pe 8 biți a Rec. 2100." +NVENC.8bitUnsupportedHdr="OBS nu suportă outputul pe 8 biți a Rec. 2100." NVENC.I010Unsupported="NVENC nu suportă I010. Utilizați în schimb P010." NVENC.10bitUnsupported="Nu se poate efectua codarea pe 10 biți pe acest codificator." NVENC.TooManyBFrames="Setarea maximă a cadrelor B (%d) este mai mult decât suportul codificatorului (%d)." +NVENC.Tuning.hq="Calitate înaltă" AMF.Preset.speed="Viteză" AMF.Preset.balanced="Echilibrat" AMF.Preset.quality="Calitate" @@ -38,7 +32,7 @@ LocalFile="Fișier local" Looping="Redă în buclă" InputFormat="Formatul inputului" -BufferingMB="Buffer Rețea" +BufferingMB="Buffering în rețea" HardwareDecode="Folosește decodificarea hardware când este disponibilă" ClearOnMediaEnd="Nu afișa nimic la terminarea redării" Advanced="Avansat" @@ -46,6 +40,7 @@ CloseFileWhenInactive="Închide fișierul când este inactiv" CloseFileWhenInactive.ToolTip="Închide fișierul atunci când sursa nu este afișată pe transmisiune sau înregistrare.\nAcest lucru permite fișierului să fie schimbat în momentul în care sursa nu este\nactivă, însă poate exista o întârziere la pornire în momentul reactivării sursei." ColorRange="Gamă de culori YUV" +ColorRange.Auto="Automată" ColorRange.Partial="Limitat" ColorRange.Full="Completă" LinearAlpha="Aplică alfa în spațiul liniar" @@ -68,7 +63,7 @@ Encoder.Timeout="Codificatorului %1 îi ea prea mult timp să codifice (pauză: %2 secunde)" AMF.Error="Nu s-a reușit deschiderea codecului AMF: %1" AMF.GenericError="Verifică dacă driverele video sunt actualizate. Încearcă să închizi alte programe de înregistrare care ar putea utiliza codificatorul AMD, cum ar fi Radeon Software sau Windows 10 Game DVR." -AMF.8bitUnsupportedHdr="OBS nu suportă ieșirea pe 8 biți a Rec. 2100." +AMF.8bitUnsupportedHdr="OBS nu suportă outputul pe 8 biți a Rec. 2100." AMF.10bitUnsupportedAvc="Nu se poate efectua codificarea de 10 biți pe codificatorul AMD H.264." NVENC.Error="Deschiderea codecului NVENC a eșuat: %1" NVENC.GenericError="Verifică dacă driverele video sunt actualizate. Încearcă să închizi celelalte programe de înregistrare care ar putea folosi NVENC, cum ar fi NVIDIA Shadowplay sau Windows 10 Game DVR." @@ -77,5 +72,5 @@ NVENC.UnsupportedDevice="Eroare privind NVENC: Dispozitiv nesuportat. Verifică dacă placa video suportă NVENC și dacă driverele sunt actualizate." NVENC.TooManySessions="Eroare privind NVENC: Prea multe sesiuni concurente. Încearcă să închizi celelalte programe de înregistrare care ar putea folosi NVENC, cum ar fi NVIDIA Shadowplay sau Windows 10 Game DVR." NVENC.CheckDrivers="Te rugăm să verifici dacă driverele video sunt actualizate." -AV1.8bitUnsupportedHdr="OBS nu suportă ieșirea pe 8 biți a Rec. 2100." +AV1.8bitUnsupportedHdr="OBS nu suportă outputul pe 8 biți a Rec. 2100." ReconnectDelayTime="Întârziere la reconectare"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/ru-RU.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/ru-RU.ini
Changed
@@ -6,6 +6,7 @@ Bitrate="Битрейт" MaxBitrate="Макс. битрейт" Preset="Предустановка" +Tuning="Регулировка" Profile="Профиль" RateControl="Управление битрейтом" KeyframeIntervalSec="Интервал ключевых кадров (0=авто)" @@ -13,26 +14,32 @@ Level="Уровень" AMFOpts="Параметры AMF/FFmpeg" AMFOpts.ToolTip="Используйте для указания нестандартных параметров AMF или FFmpeg. Например, \"level=5.2 profile=main BPicturesPattern=3\"" -BFrames="Макс. кол-во B-кадров" +BFrames="Максимум B-кадров" VAAPI.Codec="Кодек VAAPI" VAAPI.Device="Устройство VAAPI" -NVENC.Use2Pass="Использовать двухпроходное кодирование" -NVENC.Preset.default="Производительность" -NVENC.Preset.hq="Качество" -NVENC.Preset.hp="Макс. производительность" -NVENC.Preset.mq="Макс. качество" -NVENC.Preset.ll="Низкая задержка" -NVENC.Preset.llhq="Малая задержка, высокое качество" -NVENC.Preset.llhp="Малая задержка, высокая производительность" NVENC.LookAhead="Предугадывание (Look-ahead)" -NVENC.LookAhead.ToolTip="Включает динамические B-кадры.\n\nЕсли отключено, кодировщик всегда будет использовать количество B-кадров, указанное в параметре 'Макс. кол-во B-кадров'.\n\nЕсли включено, то это увеличит визуальное качество изображения путем использования любого количества B-кадров, вплоть до максимума,\nза счет увеличения использования GPU." +NVENC.LookAhead.ToolTip="Включает динамические B-кадры.\n\nЕсли отключено, кодировщик всегда будет использовать количество B-кадров, указанное в параметре «Максимум B-кадров».\n\nЕсли включено, то это увеличит визуальное качество изображения путем использования любого количества B-кадров, вплоть до максимума,\nза счет увеличения использования ГП." NVENC.PsychoVisualTuning="Психовизуальная корректировка (Psycho Visual Tuning)" -NVENC.PsychoVisualTuning.ToolTip="Включает настройки кодировщика, которые оптимизируют использование битрейта для повышенного восприятия визуального качества,\nособенно в ситуациях с высоким движением, за счет увеличения использования GPU." +NVENC.PsychoVisualTuning.ToolTip="Включает настройки кодировщика, которые оптимизируют использование битрейта для повышенного восприятия визуального качества,\nособенно в ситуациях с высоким движением, за счёт увеличения использования ГП." NVENC.CQLevel="Значение CQ" NVENC.8bitUnsupportedHdr="OBS не поддерживает 8-битный вывод Rec. 2100." NVENC.I010Unsupported="NVENC не поддерживает I010. Используйте вместо этого P010." NVENC.10bitUnsupported="Невозможно выполнить 10-битное кодирование в этом кодировщике." NVENC.TooManyBFrames="Настройка максимального количества B-кадров (%d) больше, чем поддерживает кодировщик (%d)." +NVENC.Preset2.p1="P1: Быстрейшее (низшее качество)" +NVENC.Preset2.p2="Р2: Быстрее (ниже качество)" +NVENC.Preset2.p3="P3: Быстрое (низкое качество)" +NVENC.Preset2.p4="P4: Среднее (среднее качество)" +NVENC.Preset2.p5="P5: Медленное (хорошее качество)" +NVENC.Preset2.p6="P6: Медленнее (лучше качество)" +NVENC.Preset2.p7="P7: Самое медленное (лучшее качество)" +NVENC.Tuning.hq="Высокое качество" +NVENC.Tuning.ll="Низкая задержка" +NVENC.Tuning.ull="Сверхнизкая задержка" +NVENC.Multipass="Многопроходный режим" +NVENC.Multipass.disabled="Одиночный проход" +NVENC.Multipass.qres="Двойной проход (четверть разрешения)" +NVENC.Multipass.fullres="Двойной проход (полное разрешение)" AMF.Preset.speed="Скорость" AMF.Preset.balanced="Баланс" AMF.Preset.quality="Качество" @@ -76,7 +83,7 @@ AMF.10bitUnsupportedAvc="Невозможно выполнить 10-битное кодирование в кодировщике AMD H.264." NVENC.Error="Не удалось открыть кодек NVENC: %1" NVENC.GenericError="Проверьте, что ваши видеодрайвера актуальны. Попробуйте закрыть другие программы, которые могут использовать NVENC, такие как NVIDIA Shadowplay или Windows 10 Game DVR." -NVENC.BadGPUIndex="Вы выбрали видеокарту под номером %1 в настройках кодирования. Выберите видеокарту под номером 0 и повторите попытку." +NVENC.BadGPUIndex="Вы выбрали видеокарту под номером %1 в настройках кодирования. Выберите ГП под номером 0 и повторите попытку." NVENC.OutdatedDriver="Ваш текущий драйвер видеокарты не поддерживает эту версию NVENC, пожалуйста, обновите ваши драйвера." NVENC.UnsupportedDevice="Ошибка NVENC: неподдерживаемое устройство. Проверьте, что ваша видеокарта поддерживает NVENC и что драйвера актуальны." NVENC.TooManySessions="Ошибка NVENC: слишком много одновременных сеансов. Попробуйте закрыть другие программы для записи, которое могут использовать NVENC, например, NVIDIA Shadowplay или Windows 10 Game DVR."
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/si-LK.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/si-LK.ini
Changed
@@ -10,13 +10,6 @@ Level="මට්ටම" BFrames="උපරිම B-රාමු" VAAPI.Device="VAAPI උපාංගය" -NVENC.Preset.default="ක්රියාකාරිත්වය" -NVENC.Preset.hq="ගුණත්වය" -NVENC.Preset.hp="උපරිම ක්රියාකාරිත්වය" -NVENC.Preset.mq="උපරිම ගුණත්වය" -NVENC.Preset.ll="අවම-ගුප්තතාව" -NVENC.Preset.llhq="අවම-ගුප්තතාව ගුණත්වය" -NVENC.Preset.llhp="අවම-ගුප්තතාව ක්රියාකාරිත්වය" NVENC.CQLevel="CQ මට්ටම" AMF.Preset.speed="වේගය" AMF.Preset.quality="ගුණත්වය"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/sk-SK.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/sk-SK.ini
Changed
@@ -5,6 +5,7 @@ FFmpegOpts.ToolTip.Source="Umožní ti nastaviť FFmpeg nastavenia. Podporované su iba nastavenia v tvare nastavenie=hodnota.\nViaceré nastavenia je možno zadať s použitím medzery medzi nastaveniami.\nPríklad: rtsp_transport=tcp rtsp_flags=prefer_tcp" MaxBitrate="Max. bitrate" Preset="Predvoľba" +Tuning="Ladenie" Profile="Profil" RateControl="Riadenie toku" KeyframeIntervalSec="Interval kľúčových snímkov (0=automaticky)" @@ -15,20 +16,25 @@ BFrames="Maximum B-snímkov" VAAPI.Codec="Kodek VAAPI" VAAPI.Device="Zariadenie VAAPI" -NVENC.Use2Pass="Použiť dvojfázové enkódovanie" -NVENC.Preset.default="Výkon" -NVENC.Preset.hq="Kvalita" -NVENC.Preset.hp="Maximálny Výkon" -NVENC.Preset.mq="Maximálna Kvalita" -NVENC.Preset.ll="Nízka odozva" -NVENC.Preset.llhq="Kvalita pri nízkej odozve" -NVENC.Preset.llhp="Výkon pri nízkej odozve" NVENC.LookAhead.ToolTip="Aktivuje dynamické B-snímky.\n\nKeď sú vypnuté, enkodér bude vždy používať počet snímkov špecifikovaný v nastavení 'Maximum B-snímkov'.\n\nKeď sú zapnuté, zvýši sa vizuálna kvalita tým, že bude používať iba toľko B-snímkov, koľko je potrebné, až do maxima,\nna úkor zvýšeného používania GPU." NVENC.PsychoVisualTuning.ToolTip="Povolí nastavenia enkodéra, ktoré optimalizujú využitie bitrate pre vylepšenú vnímanú vizuálnu kvalitu,\nhlavne v situáciách s veľkým množstvom pohybu, na úkor zvýšenia používania GPU." NVENC.8bitUnsupportedHdr="OBS nepodporuje 8-bitový výstup z Rec. 2100." NVENC.I010Unsupported="NVENC nepodporuje I010. Použite P010 namiesto toho." NVENC.10bitUnsupported="Nemožno vykonať 10-bitové enkódovanie na tomto enkodéri." NVENC.TooManyBFrames="Nastavenie Maximum B-snímkov (%d) je vyššie než enkodér podporuje (%d)." +NVENC.Preset2.p1="P1: Najrýchlejší (Najnižšia kvalita)" +NVENC.Preset2.p2="P2: Rýchlejší (Nižšia kvalita)" +NVENC.Preset2.p3="P3: Rýchly (Nízka kvalita)" +NVENC.Preset2.p5="P5: Pomalý (Dobrá kvalita)" +NVENC.Preset2.p6="P6: Pomalší (Lepšia kvalita)" +NVENC.Preset2.p7="P7: Najpomalší (Najlepšia kvalita)" +NVENC.Tuning.hq="Vysoká kvalita" +NVENC.Tuning.ll="Nízka odozva" +NVENC.Tuning.ull="Ultra nízka odozva" +NVENC.Multipass="Viacprechodový mód" +NVENC.Multipass.disabled="Jeden prechod" +NVENC.Multipass.qres="Dva prechody (štvrtina rozlíšenia)" +NVENC.Multipass.fullres="Dva prechody (plné rozlíšenie)" AMF.Preset.speed="Rýchlosť" AMF.Preset.balanced="Vyvážené" AMF.Preset.quality="Kvalita"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/sl-SI.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/sl-SI.ini
Changed
@@ -6,6 +6,7 @@ Bitrate="Bitna hitrost" MaxBitrate="Največja bitna hitrost" Preset="Prednastavitev" +Tuning="Nastavljanje" Profile="Profil" RateControl="Nadzor hitrosti" KeyframeIntervalSec="Razmik med ključnimi sličicami (0=samodejno)" @@ -16,14 +17,6 @@ BFrames="Največje št. sličic B" VAAPI.Codec="VAAPI kodek" VAAPI.Device="VAAPI naprava" -NVENC.Use2Pass="Uporabi kodiranje z dvema prehodoma" -NVENC.Preset.default="Zmogljivost" -NVENC.Preset.hq="Kakovost" -NVENC.Preset.hp="Največja zmogljivost" -NVENC.Preset.mq="Najboljša kakovost" -NVENC.Preset.ll="Nizka zakasnitev" -NVENC.Preset.llhq="Kakovost z nizko zakasnitvijo" -NVENC.Preset.llhp="Zmogljivost z nizko zakasnitvijo" NVENC.LookAhead="Predvidevanje" NVENC.LookAhead.ToolTip="Omogoči dinamične sličice B.\n\nČe je onemogočeno, bo kodirnik vedno uporabil število sličic B, ki so navedene v nastavitvi 'Največje št. sličic B'.\n\nČe je omogočeno, bo vidna kakovost izboljšana, ker bo uporabljeno samo toliko sličic B, kot je potrebno, do\nnajvečjega števila na račun dodatne porabe GPE-ja." NVENC.PsychoVisualTuning="Psiho-vidno uglaševanje" @@ -33,6 +26,20 @@ NVENC.I010Unsupported="NVENC ne podpira I010. Namesto tega uporabite P010." NVENC.10bitUnsupported="Na tem kodirniku ni mogoče izvesti 10-bitnega kodiranja." NVENC.TooManyBFrames="Najvišja nastavitev B-sličic (%d) je večja od tiste, ki ji podpira kodirnik (%d)." +NVENC.Preset2.p1="P1: najhitreje (najnižja kakovost)" +NVENC.Preset2.p2="P2: hitreje (nižja kakovost)" +NVENC.Preset2.p3="P3: hitro (nizka kakovost)" +NVENC.Preset2.p4="P4: srednje (srednja kakovost)" +NVENC.Preset2.p5="P5: počasno (visoka kakovost)" +NVENC.Preset2.p6="P6: počasneje (višja kakovost)" +NVENC.Preset2.p7="P7: najpočasneje (najvišja kakovost)" +NVENC.Tuning.hq="Visoka kakovost" +NVENC.Tuning.ll="Nizka zakasnitev" +NVENC.Tuning.ull="Izjemno nizka zakasnitev" +NVENC.Multipass="Večprehodni način" +NVENC.Multipass.disabled="En prehod" +NVENC.Multipass.qres="Dva prehoda (četrtinska ločljivost)" +NVENC.Multipass.fullres="Dva prehoda (polna ločljivost)" AMF.Preset.speed="Hitrost" AMF.Preset.balanced="Uravnoteženo" AMF.Preset.quality="Kakovost"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/sr-CS.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/sr-CS.ini
Changed
@@ -7,14 +7,6 @@ RateControl="Kontrola protoka" Lossless="Bez gubitka" BFrames="Maksimalni B-frejmovi" -NVENC.Use2Pass="Koristi enkoding duplog prolaza" -NVENC.Preset.default="Performanse" -NVENC.Preset.hq="Kvalitet" -NVENC.Preset.hp="Maksimalne performanse" -NVENC.Preset.mq="Maksimalni kvalitet" -NVENC.Preset.ll="Malo kašnjenje" -NVENC.Preset.llhq="Kvalitet malog kašnjenja" -NVENC.Preset.llhp="Performanse malog kašnjenja" NVENC.LookAhead="Gledanje unapred" NVENC.LookAhead.ToolTip="Uključuje dinamičke B-frejmove.\n\n Ako je isključeno, enkoder će uvek koristiti broj B-frejmova naveden u 'Maksimalni B-frejmovi' delu.\n\nUkoliko je uključeno, povećaće vizuelni kvalitet korišćenjem onoliko B-frejmova koliko je potrebno, do maksimalnog broja,\npo cenu povećane upotrebe GPU-a." NVENC.PsychoVisualTuning="Psiho vizuelna podešavanja"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/sr-SP.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/sr-SP.ini
Changed
@@ -8,14 +8,6 @@ RateControl="Контрола протока" Lossless="Без губитка" BFrames="Максимални Б-фрејм" -NVENC.Use2Pass="Користи енкодинг дуплог пролаза" -NVENC.Preset.default="Перформансе" -NVENC.Preset.hq="Квалитет" -NVENC.Preset.hp="Максималне перформансе" -NVENC.Preset.mq="Максимални квалитет" -NVENC.Preset.ll="Мало кашњење" -NVENC.Preset.llhq="Квалитет малог кашњења" -NVENC.Preset.llhp="Перформансе малог кашњења" NVENC.LookAhead="Гледање унапред" NVENC.LookAhead.ToolTip="Укључује динамичке Б-фрејмове..\n\n Ако је искључено, енкодер ће увек користити број Б-фрејмова наведен у 'Максимални Б-фрејмови' делу.\n\nУколико је укључено, повећаће визуелни квалитет коришћењем онолико Б-фрејмова колико је потребно, до максималног броја,\nпо цену повећане употребе GPU-a." NVENC.PsychoVisualTuning="Психо визуелна подешавања"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/sv-SE.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/sv-SE.ini
Changed
@@ -6,6 +6,7 @@ Bitrate="Bithastighet" MaxBitrate="Max bithastighet" Preset="Förinställning" +Tuning="Justering" Profile="Profil" RateControl="Hastighetskontroll" KeyframeIntervalSec="Intervall för keyframes (0=automatiskt)" @@ -16,14 +17,6 @@ BFrames="Maximalt antal B-frames" VAAPI.Codec="VAAPI-kodek" VAAPI.Device="VAAPI-enhet" -NVENC.Use2Pass="Använd tvåpass-kodning" -NVENC.Preset.default="Prestanda" -NVENC.Preset.hq="Kvalitet" -NVENC.Preset.hp="Maximal prestanda" -NVENC.Preset.mq="Maximal kvalitet" -NVENC.Preset.ll="Låg latens" -NVENC.Preset.llhq="Kvalitet med låg latens" -NVENC.Preset.llhp="Prestanda med låg latens" NVENC.LookAhead.ToolTip="Aktiverar dynamiska B-frames.\n\nOm detta inaktiveras kommer kodaren alltid använda antalet B-frames som anges i inställningen \"Max B-frames\".\n\nOm detta aktiveras kommer det öka den visuella kvaliteten genom att endast använda så många B-frames som är nödvändigt, upp till det som är möjligt\npå bekostnad av ökad användning av grafikprocessorn." NVENC.PsychoVisualTuning="Psykovisuell justering" NVENC.PsychoVisualTuning.ToolTip="Aktiverar kodarinställningar som optimerar hur bithastigheten används för förbättrad visuell kvalitet,\nspeciellt i situationer med snabba rörelser på bekostnad av ökad användning av grafikprocessorn." @@ -32,6 +25,20 @@ NVENC.I010Unsupported="NVENC saknar stöd för I010. Använd P010 istället." NVENC.10bitUnsupported="Kan inte utföra 10-bitars kodning på denna kodare." NVENC.TooManyBFrames="Inställningen för max antal B-frames (%d) är mer än vad kodaren har stöd för (%d)." +NVENC.Preset2.p1="P1: Snabbast (lägst kvalitet)" +NVENC.Preset2.p2="P2: Snabbare (lägre kvalitet)" +NVENC.Preset2.p3="P3: Snabb (låg kvalitet)" +NVENC.Preset2.p4="P4: Medium (mediumkvalitet)" +NVENC.Preset2.p5="P5: Långsam (bra kvalitet)" +NVENC.Preset2.p6="P6: Långsammare (bättre kvalitet)" +NVENC.Preset2.p7="P7: Långsammast (bäst kvalitet)" +NVENC.Tuning.hq="Hög kvalitet" +NVENC.Tuning.ll="Låg latens" +NVENC.Tuning.ull="Ultralåg latens" +NVENC.Multipass="Multipassläge" +NVENC.Multipass.disabled="Enkelpass" +NVENC.Multipass.qres="Tvåpass (fjärdedelsupplösning)" +NVENC.Multipass.fullres="Tvåpass (fullständig upplösning)" AMF.Preset.speed="Hastighet" AMF.Preset.balanced="Balanserad" AMF.Preset.quality="Kvalitet" @@ -49,6 +56,7 @@ CloseFileWhenInactive.ToolTip="Stänger filen när källan inte visas i strömmen vid\ninspelning. Detta låter filen att ändras när källan inte är aktiv,\nmen en liten fördröjning kan uppstå när källan aktiveras igen." ColorRange="YUV-färgområde" ColorRange.Auto="Automatisk" +ColorRange.Partial="Begränsad" LinearAlpha="Tillämpa alfakanal i linjärt utrymme" RestartMedia="Starta om" SpeedPercentage="Hastighet"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/szl-PL.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/szl-PL.ini
Changed
@@ -6,7 +6,6 @@ Profile="Profil" Lossless="Bezstratny" Level="Poziōm" -NVENC.Preset.hq="Jakość" NVENC.CQLevel="Poziōm CQ" FFmpegSource="Zdrzōdło danych" LocalFile="Lokalny zbiōr"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/ta-IN.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/ta-IN.ini
Changed
@@ -4,10 +4,6 @@ Bitrate="பிட்விகிதம்" MaxBitrate="அதிகபட்ச பிட்விகிதம்" Preset="முன்னமைவு" -NVENC.Preset.default="செயற்திறன்" -NVENC.Preset.hq="தரம்" -NVENC.Preset.hp="அதிக செயற்திறன்" -NVENC.Preset.mq="அதிகப்பட்ச தரம்" FFmpegSource="மீடியா மூலம்" LocalFile="லோக்கல் கோப்பு" Looping="சுழற்சி"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/th-TH.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/th-TH.ini
Changed
@@ -8,14 +8,6 @@ Level="ระดับ" BFrames="บี-เฟรม สูงสุด" VAAPI.Device="อุปกรณ์ VAAPI" -NVENC.Use2Pass="ใช้การเข้ารหัสแบบสองทาง" -NVENC.Preset.default="ประสิทธิภาพ" -NVENC.Preset.hq="คุณภาพ" -NVENC.Preset.hp="ประสิทธิภาพสูงสุด" -NVENC.Preset.mq="คุณภาพสูงสุด" -NVENC.Preset.ll="ความหน่วงต่ำ" -NVENC.Preset.llhq="คุณภาพ ความหน่วงต่ำ" -NVENC.Preset.llhp="ประสิทธิภาพ ความหน่วงต่ำ" NVENC.LookAhead="มองไปข้างหน้า" NVENC.LookAhead.ToolTip="เปิดใช้งาน B-frames แบบไดนามิก\n\nหากปิดใช้งาน โปรแกรมเปลี่ยนไฟล์จะใช้จำนวน B-frames ที่ระบุในการตั้งค่า 'Max B-frames' เสมอ\n\nหากเปิดใช้งาน มันจะเพิ่มคุณภาพของภาพโดยใช้จำนวนเท่าใดก็ได้ จำเป็นต้องใช้เฟรม B สูงสุด\na ต้นทุนของการใช้งาน GPU ที่เพิ่มขึ้น" NVENC.PsychoVisualTuning.ToolTip="เปิดใช้งานการตั้งค่าตัวเข้ารหัสที่ปรับการใช้บิตเรตให้เหมาะสมเพื่อเพิ่มคุณภาพของภาพที่รับรู้\nโดยเฉพาะอย่างยิ่งในสถานการณ์ที่มีการเคลื่อนไหวสูง โดยมีค่าใช้จ่ายในการใช้งาน GPU เพิ่มขึ้น"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/tl-PH.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/tl-PH.ini
Changed
@@ -5,8 +5,6 @@ Preset="I-preset" RateControl="Kontrolin ang Rate" Lossless="Walang Pagkawala" -NVENC.Use2Pass="Gamitin ang Dalawang Pass ng Encoding" -NVENC.Preset.ll="Mababang Pagkawalang kilos" FFmpegSource="Pinagmulan ng Media" LocalFile="Ang Lokal na File" Looping="Silo"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/tr-TR.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/tr-TR.ini
Changed
@@ -6,6 +6,7 @@ Bitrate="Bit hızı" MaxBitrate="Maksimum Bit Hızı" Preset="Ön Tanımlı" +Tuning="Ayar" Profile="Profil" RateControl="Oran Kontrolü" KeyframeIntervalSec="Anahtar Kare Aralığı (0=otomatik)" @@ -15,21 +16,28 @@ AMFOpts.ToolTip="Özel AMF veya FFmpeg seçeneklerini belirtmek için kullanın. Örneğin, \"level=5.2 profile=main BPicturesPattern=3\"" BFrames="Maksimum B-kareleri" VAAPI.Device="VAAPI Aygıtı" -NVENC.Use2Pass="İki Taramalı Kodlama Kullan" -NVENC.Preset.default="Performans" -NVENC.Preset.hq="Kalite" -NVENC.Preset.hp="Maksimum Performans" -NVENC.Preset.mq="Maksimum Kalite" -NVENC.Preset.ll="Düşük Gecikme" -NVENC.Preset.llhq="Düşük Gecikme, Düşük Kalite" -NVENC.Preset.llhp="Düşük Gecikme, Düşük Performans" NVENC.LookAhead="İleri bakma" NVENC.LookAhead.ToolTip="Dinamik B karelerini etkinleştirir.\n\n Devre dışı bırakılırsa, kodlayıcı her zaman 'Maks B-kareleri' ayarında belirtilen B-karelerinin sayısını kullanır.\n\n Eğer için, sadece bununla birçok B-kare gereklidir kullanarak görsel kaliteyi yukarı artacak, etkin maksimum, \nartan GPU kullanımı pahasına." NVENC.PsychoVisualTuning="Psiko Görsel Ayarlama" NVENC.PsychoVisualTuning.ToolTip="Bit hızı kullanımını, arttırılmış algılanan görsel kalite için optimize eden ayarları etkinleştirir,\nÖzellikle yüksek haraketli durumlarda, arttırılmış GPU kullanımı pahasına." NVENC.CQLevel="CQ Seviyesi" +NVENC.8bitUnsupportedHdr="OBS Rec. 2100'ün 8-bit olarak çıkışını desteklemiyor." +NVENC.I010Unsupported="NVENC, I010 desteklemiyor. Bunun yerine P010 kullanın." NVENC.10bitUnsupported="Bu kodlayıcıda 10-bit kodlama gerçekleştirilemiyor." NVENC.TooManyBFrames="Maksimum B-kare ayarı (%d), kodlayıcının desteklediğinden (%d) fazla." +NVENC.Preset2.p1="P1: En Hızlı (En Düşük Kalite)" +NVENC.Preset2.p2="P2: Daha Hızlı (Daha Düşük Kalite)" +NVENC.Preset2.p3="P3: Hızlı (Düşük Kalite)" +NVENC.Preset2.p5="P5: Yavaş (İyi Kalite)" +NVENC.Preset2.p6="P6: Daha Yavaş (Daha Yüksek Kalite)" +NVENC.Preset2.p7="P7: En Yavaş (En İyi Kalite)" +NVENC.Tuning.hq="Yüksek Kalite" +NVENC.Tuning.ll="Düşük Gecikme" +NVENC.Tuning.ull="Ultra Düşük Gecikme" +NVENC.Multipass="Çokseferli Mod" +NVENC.Multipass.disabled="Tek Seferde" +NVENC.Multipass.qres="İki Seferde (Çeyrek Çözünürlük)" +NVENC.Multipass.fullres="İki Seferde (Tam Çözünürlük)" AMF.Preset.speed="Hız" AMF.Preset.balanced="Dengeli" AMF.Preset.quality="Kalite" @@ -47,6 +55,7 @@ CloseFileWhenInactive.ToolTip="Kaynak yayında veya kayıtta gösterilmiyorken dosyayı kapatır.\nBu dosya etkin değilken onun değiştirilmesine izin verir,\nancak kaynak yeniden etkinleşirken başlatmada gecikme olabilir." ColorRange="YUV Renk Aralığı" ColorRange.Auto="Otomatik" +ColorRange.Partial="Sınırlı" ColorRange.Full="Tam" LinearAlpha="Alfa'yı doğrusal alanda uygulayın" RestartMedia="Yeniden başlat" @@ -68,6 +77,8 @@ Encoder.Timeout="%1 kodlayıcı kodlaması çok uzun sürüyor (zaman aşımı: %2 saniye)" AMF.Error="AMF kodeği açılamadı: %1" AMF.GenericError="Video sürücülerinizin güncel olup olmadığını kontrol edin. Radeon Software veya Windows 10 Game DVR gibi AMD kodlayıcı kullanıyor olabilecek diğer kayıt yazılımlarını kapatmayı deneyin." +AMF.8bitUnsupportedHdr="OBS Rec. 2100'ün 8-bit olarak çıkışını desteklemiyor." +AMF.10bitUnsupportedAvc="AMD H.264 kodlayıcıda 10-bit kodlama gerçekleştirilemiyor." NVENC.Error="NVENC kodeği açılamadı: %1" NVENC.GenericError="Video sürücülerinizin güncel olup olmadığını kontrol edin. NVIDIA Shadowplay veya Windows 10 Game DVR gibi NVENC kullanıyor olabilecek diğer kayıt yazılımlarını kapatmayı deneyin." NVENC.BadGPUIndex="Çıkış kodlayıcı ayarlarınızda GPU %1 seçili. 0 olarak ayarlayın ve tekrar deneyin." @@ -75,4 +86,5 @@ NVENC.UnsupportedDevice="NVENC Hatası: Desteklenmeyen cihaz. Ekran kartınızın NVENC'yi desteklediğinden ve sürücülerin güncel olduğundan emin olun." NVENC.TooManySessions="NVENC Hatası: Çok fazla eşzamanlı oturum. NVIDIA Shadowplay veya Windows 10 Game DVR gibi NVENC kullanıyor olabilecek diğer kayıt yazılımlarını kapatmayı deneyin." NVENC.CheckDrivers="Lütfen ekran kartı sürücülerinizin günel olup olmadığını kontrol edin." +AV1.8bitUnsupportedHdr="OBS Rec. 2100'ün 8-bit olarak çıkışını desteklemiyor." ReconnectDelayTime="Yeniden Bağlanma Gecikmesi"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/uk-UA.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/uk-UA.ini
Changed
@@ -6,6 +6,7 @@ Bitrate="Бітрейт" MaxBitrate="Максимальний бітрейт" Preset="Шаблон" +Tuning="Налаштування" Profile="Профіль" RateControl="Керування бітрейтом" KeyframeIntervalSec="Інтервал ключових кадрів (0=авто)" @@ -16,14 +17,6 @@ BFrames="Максимальна кількість B-кадрів" VAAPI.Codec="Кодек VAAPI" VAAPI.Device="Пристрій VAAPI" -NVENC.Use2Pass="Використовувати двопрохідне кодування" -NVENC.Preset.default="Продуктивність" -NVENC.Preset.hq="Якість" -NVENC.Preset.hp="Максимальна продуктивність" -NVENC.Preset.mq="Максимальна якість" -NVENC.Preset.ll="З низькою затримкою" -NVENC.Preset.llhq="Якість з низькою затримкою" -NVENC.Preset.llhp="Продуктивність з низькою затримкою" NVENC.LookAhead="Передбачення (Look-ahead)" NVENC.LookAhead.ToolTip="Дозволяє використовувати динамічні B-кадри.\n\nЯкщо опцію вимкнено – кодувальник завжди буде використовувати кількість B-кадрів, заданих у налаштуванні «Максимальна кількість B-кадрів».\n\nЯкщо увімкнено – це поліпшить якість зображення завдяки використанню необхідної кількості B-кадрів (не більше вказаного максимуму), але\nце збільшить навантаження на графічний процесор." NVENC.PsychoVisualTuning="Психовізуальне настроювання (Psycho Visual Tuning)" @@ -33,6 +26,20 @@ NVENC.I010Unsupported="NVENC не підтримує I010. Використайте P010 натомість." NVENC.10bitUnsupported="Не можна виконати 10-розрядний код на цьому кодувальнику." NVENC.TooManyBFrames="Максимальний параметр B-кадрів (%d) більше ніж підтримує кодувальник (%d)." +NVENC.Preset2.p1="P1: Найвища (найнижча якість)" +NVENC.Preset2.p2="P2: Швидша (нижча якість)" +NVENC.Preset2.p3="P3: Швидка (низька якість)" +NVENC.Preset2.p4="P4: Середня (середня якість)" +NVENC.Preset2.p5="P5: Повільна (хороша якість)" +NVENC.Preset2.p6="P6: Повільніша (краща якість)" +NVENC.Preset2.p7="P7: Найнижча (найкраща якість)" +NVENC.Tuning.hq="Висока якість" +NVENC.Tuning.ll="З низькою затримкою" +NVENC.Tuning.ull="З наднизькою затримкою" +NVENC.Multipass="Багатопрохідний режим" +NVENC.Multipass.disabled="Один прохід" +NVENC.Multipass.qres="Два проходи (чверть роздільної здатності)" +NVENC.Multipass.fullres="Два проходи (повна роздільна здатність)" AMF.Preset.speed="Швидкість" AMF.Preset.balanced="Збалансований" AMF.Preset.quality="Якість"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/vi-VN.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/vi-VN.ini
Changed
@@ -2,6 +2,7 @@ FFmpegAAC="Bộ biên mã AAC mặc định FFmpeg" FFmpegOpus="Bộ biên mã Opus FFmpeg" FFmpegOpts="Các tuỳ chọn FFmpeg" +FFmpegOpts.ToolTip.Source="Cho phép bạn chọn các thiết lập FFmpeg. Chỉ có các thiết lập với định dạng option=value được chấp nhận ở đây.\nNhiều thiết lập có thể được chọn bằbawngvieecj sử dụng phím cách để phân cách chúng.\nVí dụ: rtsp_transport=tcp rtsp_flags=prefer_tcp" Bitrate="Tốc độ bit" MaxBitrate="Tốc độ bit tối đa" Preset="Mẫu thiết lập" @@ -13,15 +14,13 @@ BFrames="Khung-B tối đa" VAAPI.Codec="Bộ biên giải mã VAAPI" VAAPI.Device="Thiết bị VAAPI" -NVENC.Use2Pass="Sử dụng 2-Pass Encoding" -NVENC.Preset.default="Hiệu suất" -NVENC.Preset.hq="Chất lượng" -NVENC.Preset.hp="Hiệu suất tối đa" -NVENC.Preset.mq="Chất lượng tối đa" -NVENC.Preset.ll="Độ trễ thấp" -NVENC.Preset.llhq="Chất lượng \"độ trễ thấp\"" -NVENC.Preset.llhp="Hiệu suất \"độ trễ thấp\"" NVENC.TooManyBFrames="Tùy chọn khung B-frame tối đa (%d) nhiều hơn tùy chọn mà bộ giải mã này hỗ trợ (%d)." +NVENC.Preset2.p4="P4: Trung bình (Chất lượng trung bình)" +NVENC.Tuning.hq="Chất lượng cao" +NVENC.Tuning.ll="Độ trễ thấp" +NVENC.Tuning.ull="Độ trễ cực thấp" +NVENC.Multipass="Chế độ nhiều lượt" +NVENC.Multipass.disabled="Một lượt" AMF.Preset.speed="Tốc độ" AMF.Preset.balanced="Cân bằng" AMF.Preset.quality="Chất lượng"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/zh-CN.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/zh-CN.ini
Changed
@@ -6,6 +6,7 @@ Bitrate="比特率" MaxBitrate="最大比特率" Preset="预设" +Tuning="调节" Profile="配置" RateControl="速率控制" KeyframeIntervalSec="关键帧间隔(0=自动)" @@ -16,14 +17,6 @@ BFrames="最大B帧" VAAPI.Codec="VAAPI 编解码器" VAAPI.Device="VAAPI 设备" -NVENC.Use2Pass="使用 Two-Pass 编码" -NVENC.Preset.default="性能" -NVENC.Preset.hq="质量" -NVENC.Preset.hp="最大性能" -NVENC.Preset.mq="最高质量" -NVENC.Preset.ll="低延迟" -NVENC.Preset.llhq="低延迟质量" -NVENC.Preset.llhp="低延迟性能" NVENC.LookAhead="前向考虑" NVENC.LookAhead.ToolTip="启用动态B帧。\n\n如果禁用,编码器将始终使用“最大B帧”设置中指定的B帧数。\n\n如果启用,它将通过仅使用足够多的B帧来提高视觉质量,直到最大,\n但以增加 GPU 使用率为代价。" NVENC.PsychoVisualTuning="心理视觉调整" @@ -33,6 +26,20 @@ NVENC.I010Unsupported="NVENC 不支持 I010。 请使用 P010 替代。" NVENC.10bitUnsupported="无法在此编码器上执行 10-bit 编码。" NVENC.TooManyBFrames="最大 B 帧设置(%d)超过编码器限制(%d)" +NVENC.Preset2.p1="P1:最快 (质量最低)" +NVENC.Preset2.p2="P2: 较快 (质量更低)" +NVENC.Preset2.p3="P3:快速 (质量低)" +NVENC.Preset2.p4="P4:中等 (质量中等)" +NVENC.Preset2.p5="P5:慢速 (质量高)" +NVENC.Preset2.p6="P6:更慢 (质量更高)" +NVENC.Preset2.p7="P7:最慢 (质量最高)" +NVENC.Tuning.hq="高质量" +NVENC.Tuning.ll="低延迟" +NVENC.Tuning.ull="超低延迟" +NVENC.Multipass="多次编码模式" +NVENC.Multipass.disabled="单次编码" +NVENC.Multipass.qres="二次编码 (1/4 分辨率)" +NVENC.Multipass.fullres="二次编码 (全分辨率)" AMF.Preset.speed="速度" AMF.Preset.balanced="平衡" AMF.Preset.quality="质量"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/data/locale/zh-TW.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/data/locale/zh-TW.ini
Changed
@@ -6,6 +6,7 @@ Bitrate="位元率" MaxBitrate="最大位元速率" Preset="預置" +Tuning="調校" Profile="設定檔" RateControl="位元率控制" KeyframeIntervalSec="關鍵訊框間隔(0 = 自動)" @@ -16,14 +17,6 @@ BFrames="最大 B 畫格數" VAAPI.Codec="VAAPI 編碼器" VAAPI.Device="VAAPI 裝置" -NVENC.Use2Pass="使用 Two-Pass 編碼" -NVENC.Preset.default="效能" -NVENC.Preset.hq="畫質" -NVENC.Preset.hp="效能最高" -NVENC.Preset.mq="品質最高" -NVENC.Preset.ll="低延遲" -NVENC.Preset.llhq="低延遲品質" -NVENC.Preset.llhp="低延遲效能" NVENC.LookAhead="編碼緩衝預測" NVENC.LookAhead.ToolTip="啟用動態B幀。 \n\n如果禁用,編碼器將始終使用“最大B幀”設置中指定的B幀數。 \n\n如果啟用,它將僅通過使用盡可能多的B幀來提高視覺品質,直到最大,\n但以增加 GPU 使用率為代價。" NVENC.PsychoVisualTuning="心理視覺調整" @@ -33,6 +26,20 @@ NVENC.I010Unsupported="NVENC 不支援 I010。請改用 P010。" NVENC.10bitUnsupported="無法在此編碼器進行 10-bit 編碼。" NVENC.TooManyBFrames="最大 B 影格 (B-frame) 設定 (%d) 大於編碼器支援的值 (%d)。" +NVENC.Preset2.p1="P1:最快速(畫質最低)" +NVENC.Preset2.p2="P2:更快速(畫質更低)" +NVENC.Preset2.p3="P3:快速(低畫質)" +NVENC.Preset2.p4="P4:折衷(中等畫質)" +NVENC.Preset2.p5="P5:慢速(高畫質)" +NVENC.Preset2.p6="P6:更慢速(畫質更高)" +NVENC.Preset2.p7="P7:最慢速(畫質最高)" +NVENC.Tuning.hq="高畫質" +NVENC.Tuning.ll="低延遲" +NVENC.Tuning.ull="極低延遲" +NVENC.Multipass="多遍模式" +NVENC.Multipass.disabled="一遍" +NVENC.Multipass.qres="兩遍(1/4 解析度)" +NVENC.Multipass.fullres="兩遍(全解析度)" AMF.Preset.speed="速度" AMF.Preset.balanced="折衷" AMF.Preset.quality="畫質"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/external/nvEncodeAPI.h -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/external/nvEncodeAPI.h
Changed
@@ -1,7 +1,7 @@ /* * This copyright notice applies to this header file only: * - * Copyright (c) 2010-2021 NVIDIA Corporation + * Copyright (c) 2010-2022 NVIDIA Corporation * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation @@ -30,7 +30,7 @@ * NVIDIA GPUs - beginning with the Kepler generation - contain a hardware-based encoder * (referred to as NVENC) which provides fully-accelerated hardware-based video encoding. * NvEncodeAPI provides the interface for NVIDIA video encoder (NVENC). - * \date 2011-2020 + * \date 2011-2022 * This file contains the interface constants, structure definitions and function prototypes. */ @@ -67,31 +67,27 @@ * @{ */ -#if defined(_WIN32) || defined(__CYGWIN__) -#define NVENCAPI __stdcall -#else -#define NVENCAPI -#endif - #ifdef _WIN32 +#define NVENCAPI __stdcall typedef RECT NVENC_RECT; #else #define NVENCAPI // ========================================================================================= -#if !defined(GUID) && !defined(GUID_DEFINED) +#ifndef GUID_DEFINED +#define GUID_DEFINED /*! * \struct GUID * Abstracts the GUID structure for non-windows platforms. */ // ========================================================================================= -typedef struct +typedef struct _GUID { uint32_t Data1; /**< in: Specifies the first 8 hexadecimal digits of the GUID. */ uint16_t Data2; /**< in: Specifies the first group of 4 hexadecimal digits. */ uint16_t Data3; /**< in: Specifies the second group of 4 hexadecimal digits. */ uint8_t Data48; /**< in: Array of 8 bytes. The first 2 bytes contain the third group of 4 hexadecimal digits. The remaining 6 bytes contain the final 12 hexadecimal digits. */ -} GUID; +} GUID, *LPGUID; #endif // GUID /** @@ -115,8 +111,8 @@ typedef void* NV_ENC_REGISTERED_PTR; /**< A Resource that has been registered with NVENCODE API*/ typedef void* NV_ENC_CUSTREAM_PTR; /**< Pointer to CUstream*/ -#define NVENCAPI_MAJOR_VERSION 11 -#define NVENCAPI_MINOR_VERSION 1 +#define NVENCAPI_MAJOR_VERSION 12 +#define NVENCAPI_MINOR_VERSION 0 #define NVENCAPI_VERSION (NVENCAPI_MAJOR_VERSION | (NVENCAPI_MINOR_VERSION << 24)) @@ -136,6 +132,10 @@ #define NV_ENC_DEPRECATED __declspec(deprecated("WILL BE REMOVED IN A FUTURE VIDEO CODEC SDK VERSION")) #endif +// All use of the AV1 encode structures in the source code is guarded by the compilation variable +// below. Set it to 0 to disable and hide the AV1 driver code. +#define NVENCAPI_AV1_STRUCTURES_DEFINED 1 + // ========================================================================================= // Encode Codec GUIDS supported by the NvEncodeAPI interface. // ========================================================================================= @@ -148,6 +148,10 @@ static const GUID NV_ENC_CODEC_HEVC_GUID = { 0x790cdc88, 0x4522, 0x4d7b, { 0x94, 0x25, 0xbd, 0xa9, 0x97, 0x5f, 0x76, 0x3 } }; +// {0A352289-0AA7-4759-862D-5D15CD16D254} +static const GUID NV_ENC_CODEC_AV1_GUID = +{ 0x0a352289, 0x0aa7, 0x4759, { 0x86, 0x2d, 0x5d, 0x15, 0xcd, 0x16, 0xd2, 0x54 } }; + // ========================================================================================= @@ -199,6 +203,14 @@ static const GUID NV_ENC_HEVC_PROFILE_FREXT_GUID = { 0x51ec32b5, 0x1b4c, 0x453c, { 0x9c, 0xbd, 0xb6, 0x16, 0xbd, 0x62, 0x13, 0x41 } }; +// {5f2a39f5-f14e-4f95-9a9e-b76d568fcf97} +static const GUID NV_ENC_AV1_PROFILE_MAIN_GUID = +{ 0x5f2a39f5, 0xf14e, 0x4f95, { 0x9a, 0x9e, 0xb7, 0x6d, 0x56, 0x8f, 0xcf, 0x97 } }; + +// {7c718f81-abb7-4a0e-afe4-c88bab957997} +static const GUID NV_ENC_AV1_PROFILE_HIGH_GUID = +{ 0x7c718f81, 0xabb7, 0x4a0e, { 0xaf, 0xe4, 0xc8, 0x8b, 0xab, 0x95, 0x79, 0x97 } }; + // ========================================================================================= // * Preset GUIDS supported by the NvEncodeAPI interface. // ========================================================================================= @@ -349,6 +361,20 @@ } NV_ENC_PIC_STRUCT; /** + * Display picture structure + * Currently, this enum is only used for deciding the number of clock timestamp sets in Picture Timing SEI / Time Code SEI + * Otherwise, this has no impact on encoder behavior + */ +typedef enum _NV_ENC_DISPLAY_PIC_STRUCT +{ + NV_ENC_PIC_STRUCT_DISPLAY_FRAME = 0x00, /**< Field encoding top field first */ + NV_ENC_PIC_STRUCT_DISPLAY_FIELD_TOP_BOTTOM = 0x01, /**< Field encoding top field first */ + NV_ENC_PIC_STRUCT_DISPLAY_FIELD_BOTTOM_TOP = 0x02, /**< Field encoding bottom field first */ + NV_ENC_PIC_STRUCT_DISPLAY_FRAME_DOUBLING = 0x03, /**< Frame doubling */ + NV_ENC_PIC_STRUCT_DISPLAY_FRAME_TRIPLING = 0x04 /**< Field tripling */ +} NV_ENC_DISPLAY_PIC_STRUCT; + +/** * Input picture type */ typedef enum _NV_ENC_PIC_TYPE @@ -463,7 +489,36 @@ NV_ENC_LEVEL_HEVC_62 = 186, NV_ENC_TIER_HEVC_MAIN = 0, - NV_ENC_TIER_HEVC_HIGH = 1 + NV_ENC_TIER_HEVC_HIGH = 1, + + NV_ENC_LEVEL_AV1_2 = 0, + NV_ENC_LEVEL_AV1_21 = 1, + NV_ENC_LEVEL_AV1_22 = 2, + NV_ENC_LEVEL_AV1_23 = 3, + NV_ENC_LEVEL_AV1_3 = 4, + NV_ENC_LEVEL_AV1_31 = 5, + NV_ENC_LEVEL_AV1_32 = 6, + NV_ENC_LEVEL_AV1_33 = 7, + NV_ENC_LEVEL_AV1_4 = 8, + NV_ENC_LEVEL_AV1_41 = 9, + NV_ENC_LEVEL_AV1_42 = 10, + NV_ENC_LEVEL_AV1_43 = 11, + NV_ENC_LEVEL_AV1_5 = 12, + NV_ENC_LEVEL_AV1_51 = 13, + NV_ENC_LEVEL_AV1_52 = 14, + NV_ENC_LEVEL_AV1_53 = 15, + NV_ENC_LEVEL_AV1_6 = 16, + NV_ENC_LEVEL_AV1_61 = 17, + NV_ENC_LEVEL_AV1_62 = 18, + NV_ENC_LEVEL_AV1_63 = 19, + NV_ENC_LEVEL_AV1_7 = 20, + NV_ENC_LEVEL_AV1_71 = 21, + NV_ENC_LEVEL_AV1_72 = 22, + NV_ENC_LEVEL_AV1_73 = 23, + NV_ENC_LEVEL_AV1_AUTOSELECT , + + NV_ENC_TIER_AV1_0 = 0, + NV_ENC_TIER_AV1_1 = 1 } NV_ENC_LEVEL; /** @@ -668,7 +723,7 @@ typedef enum _NV_ENC_BFRAME_REF_MODE { NV_ENC_BFRAME_REF_MODE_DISABLED = 0x0, /**< B frame is not used for reference */ - NV_ENC_BFRAME_REF_MODE_EACH = 0x1, /**< Each B-frame will be used for reference. currently not supported for H.264 */ + NV_ENC_BFRAME_REF_MODE_EACH = 0x1, /**< Each B-frame will be used for reference */ NV_ENC_BFRAME_REF_MODE_MIDDLE = 0x2, /**< Only(Number of B-frame)/2 th B-frame will be used for reference */ } NV_ENC_BFRAME_REF_MODE; @@ -748,7 +803,7 @@ NV_ENC_INPUT_IMAGE = 0x0, /**< Registered surface will be used for input image */ NV_ENC_OUTPUT_MOTION_VECTOR = 0x1, /**< Registered surface will be used for output of H.264 ME only mode. This buffer usage type is not supported for HEVC ME only mode. */ - NV_ENC_OUTPUT_BITSTREAM = 0x2 /**< Registered surface will be used for output bitstream in encoding */ + NV_ENC_OUTPUT_BITSTREAM = 0x2, /**< Registered surface will be used for output bitstream in encoding */ } NV_ENC_BUFFER_USAGE; /** @@ -1133,6 +1188,7 @@ * Reserved - Not to be used by clients. */ NV_ENC_CAPS_EXPOSED_COUNT + } NV_ENC_CAPS; /** @@ -1148,6 +1204,89 @@ }NV_ENC_HEVC_CUSIZE; /** +* AV1 PART SIZE +*/ +typedef enum _NV_ENC_AV1_PART_SIZE +{ + NV_ENC_AV1_PART_SIZE_AUTOSELECT = 0, + NV_ENC_AV1_PART_SIZE_4x4 = 1, + NV_ENC_AV1_PART_SIZE_8x8 = 2, + NV_ENC_AV1_PART_SIZE_16x16 = 3, + NV_ENC_AV1_PART_SIZE_32x32 = 4, + NV_ENC_AV1_PART_SIZE_64x64 = 5, +}NV_ENC_AV1_PART_SIZE; + +/** +* Enums related to fields in VUI parameters. +*/ +typedef enum _NV_ENC_VUI_VIDEO_FORMAT +{ + NV_ENC_VUI_VIDEO_FORMAT_COMPONENT = 0, + NV_ENC_VUI_VIDEO_FORMAT_PAL = 1, + NV_ENC_VUI_VIDEO_FORMAT_NTSC = 2, + NV_ENC_VUI_VIDEO_FORMAT_SECAM = 3, + NV_ENC_VUI_VIDEO_FORMAT_MAC = 4, + NV_ENC_VUI_VIDEO_FORMAT_UNSPECIFIED = 5, +}NV_ENC_VUI_VIDEO_FORMAT; + +typedef enum _NV_ENC_VUI_COLOR_PRIMARIES +{ + NV_ENC_VUI_COLOR_PRIMARIES_UNDEFINED = 0, + NV_ENC_VUI_COLOR_PRIMARIES_BT709 = 1, + NV_ENC_VUI_COLOR_PRIMARIES_UNSPECIFIED = 2, + NV_ENC_VUI_COLOR_PRIMARIES_RESERVED = 3, + NV_ENC_VUI_COLOR_PRIMARIES_BT470M = 4, + NV_ENC_VUI_COLOR_PRIMARIES_BT470BG = 5, + NV_ENC_VUI_COLOR_PRIMARIES_SMPTE170M = 6, + NV_ENC_VUI_COLOR_PRIMARIES_SMPTE240M = 7, + NV_ENC_VUI_COLOR_PRIMARIES_FILM = 8, + NV_ENC_VUI_COLOR_PRIMARIES_BT2020 = 9, + NV_ENC_VUI_COLOR_PRIMARIES_SMPTE428 = 10, + NV_ENC_VUI_COLOR_PRIMARIES_SMPTE431 = 11, + NV_ENC_VUI_COLOR_PRIMARIES_SMPTE432 = 12, + NV_ENC_VUI_COLOR_PRIMARIES_JEDEC_P22 = 22, +}NV_ENC_VUI_COLOR_PRIMARIES; + +typedef enum _NV_ENC_VUI_TRANSFER_CHARACTERISTIC +{ + NV_ENC_VUI_TRANSFER_CHARACTERISTIC_UNDEFINED = 0, + NV_ENC_VUI_TRANSFER_CHARACTERISTIC_BT709 = 1, + NV_ENC_VUI_TRANSFER_CHARACTERISTIC_UNSPECIFIED = 2, + NV_ENC_VUI_TRANSFER_CHARACTERISTIC_RESERVED = 3, + NV_ENC_VUI_TRANSFER_CHARACTERISTIC_BT470M = 4, + NV_ENC_VUI_TRANSFER_CHARACTERISTIC_BT470BG = 5, + NV_ENC_VUI_TRANSFER_CHARACTERISTIC_SMPTE170M = 6, + NV_ENC_VUI_TRANSFER_CHARACTERISTIC_SMPTE240M = 7, + NV_ENC_VUI_TRANSFER_CHARACTERISTIC_LINEAR = 8, + NV_ENC_VUI_TRANSFER_CHARACTERISTIC_LOG = 9, + NV_ENC_VUI_TRANSFER_CHARACTERISTIC_LOG_SQRT = 10, + NV_ENC_VUI_TRANSFER_CHARACTERISTIC_IEC61966_2_4 = 11, + NV_ENC_VUI_TRANSFER_CHARACTERISTIC_BT1361_ECG = 12, + NV_ENC_VUI_TRANSFER_CHARACTERISTIC_SRGB = 13, + NV_ENC_VUI_TRANSFER_CHARACTERISTIC_BT2020_10 = 14, + NV_ENC_VUI_TRANSFER_CHARACTERISTIC_BT2020_12 = 15, + NV_ENC_VUI_TRANSFER_CHARACTERISTIC_SMPTE2084 = 16, + NV_ENC_VUI_TRANSFER_CHARACTERISTIC_SMPTE428 = 17, + NV_ENC_VUI_TRANSFER_CHARACTERISTIC_ARIB_STD_B67 = 18, +}NV_ENC_VUI_TRANSFER_CHARACTERISTIC; + +typedef enum _NV_ENC_VUI_MATRIX_COEFFS +{ + NV_ENC_VUI_MATRIX_COEFFS_RGB = 0, + NV_ENC_VUI_MATRIX_COEFFS_BT709 = 1, + NV_ENC_VUI_MATRIX_COEFFS_UNSPECIFIED = 2, + NV_ENC_VUI_MATRIX_COEFFS_RESERVED = 3, + NV_ENC_VUI_MATRIX_COEFFS_FCC = 4, + NV_ENC_VUI_MATRIX_COEFFS_BT470BG = 5, + NV_ENC_VUI_MATRIX_COEFFS_SMPTE170M = 6, + NV_ENC_VUI_MATRIX_COEFFS_SMPTE240M = 7, + NV_ENC_VUI_MATRIX_COEFFS_YCGCO = 8, + NV_ENC_VUI_MATRIX_COEFFS_BT2020_NCL = 9, + NV_ENC_VUI_MATRIX_COEFFS_BT2020_CL = 10, + NV_ENC_VUI_MATRIX_COEFFS_SMPTE2085 = 11, +}NV_ENC_VUI_MATRIX_COEFFS; + +/** * Input struct for querying Encoding capabilities. */ typedef struct _NV_ENC_CAPS_PARAM @@ -1311,7 +1450,9 @@ lookaheadDepth is only used if enableLookahead=1.*/ uint8_t lowDelayKeyFrameScale; /**< in: Specifies the ratio of I frame bits to P frame bits in case of single frame VBV and CBR rate control mode, is set to 2 by default for low latency tuning info and 1 by default for ultra low latency tuning info */ - uint8_t reserved13; + int8_t yDcQPIndexOffset; /**< in: Specifies the value of 'deltaQ_y_dc' in AV1.*/ + int8_t uDcQPIndexOffset; /**< in: Specifies the value of 'deltaQ_u_dc' in AV1.*/ + int8_t vDcQPIndexOffset; /**< in: Specifies the value of 'deltaQ_v_dc' in AV1 (for future use only - deltaQ_v_dc is currently always internally set to same value as deltaQ_u_dc). */ NV_ENC_QP_MAP_MODE qpMapMode; /**< in: This flag is used to interpret values in array specified by NV_ENC_PIC_PARAMS::qpDeltaMap. Set this to NV_ENC_QP_MAP_EMPHASIS to treat values specified by NV_ENC_PIC_PARAMS::qpDeltaMap as Emphasis Level Map. Emphasis Level can be assigned any value specified in enum NV_ENC_EMPHASIS_MAP_LEVEL. @@ -1332,8 +1473,8 @@ NV_ENC_MULTI_PASS multiPass; /**< in: This flag is used to enable multi-pass encoding for a given ::NV_ENC_PARAMS_RC_MODE. This flag is not valid for H264 and HEVC MEOnly mode */ uint32_t alphaLayerBitrateRatio; /**< in: Specifies the ratio in which bitrate should be split between base and alpha layer. A value 'x' for this field will split the target bitrate in a ratio of x : 1 between base and alpha layer. The default split ratio is 15.*/ - int8_t cbQPIndexOffset; /**< in: Specifies the value of 'chroma_qp_index_offset' in H264 / 'pps_cb_qp_offset' in HEVC.*/ - int8_t crQPIndexOffset; /**< in: Specifies the value of 'second_chroma_qp_index_offset' in H264 / 'pps_cr_qp_offset' in HEVC.*/ + int8_t cbQPIndexOffset; /**< in: Specifies the value of 'chroma_qp_index_offset' in H264 / 'pps_cb_qp_offset' in HEVC / 'deltaQ_u_ac' in AV1.*/ + int8_t crQPIndexOffset; /**< in: Specifies the value of 'second_chroma_qp_index_offset' in H264 / 'pps_cr_qp_offset' in HEVC / 'deltaQ_v_ac' in AV1 (for future use only - deltaQ_v_ac is currently always internally set to same value as deltaQ_u_ac). */ uint16_t reserved2; uint32_t reserved4; } NV_ENC_RC_PARAMS; @@ -1341,6 +1482,33 @@ /** macro for constructing the version field of ::_NV_ENC_RC_PARAMS */ #define NV_ENC_RC_PARAMS_VER NVENCAPI_STRUCT_VERSION(1) +#define MAX_NUM_CLOCK_TS 3 + +/** +* Clock Timestamp set parameters +* For H264, this structure is used to populate Picture Timing SEI when NV_ENC_CONFIG_H264::enableTimeCode is set to 1. +* For HEVC, this structure is used to populate Time Code SEI when NV_ENC_CONFIG_HEVC::enableTimeCodeSEI is set to 1. +* For more details, refer to Annex D of ITU-T Specification. +*/ + +typedef struct _NV_ENC_CLOCK_TIMESTAMP_SET +{ + uint32_t countingType : 1; /**< in Specifies the 'counting_type' */ + uint32_t discontinuityFlag : 1; /**< in Specifies the 'discontinuity_flag' */ + uint32_t cntDroppedFrames : 1; /**< in Specifies the 'cnt_dropped_flag' */ + uint32_t nFrames : 8; /**< in Specifies the value of 'n_frames' */ + uint32_t secondsValue : 6; /**< in Specifies the 'seconds_value' */ + uint32_t minutesValue : 6; /**< in Specifies the 'minutes_value' */ + uint32_t hoursValue : 5; /**< in Specifies the 'hours_value' */ + uint32_t reserved2 : 4; /**< in Reserved and must be set to 0 */ + uint32_t timeOffset; /**< in Specifies the 'time_offset_value' */ +} NV_ENC_CLOCK_TIMESTAMP_SET; + +typedef struct _NV_ENC_TIME_CODE +{ + NV_ENC_DISPLAY_PIC_STRUCT displayPicStruct; /**< in Display picStruct */ + NV_ENC_CLOCK_TIMESTAMP_SET clockTimestampMAX_NUM_CLOCK_TS; /**< in Clock Timestamp set */ +} NV_ENC_TIME_CODE; /** @@ -1349,20 +1517,24 @@ */ typedef struct _NV_ENC_CONFIG_H264_VUI_PARAMETERS { - uint32_t overscanInfoPresentFlag; /**< in: if set to 1 , it specifies that the overscanInfo is present */ - uint32_t overscanInfo; /**< in: Specifies the overscan info(as defined in Annex E of the ITU-T Specification). */ - uint32_t videoSignalTypePresentFlag; /**< in: If set to 1, it specifies that the videoFormat, videoFullRangeFlag and colourDescriptionPresentFlag are present. */ - uint32_t videoFormat; /**< in: Specifies the source video format(as defined in Annex E of the ITU-T Specification).*/ - uint32_t videoFullRangeFlag; /**< in: Specifies the output range of the luma and chroma samples(as defined in Annex E of the ITU-T Specification). */ - uint32_t colourDescriptionPresentFlag; /**< in: If set to 1, it specifies that the colourPrimaries, transferCharacteristics and colourMatrix are present. */ - uint32_t colourPrimaries; /**< in: Specifies color primaries for converting to RGB(as defined in Annex E of the ITU-T Specification) */ - uint32_t transferCharacteristics; /**< in: Specifies the opto-electronic transfer characteristics to use (as defined in Annex E of the ITU-T Specification) */ - uint32_t colourMatrix; /**< in: Specifies the matrix coefficients used in deriving the luma and chroma from the RGB primaries (as defined in Annex E of the ITU-T Specification). */ - uint32_t chromaSampleLocationFlag; /**< in: if set to 1 , it specifies that the chromaSampleLocationTop and chromaSampleLocationBot are present.*/ - uint32_t chromaSampleLocationTop; /**< in: Specifies the chroma sample location for top field(as defined in Annex E of the ITU-T Specification) */ - uint32_t chromaSampleLocationBot; /**< in: Specifies the chroma sample location for bottom field(as defined in Annex E of the ITU-T Specification) */ - uint32_t bitstreamRestrictionFlag; /**< in: if set to 1, it specifies the bitstream restriction parameters are present in the bitstream.*/ - uint32_t reserved15; + uint32_t overscanInfoPresentFlag; /**< in: If set to 1 , it specifies that the overscanInfo is present */ + uint32_t overscanInfo; /**< in: Specifies the overscan info(as defined in Annex E of the ITU-T Specification). */ + uint32_t videoSignalTypePresentFlag; /**< in: If set to 1, it specifies that the videoFormat, videoFullRangeFlag and colourDescriptionPresentFlag are present. */ + NV_ENC_VUI_VIDEO_FORMAT videoFormat; /**< in: Specifies the source video format(as defined in Annex E of the ITU-T Specification).*/ + uint32_t videoFullRangeFlag; /**< in: Specifies the output range of the luma and chroma samples(as defined in Annex E of the ITU-T Specification). */ + uint32_t colourDescriptionPresentFlag; /**< in: If set to 1, it specifies that the colourPrimaries, transferCharacteristics and colourMatrix are present. */ + NV_ENC_VUI_COLOR_PRIMARIES colourPrimaries; /**< in: Specifies color primaries for converting to RGB(as defined in Annex E of the ITU-T Specification) */ + NV_ENC_VUI_TRANSFER_CHARACTERISTIC transferCharacteristics; /**< in: Specifies the opto-electronic transfer characteristics to use (as defined in Annex E of the ITU-T Specification) */ + NV_ENC_VUI_MATRIX_COEFFS colourMatrix; /**< in: Specifies the matrix coefficients used in deriving the luma and chroma from the RGB primaries (as defined in Annex E of the ITU-T Specification). */ + uint32_t chromaSampleLocationFlag; /**< in: If set to 1 , it specifies that the chromaSampleLocationTop and chromaSampleLocationBot are present.*/ + uint32_t chromaSampleLocationTop; /**< in: Specifies the chroma sample location for top field(as defined in Annex E of the ITU-T Specification) */ + uint32_t chromaSampleLocationBot; /**< in: Specifies the chroma sample location for bottom field(as defined in Annex E of the ITU-T Specification) */ + uint32_t bitstreamRestrictionFlag; /**< in: If set to 1, it specifies the bitstream restriction parameters are present in the bitstream.*/ + uint32_t timingInfoPresentFlag; /**< in: If set to 1, it specifies that the timingInfo is present and the 'numUnitInTicks' and 'timeScale' fields are specified by the application. */ + /**< in: If not set, the timingInfo may still be present with timing related fields calculated internally basedon the frame rate specified by the application. */ + uint32_t numUnitInTicks; /**< in: Specifies the number of time units of the clock(as defined in Annex E of the ITU-T Specification). */ + uint32_t timeScale; /**< in: Specifies the frquency of the clock(as defined in Annex E of the ITU-T Specification). */ + uint32_t reserved12; /**< in: Reserved and must be set to 0 */ }NV_ENC_CONFIG_H264_VUI_PARAMETERS; typedef NV_ENC_CONFIG_H264_VUI_PARAMETERS NV_ENC_CONFIG_HEVC_VUI_PARAMETERS; @@ -1370,7 +1542,7 @@ /** * \struct _NVENC_EXTERNAL_ME_HINT_COUNTS_PER_BLOCKTYPE * External motion vector hint counts per block type. - * H264 supports multiple hint while HEVC supports one hint for each valid candidate. + * H264 and AV1 support multiple hint while HEVC supports one hint for each valid candidate. */ typedef struct _NVENC_EXTERNAL_ME_HINT_COUNTS_PER_BLOCKTYPE { @@ -1378,7 +1550,8 @@ uint32_t numCandsPerBlk16x8 : 4; /**< in: Supported for H264 only. Specifies the number of candidates per 16x8 block. */ uint32_t numCandsPerBlk8x16 : 4; /**< in: Supported for H264 only. Specifies the number of candidates per 8x16 block. */ uint32_t numCandsPerBlk8x8 : 4; /**< in: Supported for H264, HEVC. Specifies the number of candidates per 8x8 block. */ - uint32_t reserved : 16; /**< in: Reserved for padding. */ + uint32_t numCandsPerSb : 8; /**< in: Supported for AV1 only. Specifies the number of candidates per SB. */ + uint32_t reserved : 8; /**< in: Reserved for padding. */ uint32_t reserved13; /**< in: Reserved for future use. */ } NVENC_EXTERNAL_ME_HINT_COUNTS_PER_BLOCKTYPE; @@ -1398,6 +1571,26 @@ int32_t lastOfMB : 1; /**< in: Set to 1 for the last MV of macroblock. */ } NVENC_EXTERNAL_ME_HINT; +/** + * \struct _NVENC_EXTERNAL_ME_SB_HINT + * External Motion Vector SB hint structure for AV1 + */ +typedef struct _NVENC_EXTERNAL_ME_SB_HINT +{ + int16_t refidx : 5; /**< in: Specifies the reference index (31=invalid) */ + int16_t direction : 1; /**< in: Specifies the direction of motion estimation . 0=L0 1=L1.*/ + int16_t bi : 1; /**< in: Specifies reference mode 0=single mv, 1=compound mv */ + int16_t partition_type : 3; /**< in: Specifies the partition type: 0: 2NX2N, 1:2NxN, 2:Nx2N. reserved 3bits for future modes */ + int16_t x8 : 3; /**< in: Specifies the current partition's top left x position in 8 pixel unit */ + int16_t last_of_cu : 1; /**< in: Set to 1 for the last MV current CU */ + int16_t last_of_sb : 1; /**< in: Set to 1 for the last MV of current SB */ + int16_t reserved0 : 1; /**< in: Reserved and must be set to 0 */ + int16_t mvx : 14; /**< in: Specifies the x component of integer pixel MV (relative to current MB) S12.2. */ + int16_t cu_size : 2; /**< in: Specifies the CU size: 0: 8x8, 1: 16x16, 2:32x32, 3:64x64 */ + int16_t mvy : 12; /**< in: Specifies the y component of integer pixel MV (relative to current MB) S10.2 .*/ + int16_t y8 : 3; /**< in: Specifies the current partition's top left y position in 8 pixel unit */ + int16_t reserved1 : 1; /**< in: Reserved and must be set to 0 */ +} NVENC_EXTERNAL_ME_SB_HINT; /** * \struct _NV_ENC_CONFIG_H264 @@ -1410,8 +1603,7 @@ uint32_t hierarchicalPFrames :1; /**< in: Set to 1 to enable hierarchical P Frames */ uint32_t hierarchicalBFrames :1; /**< in: Set to 1 to enable hierarchical B Frames */ uint32_t outputBufferingPeriodSEI :1; /**< in: Set to 1 to write SEI buffering period syntax in the bitstream */ - uint32_t outputPictureTimingSEI :1; /**< in: Set to 1 to write SEI picture timing syntax in the bitstream. When set for following rateControlMode : NV_ENC_PARAMS_RC_CBR, NV_ENC_PARAMS_RC_CBR_LOWDELAY_HQ, - NV_ENC_PARAMS_RC_CBR_HQ, filler data is inserted if needed to achieve HRD bitrate */ + uint32_t outputPictureTimingSEI :1; /**< in: Set to 1 to write SEI picture timing syntax in the bitstream. */ uint32_t outputAUD :1; /**< in: Set to 1 to write access unit delimiter syntax in bitstream */ uint32_t disableSPSPPS :1; /**< in: Set to 1 to disable writing of Sequence and Picture parameter info in bitstream */ uint32_t outputFramePackingSEI :1; /**< in: Set to 1 to enable writing of frame packing arrangement SEI messages to bitstream */ @@ -1447,10 +1639,11 @@ Applicable only when temporal SVC is enabled (NV_ENC_CONFIG_H264::enableTemporalSVC = 1). */ uint32_t enableScalabilityInfoSEI :1; /**< in: Set to 1 to enable writing of Scalability Information SEI message preceding each IDR picture in bitstream Applicable only when temporal SVC is enabled (NV_ENC_CONFIG_H264::enableTemporalSVC = 1). */ - uint32_t singleSliceIntraRefresh : 1; /**< in: Set to 1 to maintain single slice in frames during intra refresh. + uint32_t singleSliceIntraRefresh :1; /**< in: Set to 1 to maintain single slice in frames during intra refresh. Check support for single slice intra refresh using ::NV_ENC_CAPS_SINGLE_SLICE_INTRA_REFRESH caps. This flag will be ignored if the value returned for ::NV_ENC_CAPS_SINGLE_SLICE_INTRA_REFRESH caps is false. */ - uint32_t reservedBitFields : 11; /**< in: Reserved bitfields and must be set to 0 */ + uint32_t enableTimeCode :1; /**< in: Set to 1 to enable writing of clock timestamp sets in picture timing SEI. Note that this flag will be ignored for D3D12 interface. */ + uint32_t reservedBitFields :10; /**< in: Reserved bitfields and must be set to 0 */ uint32_t level; /**< in: Specifies the encoding level. Client is recommended to set this to NV_ENC_LEVEL_AUTOSELECT in order to enable the NvEncodeAPI interface to select the correct level. */ uint32_t idrPeriod; /**< in: Specifies the IDR interval. If not set, this is made equal to gopLength in NV_ENC_CONFIG.Low latency application client can set IDR interval to NVENC_INFINITE_GOPLENGTH so that IDR frames are not inserted automatically. */ uint32_t separateColourPlaneFlag; /**< in: Set to 1 to enable 4:4:4 separate colour planes */ @@ -1493,7 +1686,7 @@ Set to 0 when using "LTR Per Picture" mode of LTR operation. */ uint32_t chromaFormatIDC; /**< in: Specifies the chroma format. Should be set to 1 for yuv420 input, 3 for yuv444 input. Check support for YUV444 encoding using ::NV_ENC_CAPS_SUPPORT_YUV444_ENCODE caps.*/ - uint32_t maxTemporalLayers; /**< in: Specifies the maximum temporal layer used for temporal SVC / hierarchical coding. + uint32_t maxTemporalLayers; /**< in: Specifies the max temporal layer used for temporal SVC / hierarchical coding. Defaut value of this field is NV_ENC_CAPS::NV_ENC_CAPS_NUM_MAX_TEMPORAL_LAYERS. Note that the value NV_ENC_CONFIG_H264::maxNumRefFrames should be greater than or equal to (NV_ENC_CONFIG_H264::maxTemporalLayers - 2) * 2, for NV_ENC_CONFIG_H264::maxTemporalLayers >= 2.*/ NV_ENC_BFRAME_REF_MODE useBFramesAsRef; /**< in: Specifies the B-Frame as reference mode. Check support for useBFramesAsRef mode using ::NV_ENC_CAPS_SUPPORT_BFRAME_REF_MODE caps.*/ @@ -1501,6 +1694,7 @@ Check support for numRefL0 using ::NV_ENC_CAPS_SUPPORT_MULTIPLE_REF_FRAMES caps. */ NV_ENC_NUM_REF_FRAMES numRefL1; /**< in: Specifies max number of reference frames in reference picture list L1, that can be used by hardware for prediction of a frame. Check support for numRefL1 using ::NV_ENC_CAPS_SUPPORT_MULTIPLE_REF_FRAMES caps. */ + uint32_t reserved1267; /**< in: Reserved and must be set to 0 */ void* reserved264; /**< in: Reserved and must be set to NULL */ } NV_ENC_CONFIG_H264; @@ -1546,10 +1740,12 @@ Constrained encoding works only with rectangular slices. Check support for constrained encoding using ::NV_ENC_CAPS_SUPPORT_CONSTRAINED_ENCODING caps. */ uint32_t enableAlphaLayerEncoding :1; /**< in: Set this to 1 to enable HEVC encode with alpha layer. */ - uint32_t singleSliceIntraRefresh : 1; /**< in: Set this to 1 to maintain single slice frames during intra refresh. + uint32_t singleSliceIntraRefresh :1; /**< in: Set this to 1 to maintain single slice frames during intra refresh. Check support for single slice intra refresh using ::NV_ENC_CAPS_SINGLE_SLICE_INTRA_REFRESH caps. This flag will be ignored if the value returned for ::NV_ENC_CAPS_SINGLE_SLICE_INTRA_REFRESH caps is false. */ - uint32_t reserved : 14; /**< in: Reserved bitfields.*/ + uint32_t outputRecoveryPointSEI :1; /**< in: Set to 1 to enable writing of recovery point SEI message */ + uint32_t outputTimeCodeSEI :1; /**< in: Set 1 to write SEI time code syntax in the bitstream. Note that this flag will be ignored for D3D12 interface.*/ + uint32_t reserved :12; /**< in: Reserved bitfields.*/ uint32_t idrPeriod; /**< in: Specifies the IDR interval. If not set, this is made equal to gopLength in NV_ENC_CONFIG. Low latency application client can set IDR interval to NVENC_INFINITE_GOPLENGTH so that IDR frames are not inserted automatically. */ uint32_t intraRefreshPeriod; /**< in: Specifies the interval between successive intra refresh if enableIntrarefresh is set. Requires enableIntraRefresh to be set. Will be disabled if NV_ENC_CONFIG::gopLength is not set to NVENC_INFINITE_GOPLENGTH. */ @@ -1557,7 +1753,10 @@ uint32_t maxNumRefFramesInDPB; /**< in: Specifies the maximum number of references frames in the DPB.*/ uint32_t ltrNumFrames; /**< in: This parameter has different meaning in two LTR modes. In "LTR Trust" mode (ltrTrustMode = 1), encoder will mark the first ltrNumFrames base layer reference frames within each IDR interval as LTR. - In "LTR Per Picture" mode (ltrTrustMode = 0 and ltrMarkFrame = 1), ltrNumFrames specifies maximum number of LTR frames in DPB. */ + In "LTR Per Picture" mode (ltrTrustMode = 0 and ltrMarkFrame = 1), ltrNumFrames specifies maximum number of LTR frames in DPB. + These ltrNumFrames acts as a guidance to the encoder and are not necessarily honored. To achieve a right balance between the encoding + quality and keeping LTR frames in the DPB queue, the encoder can internally limit the number of LTR frames. + The number of LTR frames actually used depends upon the encoding preset being used; Faster encoding presets will use fewer LTR frames.*/ uint32_t vpsId; /**< in: Specifies the VPS id of the video parameter set */ uint32_t spsId; /**< in: Specifies the SPS id of the sequence header */ uint32_t ppsId; /**< in: Specifies the PPS id of the picture header */ @@ -1584,6 +1783,105 @@ void* reserved264; /**< in: Reserved and must be set to NULL */ } NV_ENC_CONFIG_HEVC; +#define NV_MAX_TILE_COLS_AV1 64 +#define NV_MAX_TILE_ROWS_AV1 64 + +/** + * \struct _NV_ENC_FILM_GRAIN_PARAMS_AV1 + * AV1 Film Grain Parameters structure + */ + +typedef struct _NV_ENC_FILM_GRAIN_PARAMS_AV1 +{ + uint32_t applyGrain :1; /**< in: Set to 1 to specify film grain should be added to frame */ + uint32_t chromaScalingFromLuma :1; /**< in: Set to 1 to specify the chroma scaling is inferred from luma scaling */ + uint32_t overlapFlag :1; /**< in: Set to 1 to indicate that overlap between film grain blocks should be applied*/ + uint32_t clipToRestrictedRange :1; /**< in: Set to 1 to clip values to restricted (studio) range after adding film grain */ + uint32_t grainScalingMinus8 :2; /**< in: Represents the shift - 8 applied to the values of the chroma component */ + uint32_t arCoeffLag :2; /**< in: Specifies the number of auto-regressive coefficients for luma and chroma */ + uint32_t numYPoints :4; /**< in: Specifies the number of points for the piecewise linear scaling function of the luma component */ + uint32_t numCbPoints :4; /**< in: Specifies the number of points for the piecewise linear scaling function of the cb component */ + uint32_t numCrPoints :4; /**< in: Specifies the number of points for the piecewise linear scaling function of the cr component */ + uint32_t arCoeffShiftMinus6 :2; /**< in: specifies the range of the auto-regressive coefficients */ + uint32_t grainScaleShift :2; /**< in: Specifies how much the Gaussian random numbers should be scaled down during the grain synthesi process */ + uint32_t reserved1 :8; /**< in: Reserved bits field - should be set to 0 */ + uint8_t pointYValue14; /**< in: pointYValuei: x coordinate for i-th point of luma piecewise linear scaling function. Values on a scale of 0...255 */ + uint8_t pointYScaling14; /**< in: pointYScalingi: i-th point output value of luma piecewise linear scaling function */ + uint8_t pointCbValue10; /**< in: pointCbValuei: x coordinate for i-th point of cb piecewise linear scaling function. Values on a scale of 0...255 */ + uint8_t pointCbScaling10; /**< in: pointCbScalingi: i-th point output value of cb piecewise linear scaling function */ + uint8_t pointCrValue10; /**< in: pointCrValuei: x coordinate for i-th point of cr piecewise linear scaling function. Values on a scale of 0...255 */ + uint8_t pointCrScaling10; /**< in: pointCrScalingi: i-th point output value of cr piecewise linear scaling function */ + uint8_t arCoeffsYPlus12824; /**< in: Specifies auto-regressive coefficients used for the Y plane */ + uint8_t arCoeffsCbPlus12825; /**< in: Specifies auto-regressive coefficients used for the U plane */ + uint8_t arCoeffsCrPlus12825; /**< in: Specifies auto-regressive coefficients used for the V plane */ + uint8_t reserved22; /**< in: Reserved bytes - should be set to 0 */ + uint8_t cbMult; /**< in: Represents a multiplier for the cb component used in derivation of the input index to the cb component scaling function */ + uint8_t cbLumaMult; /**< in: represents a multiplier for the average luma component used in derivation of the input index to the cb component scaling function. */ + uint16_t cbOffset; /**< in: Represents an offset used in derivation of the input index to the cb component scaling function */ + uint8_t crMult; /**< in: Represents a multiplier for the cr component used in derivation of the input index to the cr component scaling function */ + uint8_t crLumaMult; /**< in: represents a multiplier for the average luma component used in derivation of the input index to the cr component scaling function. */ + uint16_t crOffset; /**< in: Represents an offset used in derivation of the input index to the cr component scaling function */ +} NV_ENC_FILM_GRAIN_PARAMS_AV1; + +/** +* \struct _NV_ENC_CONFIG_AV1 +* AV1 encoder configuration parameters to be set during initialization. +*/ +typedef struct _NV_ENC_CONFIG_AV1 +{ + uint32_t level; /**< in: Specifies the level of the encoded bitstream.*/ + uint32_t tier; /**< in: Specifies the level tier of the encoded bitstream.*/ + NV_ENC_AV1_PART_SIZE minPartSize; /**< in: Specifies the minimum size of luma coding block partition.*/ + NV_ENC_AV1_PART_SIZE maxPartSize; /**< in: Specifies the maximum size of luma coding block partition.*/ + uint32_t outputAnnexBFormat : 1; /**< in: Set 1 to use Annex B format for bitstream output.*/ + uint32_t enableTimingInfo : 1; /**< in: Set 1 to write Timing Info into sequence/frame headers */ + uint32_t enableDecoderModelInfo : 1; /**< in: Set 1 to write Decoder Model Info into sequence/frame headers */ + uint32_t enableFrameIdNumbers : 1; /**< in: Set 1 to write Frame id numbers in bitstream */ + uint32_t disableSeqHdr : 1; /**< in: Set 1 to disable Sequence Header signaling in the bitstream. */ + uint32_t repeatSeqHdr : 1; /**< in: Set 1 to output Sequence Header for every Key frame.*/ + uint32_t enableIntraRefresh : 1; /**< in: Set 1 to enable gradual decoder refresh or intra refresh. If the GOP structure uses B frames this will be ignored */ + uint32_t chromaFormatIDC : 2; /**< in: Specifies the chroma format. Should be set to 1 for yuv420 input (yuv444 input currently not supported).*/ + uint32_t enableBitstreamPadding : 1; /**< in: Set 1 to enable bitstream padding. */ + uint32_t enableCustomTileConfig : 1; /**< in: Set 1 to enable custom tile configuration: numTileColumns and numTileRows must have non zero values and tileWidths and tileHeights must point to a valid address */ + uint32_t enableFilmGrainParams : 1; /**< in: Set 1 to enable custom film grain parameters: filmGrainParams must point to a valid address */ + uint32_t inputPixelBitDepthMinus8 : 3; /**< in: Specifies pixel bit depth minus 8 of video input. Should be set to 0 for 8 bit input, 2 for 10 bit input.*/ + uint32_t pixelBitDepthMinus8 : 3; /**< in: Specifies pixel bit depth minus 8 of encoded video. Should be set to 0 for 8 bit, 2 for 10 bit. + HW will do the bitdepth conversion internally from inputPixelBitDepthMinus8 -> pixelBitDepthMinus8 if bit dpeths differ + Support for 8 bit input to 10 bit encode conversion only */ + uint32_t reserved : 14; /**< in: Reserved bitfields.*/ + uint32_t idrPeriod; /**< in: Specifies the IDR/Key frame interval. If not set, this is made equal to gopLength in NV_ENC_CONFIG.Low latency application client can set IDR interval to NVENC_INFINITE_GOPLENGTH so that IDR frames are not inserted automatically. */ + uint32_t intraRefreshPeriod; /**< in: Specifies the interval between successive intra refresh if enableIntrarefresh is set. Requires enableIntraRefresh to be set. + Will be disabled if NV_ENC_CONFIG::gopLength is not set to NVENC_INFINITE_GOPLENGTH. */ + uint32_t intraRefreshCnt; /**< in: Specifies the length of intra refresh in number of frames for periodic intra refresh. This value should be smaller than intraRefreshPeriod */ + uint32_t maxNumRefFramesInDPB; /**< in: Specifies the maximum number of references frames in the DPB.*/ + uint32_t numTileColumns; /**< in: This parameter in conjunction with the flag enableCustomTileConfig and the array tileWidths specifies the way in which the picture is divided into tile columns. + When enableCustomTileConfig == 0, the picture will be uniformly divided into numTileColumns tile columns. If numTileColumns is not a power of 2, + it will be rounded down to the next power of 2 value. If numTileColumns == 0, the picture will be coded with the smallest number of vertical tiles as allowed by standard. + When enableCustomTileConfig == 1, numTileColumns must be > 0 and <= NV_MAX_TILE_COLS_AV1 and tileWidths must point to a valid array of numTileColumns entries. + Entry i specifies the width in 64x64 CTU unit of tile colum i. The sum of all the entries should be equal to the picture width in 64x64 CTU units. */ + uint32_t numTileRows; /**< in: This parameter in conjunction with the flag enableCustomTileConfig and the array tileHeights specifies the way in which the picture is divided into tiles rows + When enableCustomTileConfig == 0, the picture will be uniformly divided into numTileRows tile rows. If numTileRows is not a power of 2, + it will be rounded down to the next power of 2 value. If numTileRows == 0, the picture will be coded with the smallest number of horizontal tiles as allowed by standard. + When enableCustomTileConfig == 1, numTileRows must be > 0 and <= NV_MAX_TILE_ROWS_AV1 and tileHeights must point to a valid array of numTileRows entries. + Entry i specifies the height in 64x64 CTU unit of tile row i. The sum of all the entries should be equal to the picture hieght in 64x64 CTU units. */ + uint32_t *tileWidths; /**< in: If enableCustomTileConfig == 1, tileWidthsi specifies the width of tile column i in 64x64 CTU unit, with 0 <= i <= numTileColumns -1. */ + uint32_t *tileHeights; /**< in: If enableCustomTileConfig == 1, tileHeightsi specifies the height of tile row i in 64x64 CTU unit, with 0 <= i <= numTileRows -1. */ + uint32_t maxTemporalLayersMinus1; /**< in: Specifies the max temporal layer used for hierarchical coding. */ + NV_ENC_VUI_COLOR_PRIMARIES colorPrimaries; /**< in: as defined in section of ISO/IEC 23091-4/ITU-T H.273 */ + NV_ENC_VUI_TRANSFER_CHARACTERISTIC transferCharacteristics; /**< in: as defined in section of ISO/IEC 23091-4/ITU-T H.273 */ + NV_ENC_VUI_MATRIX_COEFFS matrixCoefficients; /**< in: as defined in section of ISO/IEC 23091-4/ITU-T H.273 */ + uint32_t colorRange; /**< in: 0: studio swing representation - 1: full swing representation */ + uint32_t chromaSamplePosition; /**< in: 0: unknown + 1: Horizontally collocated with luma (0,0) sample, between two vertical samples + 2: Co-located with luma (0,0) sample */ + NV_ENC_BFRAME_REF_MODE useBFramesAsRef; /**< in: Specifies the B-Frame as reference mode. Check support for useBFramesAsRef mode using ::NV_ENC_CAPS_SUPPORT_BFRAME_REF_MODE caps.*/ + NV_ENC_FILM_GRAIN_PARAMS_AV1 *filmGrainParams; /**< in: If enableFilmGrainParams == 1, filmGrainParams must point to a valid NV_ENC_FILM_GRAIN_PARAMS_AV1 structure */ + NV_ENC_NUM_REF_FRAMES numFwdRefs; /**< in: Specifies max number of forward reference frame used for prediction of a frame. It must be in range 1-4 (Last, Last2, last3 and Golden). It's a suggestive value not necessarily be honored always. */ + NV_ENC_NUM_REF_FRAMES numBwdRefs; /**< in: Specifies max number of L1 list reference frame used for prediction of a frame. It must be in range 1-3 (Backward, Altref2, Altref). It's a suggestive value not necessarily be honored always. */ + uint32_t reserved1235; /**< in: Reserved and must be set to 0.*/ + void* reserved262; /**< in: Reserved and must be set to NULL */ +} NV_ENC_CONFIG_AV1; + /** * \struct _NV_ENC_CONFIG_H264_MEONLY * H264 encoder configuration parameters for ME only Mode @@ -1622,6 +1920,7 @@ { NV_ENC_CONFIG_H264 h264Config; /**< in: Specifies the H.264-specific encoder configuration. */ NV_ENC_CONFIG_HEVC hevcConfig; /**< in: Specifies the HEVC-specific encoder configuration. */ + NV_ENC_CONFIG_AV1 av1Config; /**< in: Specifies the AV1-specific encoder configuration. */ NV_ENC_CONFIG_H264_MEONLY h264MeOnlyConfig; /**< in: Specifies the H.264-specific ME only encoder configuration. */ NV_ENC_CONFIG_HEVC_MEONLY hevcMeOnlyConfig; /**< in: Specifies the HEVC-specific ME only encoder configuration. */ uint32_t reserved320; /**< in: Reserved and must be set to 0 */ @@ -1650,7 +1949,7 @@ } NV_ENC_CONFIG; /** macro for constructing the version field of ::_NV_ENC_CONFIG */ -#define NV_ENC_CONFIG_VER (NVENCAPI_STRUCT_VERSION(7) | ( 1u<<31 )) +#define NV_ENC_CONFIG_VER (NVENCAPI_STRUCT_VERSION(8) | ( 1<<31 )) /** * Tuning information of NVENC encoding (TuningInfo is not applicable to H264 and HEVC MEOnly mode). @@ -1684,8 +1983,8 @@ uint32_t enablePTD; /**< in: Set this to 1 to enable the Picture Type Decision is be taken by the NvEncodeAPI interface. */ uint32_t reportSliceOffsets :1; /**< in: Set this to 1 to enable reporting slice offsets in ::_NV_ENC_LOCK_BITSTREAM. NV_ENC_INITIALIZE_PARAMS::enableEncodeAsync must be set to 0 to use this feature. Client must set this to 0 if NV_ENC_CONFIG_H264::sliceMode is 1 on Kepler GPUs */ uint32_t enableSubFrameWrite :1; /**< in: Set this to 1 to write out available bitstream to memory at subframe intervals. - If enableSubFrameWrite = 1, then the hardware encoder returns data as soon as a slice has completed encoding. - This results in better encoding latency, but the downside is that the application has to keep polling via a call to nvEncLockBitstream API continuously to see if any encoded slice data is available. + If enableSubFrameWrite = 1, then the hardware encoder returns data as soon as a slice (H264/HEVC) or tile (AV1) has completed encoding. + This results in better encoding latency, but the downside is that the application has to keep polling via a call to nvEncLockBitstream API continuously to see if any encoded slice/tile data is available. Use this mode if you feel that the marginal reduction in latency from sub-frame encoding is worth the increase in complexity due to CPU-based polling. */ uint32_t enableExternalMEHints :1; /**< in: Set to 1 to enable external ME hints for the current frame. For NV_ENC_INITIALIZE_PARAMS::enablePTD=1 with B frames, programming L1 hints is optional for B frames since Client doesn't know internal GOP structure. NV_ENC_PIC_PARAMS::meHintRefPicDist should preferably be set with enablePTD=1. */ @@ -1703,17 +2002,17 @@ Client should allocate output buffers according to this dimension for dynamic resolution change. If set to 0, Encoder will not allow dynamic resolution change. */ uint32_t maxEncodeHeight; /**< in: Maximum encode height to be allowed for current Encode session. Client should allocate output buffers according to this dimension for dynamic resolution change. If set to 0, Encode will not allow dynamic resolution change. */ - NVENC_EXTERNAL_ME_HINT_COUNTS_PER_BLOCKTYPE maxMEHintCountsPerBlock2; /**< in: If Client wants to pass external motion vectors in NV_ENC_PIC_PARAMS::meExternalHints buffer it must specify the maximum number of hint candidates per block per direction for the encode session. + NVENC_EXTERNAL_ME_HINT_COUNTS_PER_BLOCKTYPE maxMEHintCountsPerBlock2; /**< in: If Client wants to pass external motion vectors in NV_ENC_PIC_PARAMS::meExternalHints buffer it must specify the maximum number of hint candidates per block per direction for the encode session. The NV_ENC_INITIALIZE_PARAMS::maxMEHintCountsPerBlock0 is for L0 predictors and NV_ENC_INITIALIZE_PARAMS::maxMEHintCountsPerBlock1 is for L1 predictors. This client must also set NV_ENC_INITIALIZE_PARAMS::enableExternalMEHints to 1. */ NV_ENC_TUNING_INFO tuningInfo; /**< in: Tuning Info of NVENC encoding(TuningInfo is not applicable to H264 and HEVC meonly mode). */ - NV_ENC_BUFFER_FORMAT bufferFormat; /**< in: Specifies input buffer format. Client should set input buffer format only when D3D12 interface type is used. */ - uint32_t reserved287; /**< in: Reserved and must be set to 0 */ + NV_ENC_BUFFER_FORMAT bufferFormat; /**< in: Input buffer format. Used only when DX12 interface type is used */ + uint32_t reserved 287; /**< in: Reserved and must be set to 0 */ void* reserved264; /**< in: Reserved and must be set to NULL */ } NV_ENC_INITIALIZE_PARAMS; /** macro for constructing the version field of ::_NV_ENC_INITIALIZE_PARAMS */ -#define NV_ENC_INITIALIZE_PARAMS_VER (NVENCAPI_STRUCT_VERSION(5) | ( 1u<<31 )) +#define NV_ENC_INITIALIZE_PARAMS_VER (NVENCAPI_STRUCT_VERSION(5) | ( 1<<31 )) /** @@ -1747,7 +2046,7 @@ }NV_ENC_RECONFIGURE_PARAMS; /** macro for constructing the version field of ::_NV_ENC_RECONFIGURE_PARAMS */ -#define NV_ENC_RECONFIGURE_PARAMS_VER (NVENCAPI_STRUCT_VERSION(1) | ( 1u<<31 )) +#define NV_ENC_RECONFIGURE_PARAMS_VER (NVENCAPI_STRUCT_VERSION(1) | ( 1<<31 )) /** * \struct _NV_ENC_PRESET_CONFIG @@ -1762,7 +2061,7 @@ }NV_ENC_PRESET_CONFIG; /** macro for constructing the version field of ::_NV_ENC_PRESET_CONFIG */ -#define NV_ENC_PRESET_CONFIG_VER (NVENCAPI_STRUCT_VERSION(4) | ( 1u<<31 )) +#define NV_ENC_PRESET_CONFIG_VER (NVENCAPI_STRUCT_VERSION(4) | ( 1<<31 )) /** @@ -1847,7 +2146,8 @@ uint32_t *forceIntraSliceIdx; /**< in: Slice indices to be forced to intra in the current picture. Each slice index should be <= num_slices_in_picture -1. Index starts from 0 for first slice. The number of entries in this array should be equal to forceIntraSliceCount */ NV_ENC_PIC_PARAMS_H264_EXT h264ExtPicParams; /**< in: Specifies the H264 extension config parameters using this config. */ - uint32_t reserved 210; /**< in: Reserved and must be set to 0. */ + NV_ENC_TIME_CODE timeCode; /**< in: Specifies the clock timestamp sets used in picture timing SEI. Applicable only when NV_ENC_CONFIG_H264::enableTimeCode is set to 1. */ + uint32_t reserved 203; /**< in: Reserved and must be set to 0. */ void* reserved261; /**< in: Reserved and must be set to NULL. */ } NV_ENC_PIC_PARAMS_H264; @@ -1890,10 +2190,60 @@ uint32_t seiPayloadArrayCnt; /**< in: Specifies the number of elements allocated in seiPayloadArray array. */ uint32_t reserved; /**< in: Reserved and must be set to 0. */ NV_ENC_SEI_PAYLOAD* seiPayloadArray; /**< in: Array of SEI payloads which will be inserted for this frame. */ - uint32_t reserved2 244; /**< in: Reserved and must be set to 0. */ + NV_ENC_TIME_CODE timeCode; /**< in: Specifies the clock timestamp sets used in time code SEI. Applicable only when NV_ENC_CONFIG_HEVC::enableTimeCodeSEI is set to 1. */ + uint32_t reserved2 237; /**< in: Reserved and must be set to 0. */ void* reserved361; /**< in: Reserved and must be set to NULL. */ } NV_ENC_PIC_PARAMS_HEVC; +#define NV_ENC_AV1_OBU_PAYLOAD NV_ENC_SEI_PAYLOAD + +/** +* \struct _NV_ENC_PIC_PARAMS_AV1 +* AV1 specific enc pic params. sent on a per frame basis. +*/ +typedef struct _NV_ENC_PIC_PARAMS_AV1 +{ + uint32_t displayPOCSyntax; /**< in: Specifies the display POC syntax This is required to be set if client is handling the picture type decision. */ + uint32_t refPicFlag; /**< in: Set to 1 for a reference picture. This is ignored if NV_ENC_INITIALIZE_PARAMS::enablePTD is set to 1. */ + uint32_t temporalId; /**< in: Specifies the temporal id of the picture */ + uint32_t forceIntraRefreshWithFrameCnt; /**< in: Forces an intra refresh with duration equal to intraRefreshFrameCnt. + forceIntraRefreshWithFrameCnt cannot be used if B frames are used in the GOP structure specified */ + uint32_t goldenFrameFlag : 1; /**< in: Encode frame as Golden Frame. This is ignored if NV_ENC_INITIALIZE_PARAMS::enablePTD is set to 1. */ + uint32_t arfFrameFlag : 1; /**< in: Encode frame as Alternate Reference Frame. This is ignored if NV_ENC_INITIALIZE_PARAMS::enablePTD is set to 1. */ + uint32_t arf2FrameFlag : 1; /**< in: Encode frame as Alternate Reference 2 Frame. This is ignored if NV_ENC_INITIALIZE_PARAMS::enablePTD is set to 1. */ + uint32_t bwdFrameFlag : 1; /**< in: Encode frame as Backward Reference Frame. This is ignored if NV_ENC_INITIALIZE_PARAMS::enablePTD is set to 1. */ + uint32_t overlayFrameFlag : 1; /**< in: Encode frame as overlay frame. A previously encoded frame with the same displayPOCSyntax value should be present in reference frame buffer. + This is ignored if NV_ENC_INITIALIZE_PARAMS::enablePTD is set to 1. */ + uint32_t showExistingFrameFlag : 1; /**< in: When ovelayFrameFlag is set to 1, this flag controls the value of the show_existing_frame syntax element associated with the overlay frame. + This flag is added to the interface as a placeholder. Its value is ignored for now and always assumed to be set to 1. + This is ignored if NV_ENC_INITIALIZE_PARAMS::enablePTD is set to 1. */ + uint32_t errorResilientModeFlag : 1; /**< in: encode frame independently from previously encoded frames */ + + uint32_t tileConfigUpdate : 1; /**< in: Set to 1 if client wants to overwrite the default tile configuration with the tile parameters specified below + When forceIntraRefreshWithFrameCnt is set it will have priority over tileConfigUpdate setting */ + uint32_t enableCustomTileConfig : 1; /**< in: Set 1 to enable custom tile configuration: numTileColumns and numTileRows must have non zero values and tileWidths and tileHeights must point to a valid address */ + uint32_t filmGrainParamsUpdate : 1; /**< in: Set to 1 if client wants to update previous film grain parameters: filmGrainParams must point to a valid address and encoder must have been configured with film grain enabled */ + uint32_t reservedBitFields : 22; /**< in: Reserved bitfields and must be set to 0 */ + uint32_t numTileColumns; /**< in: This parameter in conjunction with the flag enableCustomTileConfig and the array tileWidths specifies the way in which the picture is divided into tile columns. + When enableCustomTileConfig == 0, the picture will be uniformly divided into numTileColumns tile columns. If numTileColumns is not a power of 2, + it will be rounded down to the next power of 2 value. If numTileColumns == 0, the picture will be coded with the smallest number of vertical tiles as allowed by standard. + When enableCustomTileConfig == 1, numTileColumns must be > 0 and <= NV_MAX_TILE_COLS_AV1 and tileWidths must point to a valid array of numTileColumns entries. + Entry i specifies the width in 64x64 CTU unit of tile colum i. The sum of all the entries should be equal to the picture width in 64x64 CTU units. */ + uint32_t numTileRows; /**< in: This parameter in conjunction with the flag enableCustomTileConfig and the array tileHeights specifies the way in which the picture is divided into tiles rows + When enableCustomTileConfig == 0, the picture will be uniformly divided into numTileRows tile rows. If numTileRows is not a power of 2, + it will be rounded down to the next power of 2 value. If numTileRows == 0, the picture will be coded with the smallest number of horizontal tiles as allowed by standard. + When enableCustomTileConfig == 1, numTileRows must be > 0 and <= NV_MAX_TILE_ROWS_AV1 and tileHeights must point to a valid array of numTileRows entries. + Entry i specifies the height in 64x64 CTU unit of tile row i. The sum of all the entries should be equal to the picture hieght in 64x64 CTU units. */ + uint32_t *tileWidths; /**< in: If enableCustomTileConfig == 1, tileWidthsi specifies the width of tile column i in 64x64 CTU unit, with 0 <= i <= numTileColumns -1. */ + uint32_t *tileHeights; /**< in: If enableCustomTileConfig == 1, tileHeightsi specifies the height of tile row i in 64x64 CTU unit, with 0 <= i <= numTileRows -1. */ + uint32_t obuPayloadArrayCnt; /**< in: Specifies the number of elements allocated in obuPayloadArray array. */ + uint32_t reserved; /**< in: Reserved and must be set to 0. */ + NV_ENC_AV1_OBU_PAYLOAD* obuPayloadArray; /**< in: Array of OBU payloads which will be inserted for this frame. */ + NV_ENC_FILM_GRAIN_PARAMS_AV1 *filmGrainParams; /**< in: If filmGrainParamsUpdate == 1, filmGrainParams must point to a valid NV_ENC_FILM_GRAIN_PARAMS_AV1 structure */ + uint32_t reserved2247; /**< in: Reserved and must be set to 0. */ + void* reserved361; /**< in: Reserved and must be set to NULL. */ +} NV_ENC_PIC_PARAMS_AV1; + /** * Codec specific per-picture encoding parameters. */ @@ -1901,9 +2251,11 @@ { NV_ENC_PIC_PARAMS_H264 h264PicParams; /**< in: H264 encode picture params. */ NV_ENC_PIC_PARAMS_HEVC hevcPicParams; /**< in: HEVC encode picture params. */ + NV_ENC_PIC_PARAMS_AV1 av1PicParams; /**< in: AV1 encode picture params. */ uint32_t reserved256; /**< in: Reserved and must be set to 0. */ } NV_ENC_CODEC_PIC_PARAMS; + /** * \struct _NV_ENC_PIC_PARAMS * Encoding parameters that need to be sent on a per frame basis. @@ -1936,28 +2288,33 @@ NV_ENC_CODEC_PIC_PARAMS codecPicParams; /**< in: Specifies the codec specific per-picture encoding parameters. */ NVENC_EXTERNAL_ME_HINT_COUNTS_PER_BLOCKTYPE meHintCountsPerBlock2; /**< in: For H264 and Hevc, specifies the number of hint candidates per block per direction for the current frame. meHintCountsPerBlock0 is for L0 predictors and meHintCountsPerBlock1 is for L1 predictors. The candidate count in NV_ENC_PIC_PARAMS::meHintCountsPerBlocklx must never exceed NV_ENC_INITIALIZE_PARAMS::maxMEHintCountsPerBlocklx provided during encoder initialization. */ - NVENC_EXTERNAL_ME_HINT* meExternalHints; /**< in: For H264 and Hevc, Specifies the pointer to ME external hints for the current frame. The size of ME hint buffer should be equal to number of macroblocks * the total number of candidates per macroblock. + NVENC_EXTERNAL_ME_HINT *meExternalHints; /**< in: For H264 and Hevc, Specifies the pointer to ME external hints for the current frame. The size of ME hint buffer should be equal to number of macroblocks * the total number of candidates per macroblock. The total number of candidates per MB per direction = 1*meHintCountsPerBlockLx.numCandsPerBlk16x16 + 2*meHintCountsPerBlockLx.numCandsPerBlk16x8 + 2*meHintCountsPerBlockLx.numCandsPerBlk8x8 + 4*meHintCountsPerBlockLx.numCandsPerBlk8x8. For frames using bidirectional ME , the total number of candidates for single macroblock is sum of total number of candidates per MB for each direction (L0 and L1) */ uint32_t reserved16; /**< in: Reserved and must be set to 0 */ void* reserved22; /**< in: Reserved and must be set to NULL */ - int8_t *qpDeltaMap; /**< in: Specifies the pointer to signed byte array containing value per MB for H264 and per CTB for HEVC in raster scan order for the current picture, which will be interpreted depending on NV_ENC_RC_PARAMS::qpMapMode. - If NV_ENC_RC_PARAMS::qpMapMode is NV_ENC_QP_MAP_DELTA, qpDeltaMap specifies QP modifier per MB for H264 and per CTB for HEVC. This QP modifier will be applied on top of the QP chosen by rate control. + int8_t *qpDeltaMap; /**< in: Specifies the pointer to signed byte array containing value per MB for H264, per CTB for HEVC and per SB for AV1 in raster scan order for the current picture, which will be interpreted depending on NV_ENC_RC_PARAMS::qpMapMode. + If NV_ENC_RC_PARAMS::qpMapMode is NV_ENC_QP_MAP_DELTA, qpDeltaMap specifies QP modifier per MB for H264, per CTB for HEVC and per SB for AV1. This QP modifier will be applied on top of the QP chosen by rate control. If NV_ENC_RC_PARAMS::qpMapMode is NV_ENC_QP_MAP_EMPHASIS, qpDeltaMap specifies Emphasis Level Map per MB for H264. This level value along with QP chosen by rate control is used to compute the QP modifier, which in turn is applied on top of QP chosen by rate control. If NV_ENC_RC_PARAMS::qpMapMode is NV_ENC_QP_MAP_DISABLED, value in qpDeltaMap will be ignored.*/ - uint32_t qpDeltaMapSize; /**< in: Specifies the size in bytes of qpDeltaMap surface allocated by client and pointed to by NV_ENC_PIC_PARAMS::qpDeltaMap. Surface (array) should be picWidthInMbs * picHeightInMbs for H264 and picWidthInCtbs * picHeightInCtbs for HEVC */ + uint32_t qpDeltaMapSize; /**< in: Specifies the size in bytes of qpDeltaMap surface allocated by client and pointed to by NV_ENC_PIC_PARAMS::qpDeltaMap. Surface (array) should be picWidthInMbs * picHeightInMbs for H264, picWidthInCtbs * picHeightInCtbs for HEVC and + picWidthInSbs * picHeightInSbs for AV1 */ uint32_t reservedBitFields; /**< in: Reserved bitfields and must be set to 0 */ uint16_t meHintRefPicDist2; /**< in: Specifies temporal distance for reference picture (NVENC_EXTERNAL_ME_HINT::refidx = 0) used during external ME with NV_ENC_INITALIZE_PARAMS::enablePTD = 1 . meHintRefPicDist0 is for L0 hints and meHintRefPicDist1 is for L1 hints. If not set, will internally infer distance of 1. Ignored for NV_ENC_INITALIZE_PARAMS::enablePTD = 0 */ NV_ENC_INPUT_PTR alphaBuffer; /**< in: Specifies the input alpha buffer pointer. Client must use a pointer obtained from ::NvEncCreateInputBuffer() or ::NvEncMapInputResource() APIs. Applicable only when encoding hevc with alpha layer is enabled. */ - uint32_t reserved3286; /**< in: Reserved and must be set to 0 */ - void* reserved459; /**< in: Reserved and must be set to NULL */ + NVENC_EXTERNAL_ME_SB_HINT *meExternalSbHints; /**< in: For AV1,Specifies the pointer to ME external SB hints for the current frame. The size of ME hint buffer should be equal to meSbHintsCount. */ + uint32_t meSbHintsCount; /**< in: For AV1, specifies the total number of external ME SB hint candidates for the frame + NV_ENC_PIC_PARAMS::meSbHintsCount must never exceed the total number of SBs in frame * the max number of candidates per SB provided during encoder initialization. + The max number of candidates per SB is maxMeHintCountsPerBlock0.numCandsPerSb + maxMeHintCountsPerBlock1.numCandsPerSb */ + uint32_t reserved3285; /**< in: Reserved and must be set to 0 */ + void* reserved458; /**< in: Reserved and must be set to NULL */ } NV_ENC_PIC_PARAMS; /** Macro for constructing the version field of ::_NV_ENC_PIC_PARAMS */ -#define NV_ENC_PIC_PARAMS_VER (NVENCAPI_STRUCT_VERSION(4) | ( 1u<<31 )) +#define NV_ENC_PIC_PARAMS_VER (NVENCAPI_STRUCT_VERSION(6) | ( 1<<31 )) /** @@ -2010,12 +2367,13 @@ uint32_t getRCStats :1; /**< in: If this flag is set then lockBitstream call will add additional intra-inter MB count and average MVX, MVY */ uint32_t reservedBitFields :29; /**< in: Reserved bit fields and must be set to 0 */ void* outputBitstream; /**< in: Pointer to the bitstream buffer being locked. */ - uint32_t* sliceOffsets; /**< in, out: Array which receives the slice offsets. This is not supported if NV_ENC_CONFIG_H264::sliceMode is 1 on Kepler GPUs. Array size must be equal to size of frame in MBs. */ + uint32_t* sliceOffsets; /**< in, out: Array which receives the slice (H264/HEVC) or tile (AV1) offsets. This is not supported if NV_ENC_CONFIG_H264::sliceMode is 1 on Kepler GPUs. Array size must be equal to size of frame in MBs. */ uint32_t frameIdx; /**< out: Frame no. for which the bitstream is being retrieved. */ uint32_t hwEncodeStatus; /**< out: The NvEncodeAPI interface status for the locked picture. */ - uint32_t numSlices; /**< out: Number of slices in the encoded picture. Will be reported only if NV_ENC_INITIALIZE_PARAMS::reportSliceOffsets set to 1. */ + uint32_t numSlices; /**< out: Number of slices (H264/HEVC) or tiles (AV1) in the encoded picture. Will be reported only if NV_ENC_INITIALIZE_PARAMS::reportSliceOffsets set to 1. */ uint32_t bitstreamSizeInBytes; /**< out: Actual number of bytes generated and copied to the memory pointed by bitstreamBufferPtr. - When HEVC alpha layer encoding is enabled, this field reports the total encoded size in bytes i.e it is the encoded size of the base plus the alpha layer. */ + When HEVC alpha layer encoding is enabled, this field reports the total encoded size in bytes i.e it is the encoded size of the base plus the alpha layer. + For AV1 when enablePTD is set, this field reports the total encoded size in bytes of all the encoded frames packed into the current output surface i.e. show frame plus all preceding no-show frames */ uint64_t outputTimeStamp; /**< out: Presentation timestamp associated with the encoded output. */ uint64_t outputDuration; /**< out: Presentation duration associates with the encoded output. */ void* bitstreamBufferPtr; /**< out: Pointer to the generated output bitstream. @@ -2028,9 +2386,9 @@ uint32_t ltrFrameIdx; /**< out: Frame index associated with this LTR frame. */ uint32_t ltrFrameBitmap; /**< out: Bitmap of LTR frames indices which were used for encoding this frame. Value of 0 if no LTR frames were used. */ uint32_t temporalId; /**< out: TemporalId value of the frame when using temporalSVC encoding */ - uint32_t reserved12; /**< in: Reserved and must be set to 0 */ - uint32_t intraMBCount; /**< out: For H264, Number of Intra MBs in the encoded frame. For HEVC, Number of Intra CTBs in the encoded frame. Supported only if _NV_ENC_LOCK_BITSTREAM::getRCStats set to 1. */ - uint32_t interMBCount; /**< out: For H264, Number of Inter MBs in the encoded frame, includes skip MBs. For HEVC, Number of Inter CTBs in the encoded frame. Supported only if _NV_ENC_LOCK_BITSTREAM::getRCStats set to 1. */ + uint32_t reserved12; /**< in: Reserved and must be set to 0 */ + uint32_t intraMBCount; /**< out: For H264, Number of Intra MBs in the encoded frame. For HEVC, Number of Intra CTBs in the encoded frame. For AV1, Number of Intra SBs in the encoded show frame. Supported only if _NV_ENC_LOCK_BITSTREAM::getRCStats set to 1. */ + uint32_t interMBCount; /**< out: For H264, Number of Inter MBs in the encoded frame, includes skip MBs. For HEVC, Number of Inter CTBs in the encoded frame. For AV1, Number of Inter SBs in the encoded show frame. Supported only if _NV_ENC_LOCK_BITSTREAM::getRCStats set to 1. */ int32_t averageMVX; /**< out: Average Motion Vector in X direction for the encoded frame. Supported only if _NV_ENC_LOCK_BITSTREAM::getRCStats set to 1. */ int32_t averageMVY; /**< out: Average Motion Vector in y direction for the encoded frame. Supported only if _NV_ENC_LOCK_BITSTREAM::getRCStats set to 1. */ uint32_t alphaLayerSizeInBytes; /**< out: Number of bytes generated for the alpha layer in the encoded output. Applicable only when HEVC with alpha encoding is enabled. */ @@ -2040,7 +2398,7 @@ } NV_ENC_LOCK_BITSTREAM; /** Macro for constructing the version field of ::_NV_ENC_LOCK_BITSTREAM */ -#define NV_ENC_LOCK_BITSTREAM_VER NVENCAPI_STRUCT_VERSION(1) +#define NV_ENC_LOCK_BITSTREAM_VER NVENCAPI_STRUCT_VERSION(2) /** @@ -2094,44 +2452,59 @@ } NV_ENC_INPUT_RESOURCE_OPENGL_TEX; /** \struct NV_ENC_FENCE_POINT_D3D12 - * Fence and fence value for synchronization. - */ +* Fence and fence value for synchronization. +*/ typedef struct _NV_ENC_FENCE_POINT_D3D12 { + uint32_t version; /**< in: Struct version. Must be set to ::NV_ENC_FENCE_POINT_D3D12_VER. */ + uint32_t reserved; /**< in: Reserved and must be set to 0. */ void* pFence; /**< in: Pointer to ID3D12Fence. This fence object is used for synchronization. */ - uint64_t value; /**< in: Fence value to reach or exceed before the GPU operation or - fence value to set the fence to, after the GPU operation. */ + uint64_t waitValue; /**< in: Fence value to reach or exceed before the GPU operation. */ + uint64_t signalValue; /**< in: Fence value to set the fence to, after the GPU operation. */ + uint32_t bWait:1; /**< in: Wait on 'waitValue' if bWait is set to 1, before starting GPU operation. */ + uint32_t bSignal:1; /**< in: Signal on 'signalValue' if bSignal is set to 1, after GPU operation is complete. */ + uint32_t reservedBitField:30; /**< in: Reserved and must be set to 0. */ + uint32_t reserved17; /**< in: Reserved and must be set to 0. */ } NV_ENC_FENCE_POINT_D3D12; +#define NV_ENC_FENCE_POINT_D3D12_VER NVENCAPI_STRUCT_VERSION(1) + /** - * \struct _NV_ENC_INPUT_RESOURCE_D3D12 - * NV_ENC_PIC_PARAMS::inputBuffer and NV_ENC_PIC_PARAMS::alphaBuffer must be a pointer to a struct of this type, - * when D3D12 interface is used - */ + * \struct _NV_ENC_INPUT_RESOURCE_D3D12 + * NV_ENC_PIC_PARAMS::inputBuffer and NV_ENC_PIC_PARAMS::alphaBuffer must be a pointer to a struct of this type, + * when D3D12 interface is used + */ typedef struct _NV_ENC_INPUT_RESOURCE_D3D12 { - NV_ENC_REGISTERED_PTR pInputBuffer; /**< in: Specifies the input surface pointer. Client must use a pointer obtained from NvEncRegisterResource() in NV_ENC_REGISTER_RESOURCE::registeredResource - when registering input surface. */ - NV_ENC_FENCE_POINT_D3D12 inputFencePoint; /**< in: Specifies the input fence and corresponding fence value to do GPU wait. - This fence will be used to do GPU wait until the specified fence reaches or exceeds the specified value. */ - uint32_t reserved116; /**< in: Reserved and must be set to 0. */ - void* reserved216; /**< in: Reserved and must be set to NULL. */ + uint32_t version; /**< in: Struct version. Must be set to ::NV_ENC_INPUT_RESOURCE_D3D12_VER. */ + uint32_t reserved; /**< in: Reserved and must be set to 0. */ + NV_ENC_INPUT_PTR pInputBuffer; /**< in: Specifies the input surface pointer. Client must use a pointer obtained from NvEncMapInputResource() in NV_ENC_MAP_INPUT_RESOURCE::mappedResource + when mapping the input surface. */ + NV_ENC_FENCE_POINT_D3D12 inputFencePoint; /**< in: Specifies the fence and corresponding fence values to do GPU wait and signal. */ + uint32_t reserved116; /**< in: Reserved and must be set to 0. */ + void* reserved216; /**< in: Reserved and must be set to NULL. */ } NV_ENC_INPUT_RESOURCE_D3D12; +#define NV_ENC_INPUT_RESOURCE_D3D12_VER NVENCAPI_STRUCT_VERSION(1) + /** - * \struct _NV_ENC_OUTPUT_RESOURCE_D3D12 - * NV_ENC_PIC_PARAMS::outputBitstream and NV_ENC_LOCK_BITSTREAM::outputBitstream must be a pointer to a struct of this type, - * when D3D12 interface is used - */ + * \struct _NV_ENC_OUTPUT_RESOURCE_D3D12 + * NV_ENC_PIC_PARAMS::outputBitstream and NV_ENC_LOCK_BITSTREAM::outputBitstream must be a pointer to a struct of this type, + * when D3D12 interface is used + */ typedef struct _NV_ENC_OUTPUT_RESOURCE_D3D12 { - NV_ENC_REGISTERED_PTR pOutputBuffer; /**< in: Specifies the output buffer pointer. Client must use a pointer obtained from NvEncRegisterResource() in NV_ENC_REGISTER_RESOURCE::registeredResource - when registering output bitstream buffer */ - NV_ENC_FENCE_POINT_D3D12 outputFencePoint; /**< in: Specifies the output fence and corresponding fence value to set after GPU operation is finished.*/ - uint32_t reserved116; /**< in: Reserved and must be set to 0. */ - void* reserved216; /**< in: Reserved and must be set to NULL. */ + uint32_t version; /**< in: Struct version. Must be set to ::NV_ENC_OUTPUT_RESOURCE_D3D12_VER. */ + uint32_t reserved; /**< in: Reserved and must be set to 0. */ + NV_ENC_INPUT_PTR pOutputBuffer; /**< in: Specifies the output buffer pointer. Client must use a pointer obtained from NvEncMapInputResource() in NV_ENC_MAP_INPUT_RESOURCE::mappedResource + when mapping output bitstream buffer */ + NV_ENC_FENCE_POINT_D3D12 outputFencePoint; /**< in: Specifies the fence and corresponding fence values to do GPU wait and signal.*/ + uint32_t reserved116; /**< in: Reserved and must be set to 0. */ + void* reserved216; /**< in: Reserved and must be set to NULL. */ } NV_ENC_OUTPUT_RESOURCE_D3D12; +#define NV_ENC_OUTPUT_RESOURCE_D3D12_VER NVENCAPI_STRUCT_VERSION(1) + /** * \struct _NV_ENC_REGISTER_RESOURCE * Register a resource for future use with the Nvidia Video Encoder Interface. @@ -2163,19 +2536,19 @@ NV_ENC_REGISTERED_PTR registeredResource; /**< out: Registered resource handle. This should be used in future interactions with the Nvidia Video Encoder Interface. */ NV_ENC_BUFFER_FORMAT bufferFormat; /**< in: Buffer format of resource to be registered. */ NV_ENC_BUFFER_USAGE bufferUsage; /**< in: Usage of resource to be registered. */ - NV_ENC_FENCE_POINT_D3D12* pInputFencePoint; /**< in: Specifies the pointer to input fence and corresponding fence value to do GPU wait. + NV_ENC_FENCE_POINT_D3D12* pInputFencePoint; /**< in: Specifies the input fence and corresponding fence values to do GPU wait and signal. To be used only when NV_ENC_REGISTER_RESOURCE::resourceToRegister represents D3D12 surface and NV_ENC_BUFFER_USAGE::bufferUsage is NV_ENC_INPUT_IMAGE. - This fence will be used to do GPU wait until the specified fence reaches or exceeds the specified value. */ - NV_ENC_FENCE_POINT_D3D12* pOutputFencePoint; /**< in: Specifies the pointer to output fence and corresponding fence value to set after GPU operation is finished. - To be used only when NV_ENC_REGISTER_RESOURCE::resourceToRegister represents D3D12 surface and - NV_ENC_BUFFER_USAGE::bufferUsage is NV_ENC_INPUT_IMAGE. */ + The fence NV_ENC_FENCE_POINT_D3D12::pFence and NV_ENC_FENCE_POINT_D3D12::waitValue will be used to do GPU wait + before starting GPU operation, if NV_ENC_FENCE_POINT_D3D12::bWait is set. + The fence NV_ENC_FENCE_POINT_D3D12::pFence and NV_ENC_FENCE_POINT_D3D12::signalValue will be used to do GPU signal + when GPU operation finishes, if NV_ENC_FENCE_POINT_D3D12::bSignal is set. */ uint32_t reserved1247; /**< in: Reserved and must be set to 0. */ - void* reserved260; /**< in: Reserved and must be set to NULL. */ + void* reserved261; /**< in: Reserved and must be set to NULL. */ } NV_ENC_REGISTER_RESOURCE; /** Macro for constructing the version field of ::_NV_ENC_REGISTER_RESOURCE */ -#define NV_ENC_REGISTER_RESOURCE_VER NVENCAPI_STRUCT_VERSION(3) +#define NV_ENC_REGISTER_RESOURCE_VER NVENCAPI_STRUCT_VERSION(4) /** * \struct _NV_ENC_STAT @@ -2580,8 +2953,9 @@ /** * \brief Returns a preset config structure supported for given preset GUID. * - * The function returns a preset config structure for a given preset GUID. Before - * using this function the client must enumerate the preset GUIDs available for + * The function returns a preset config structure for a given preset GUID. + * NvEncGetEncodePresetConfig() API is not applicable to AV1. + * Before using this function the client must enumerate the preset GUIDs available for * a given codec. The preset config structure can be modified by the client depending * upon its use case and can be then used to initialize the encoder using * ::NvEncInitializeEncoder() API. The client can use this function only if it @@ -3236,6 +3610,8 @@ * * This function is used to retrieve the encoding statistics. * This API is not supported when encode device type is CUDA. + * Note that this API will be removed in future Video Codec SDK release. + * Clients should use NvEncLockBitstream() API to retrieve the encoding statistics. * * \param in encoder * Pointer to the NvEncodeAPI interface. @@ -3503,7 +3879,7 @@ * Invalidates reference frame based on the time stamp provided by the client. * The encoder marks any reference frames or any frames which have been reconstructed * using the corrupt frame as invalid for motion estimation and uses older reference - * frames for motion estimation. The encoded forces the current frame to be encoded + * frames for motion estimation. The encoder forces the current frame to be encoded * as an intra frame if no reference frames are left after invalidation process. * This is useful for low latency application for error resiliency. The client * is recommended to set NV_ENC_CONFIG_H264::maxNumRefFrames to a large value so
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/jim-nvenc-helpers.c -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/jim-nvenc-helpers.c
Changed
@@ -1,7 +1,9 @@ #include "jim-nvenc.h" #include <util/platform.h> #include <util/threading.h> +#include <util/config-file.h> #include <util/dstr.h> +#include <util/pipe.h> static void *nvenc_lib = NULL; static pthread_mutex_t init_mutex = PTHREAD_MUTEX_INITIALIZER; @@ -10,7 +12,7 @@ #define error(format, ...) blog(LOG_ERROR, "jim-nvenc " format, ##__VA_ARGS__) -bool nv_fail(obs_encoder_t *encoder, const char *format, ...) +bool nv_fail2(obs_encoder_t *encoder, void *session, const char *format, ...) { struct dstr message = {0}; struct dstr error_message = {0}; @@ -30,8 +32,8 @@ return true; } -bool nv_failed(obs_encoder_t *encoder, NVENCSTATUS err, const char *func, - const char *call) +bool nv_failed2(obs_encoder_t *encoder, void *session, NVENCSTATUS err, + const char *func, const char *call) { struct dstr error_message = {0}; @@ -63,12 +65,17 @@ break; } - error("%s: %s failed: %d (%s)", func, call, (int)err, - nv_error_name(err)); + if (session) { + error("%s: %s failed: %d (%s): %s", func, call, (int)err, + nv_error_name(err), nv.nvEncGetLastErrorString(session)); + } else { + error("%s: %s failed: %d (%s)", func, call, (int)err, + nv_error_name(err)); + } return true; } -#define NV_FAILED(e, x) nv_failed(e, x, __FUNCTION__, #x) +#define NV_FAILED(e, x) nv_failed2(e, NULL, x, __FUNCTION__, #x) bool load_nvenc_lib(void) { @@ -89,6 +96,30 @@ typedef NVENCSTATUS(NVENCAPI *NV_MAX_VER_FUNC)(uint32_t *); +uint32_t get_nvenc_ver() +{ + static NV_MAX_VER_FUNC nv_max_ver = NULL; + static bool failed = false; + + if (!nv_max_ver) { + if (failed) + return 0; + + nv_max_ver = (NV_MAX_VER_FUNC)load_nv_func( + "NvEncodeAPIGetMaxSupportedVersion"); + if (!nv_max_ver) { + failed = true; + return 0; + } + } + + uint32_t ver = 0; + if (nv_max_ver(&ver) != NV_ENC_SUCCESS) { + return 0; + } + return ver; +} + const char *nv_error_name(NVENCSTATUS err) { #define RETURN_CASE(x) \ @@ -137,9 +168,8 @@ return success; initialized = true; - NV_MAX_VER_FUNC nv_max_ver = (NV_MAX_VER_FUNC)load_nv_func( - "NvEncodeAPIGetMaxSupportedVersion"); - if (!nv_max_ver) { + uint32_t ver = get_nvenc_ver(); + if (ver == 0) { obs_encoder_set_last_error( encoder, "Missing NvEncodeAPIGetMaxSupportedVersion, check " @@ -147,14 +177,9 @@ return false; } - uint32_t ver = 0; - if (NV_FAILED(encoder, nv_max_ver(&ver))) { - return false; - } - - uint32_t cur_ver = (NVENCAPI_MAJOR_VERSION << 4) | - NVENCAPI_MINOR_VERSION; - if (cur_ver > ver) { + uint32_t supported_ver = (NVENC_COMPAT_MAJOR_VER << 4) | + NVENC_COMPAT_MINOR_VER; + if (supported_ver > ver) { obs_encoder_set_last_error( encoder, obs_module_text("NVENC.OutdatedDriver")); @@ -195,8 +220,71 @@ #ifdef ENABLE_HEVC extern struct obs_encoder_info hevc_nvenc_info; #endif +extern struct obs_encoder_info av1_nvenc_info; + +static bool av1_supported(void) +{ + char *test_exe = os_get_executable_path_ptr("obs-nvenc-test.exe"); + struct dstr caps_str = {0}; + bool av1_supported = false; + config_t *config = NULL; + + os_process_pipe_t *pp = os_process_pipe_create(test_exe, "r"); + if (!pp) { + blog(LOG_WARNING, "NVENC Failed to launch the NVENC " + "test process I guess"); + goto fail; + } + + for (;;) { + char data2048; + size_t len = + os_process_pipe_read(pp, (uint8_t *)data, sizeof(data)); + if (!len) + break; + + dstr_ncat(&caps_str, data, len); + } + + os_process_pipe_destroy(pp); + + if (dstr_is_empty(&caps_str)) { + blog(LOG_WARNING, + "NVENC Seems the NVENC test subprocess crashed. " + "Better there than here I guess. Let's just " + "skip NVENC AV1 detection then I suppose."); + goto fail; + } + + if (config_open_string(&config, caps_str.array) != 0) { + blog(LOG_WARNING, "NVENC Failed to open config string"); + goto fail; + } + + const char *error = config_get_string(config, "error", "string"); + if (error) { + blog(LOG_WARNING, "NVENC AV1 test process failed: %s", error); + goto fail; + } + + uint32_t adapter_count = (uint32_t)config_num_sections(config); + bool avc_supported = false; + bool hevc_supported = false; + + /* for now, just check AV1 support on device 0 */ + av1_supported = config_get_bool(config, "0", "supports_av1"); + +fail: + if (config) + config_close(config); + dstr_free(&caps_str); + if (test_exe) + bfree(test_exe); + + return av1_supported; +} -void jim_nvenc_load(bool h264, bool hevc) +void jim_nvenc_load(bool h264, bool hevc, bool av1) { pthread_mutex_init(&init_mutex, NULL); if (h264) @@ -205,6 +293,10 @@ if (hevc) obs_register_encoder(&hevc_nvenc_info); #endif + if (av1 && av1_supported()) + obs_register_encoder(&av1_nvenc_info); + else + blog(LOG_WARNING, "NVENC AV1 is not supported"); } void jim_nvenc_unload(void)
View file
obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/jim-nvenc-ver.h
Added
@@ -0,0 +1,7 @@ +#pragma once + +#define NVENC_COMPAT_MAJOR_VER 11 +#define NVENC_COMPAT_MINOR_VER 1 + +#define NVENC_COMPAT_VER \ + (NVENC_COMPAT_MAJOR_VER | (NVENC_COMPAT_MINOR_VER << 24))
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/jim-nvenc.c -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/jim-nvenc.c
Changed
@@ -8,12 +8,33 @@ #include <dxgi.h> #include <d3d11.h> #include <d3d11_1.h> -#ifdef ENABLE_HEVC #include <obs-hevc.h> + +/* ========================================================================= */ +/* a hack of the ages: nvenc backward compatibility */ + +#define CONFIGURED_NVENC_MAJOR 12 +#define CONFIGURED_NVENC_MINOR 0 +#define CONFIGURED_NVENC_VER \ + (CONFIGURED_NVENC_MAJOR | (CONFIGURED_NVENC_MINOR << 24)) + +/* we cannot guarantee structures haven't changed, so purposely break on + * version change to force the programmer to update or remove backward + * compatibility NVENC code. */ +#if CONFIGURED_NVENC_VER != NVENCAPI_VERSION +#error NVENC version changed, update or remove NVENC compatibility code #endif -/* TODO: Use new preset scheme */ -#pragma warning(disable : 4996) +#undef NVENCAPI_STRUCT_VERSION +#define NVENCAPI_STRUCT_VERSION(ver) \ + ((uint32_t)(enc->codec == CODEC_AV1 ? NVENCAPI_VERSION \ + : NVENC_COMPAT_VER) | \ + ((ver) << 16) | (0x7 << 28)) + +#define NV_ENC_CONFIG_COMPAT_VER (NVENCAPI_STRUCT_VERSION(7) | (1 << 31)) +#define NV_ENC_PIC_PARAMS_COMPAT_VER (NVENCAPI_STRUCT_VERSION(4) | (1 << 31)) +#define NV_ENC_LOCK_BITSTREAM_COMPAT_VER NVENCAPI_STRUCT_VERSION(1) +#define NV_ENC_REGISTER_RESOURCE_COMPAT_VER NVENCAPI_STRUCT_VERSION(3) /* ========================================================================= */ @@ -42,11 +63,30 @@ /* ------------------------------------------------------------------------- */ /* Main Implementation Structure */ +enum codec_type { + CODEC_H264, + CODEC_HEVC, + CODEC_AV1, +}; + +static const char *get_codec_name(enum codec_type type) +{ + switch (type) { + case CODEC_H264: + return "H264"; + case CODEC_HEVC: + return "HEVC"; + case CODEC_AV1: + return "AV1"; + } + + return "Unknown"; +} + struct nvenc_data { obs_encoder_t *encoder; -#ifdef ENABLE_HEVC - bool hevc; -#endif + enum codec_type codec; + GUID codec_guid; void *session; NV_ENC_INITIALIZE_PARAMS params; @@ -146,7 +186,11 @@ tex->lpVtbl->SetEvictionPriority(tex, DXGI_RESOURCE_PRIORITY_MAXIMUM); - NV_ENC_REGISTER_RESOURCE res = {NV_ENC_REGISTER_RESOURCE_VER}; + uint32_t struct_ver = enc->codec == CODEC_AV1 + ? NV_ENC_REGISTER_RESOURCE_VER + : NV_ENC_REGISTER_RESOURCE_COMPAT_VER; + + NV_ENC_REGISTER_RESOURCE res = {struct_ver}; res.resourceType = NV_ENC_INPUT_RESOURCE_TYPE_DIRECTX; res.resourceToRegister = tex; res.width = enc->cx; @@ -194,8 +238,13 @@ } #endif -static inline int nv_get_cap_internal(struct nvenc_data *enc, NV_ENC_CAPS cap, - GUID encodeGUID) +static const char *av1_nvenc_get_name(void *type_data) +{ + UNUSED_PARAMETER(type_data); + return "NVIDIA NVENC AV1"; +} + +static inline int nv_get_cap(struct nvenc_data *enc, NV_ENC_CAPS cap) { if (!enc->session) return 0; @@ -204,22 +253,10 @@ int v; param.capsToQuery = cap; - nv.nvEncGetEncodeCaps(enc->session, encodeGUID, ¶m, &v); + nv.nvEncGetEncodeCaps(enc->session, enc->codec_guid, ¶m, &v); return v; } -static inline int nv_get_cap_h264(struct nvenc_data *enc, NV_ENC_CAPS cap) -{ - return nv_get_cap_internal(enc, cap, NV_ENC_CODEC_H264_GUID); -} - -#ifdef ENABLE_HEVC -static inline int nv_get_cap_hevc(struct nvenc_data *enc, NV_ENC_CAPS cap) -{ - return nv_get_cap_internal(enc, cap, NV_ENC_CODEC_HEVC_GUID); -} -#endif - static bool nvenc_update(void *data, obs_data_t *settings) { struct nvenc_data *enc = data; @@ -318,7 +355,8 @@ NV_ENC_OPEN_ENCODE_SESSION_EX_PARAMS_VER}; params.device = enc->device; params.deviceType = NV_ENC_DEVICE_TYPE_DIRECTX; - params.apiVersion = NVENCAPI_VERSION; + params.apiVersion = enc->codec == CODEC_AV1 ? NVENCAPI_VERSION + : NVENC_COMPAT_VER; if (NV_FAILED(nv.nvEncOpenEncodeSessionEx(¶ms, &enc->session))) { return false; @@ -326,31 +364,74 @@ return true; } -static void initialize_params(NV_ENC_INITIALIZE_PARAMS *params, - const GUID *nv_encode, const GUID *nv_preset, - uint32_t width, uint32_t height, uint32_t fps_num, - uint32_t fps_den, NV_ENC_CONFIG *config) +static void initialize_params(struct nvenc_data *enc, const GUID *nv_preset, + NV_ENC_TUNING_INFO nv_tuning, uint32_t width, + uint32_t height, uint32_t fps_num, + uint32_t fps_den) { int darWidth, darHeight; av_reduce(&darWidth, &darHeight, width, height, 1024 * 1024); + NV_ENC_INITIALIZE_PARAMS *params = &enc->params; memset(params, 0, sizeof(*params)); params->version = NV_ENC_INITIALIZE_PARAMS_VER; - params->encodeGUID = *nv_encode; + params->encodeGUID = enc->codec_guid; params->presetGUID = *nv_preset; params->encodeWidth = width; params->encodeHeight = height; - params->darWidth = darWidth; - params->darHeight = darHeight; + params->darWidth = enc->codec == CODEC_AV1 ? width : darWidth; + params->darHeight = enc->codec == CODEC_AV1 ? height : darHeight; params->frameRateNum = fps_num; params->frameRateDen = fps_den; params->enableEncodeAsync = 0; params->enablePTD = 1; - params->encodeConfig = config; + params->encodeConfig = &enc->config; + params->tuningInfo = nv_tuning; } -static bool init_encoder_h264(struct nvenc_data *enc, obs_data_t *settings, - int bf, bool psycho_aq) +static inline GUID get_nv_preset2(const char *preset2) +{ + if (astrcmpi(preset2, "p1") == 0) { + return NV_ENC_PRESET_P1_GUID; + } else if (astrcmpi(preset2, "p2") == 0) { + return NV_ENC_PRESET_P2_GUID; + } else if (astrcmpi(preset2, "p3") == 0) { + return NV_ENC_PRESET_P3_GUID; + } else if (astrcmpi(preset2, "p4") == 0) { + return NV_ENC_PRESET_P4_GUID; + } else if (astrcmpi(preset2, "p6") == 0) { + return NV_ENC_PRESET_P6_GUID; + } else if (astrcmpi(preset2, "p7") == 0) { + return NV_ENC_PRESET_P7_GUID; + } else { + return NV_ENC_PRESET_P5_GUID; + } +} + +static inline NV_ENC_TUNING_INFO get_nv_tuning(const char *tuning) +{ + if (astrcmpi(tuning, "ll") == 0) { + return NV_ENC_TUNING_INFO_LOW_LATENCY; + } else if (astrcmpi(tuning, "ull") == 0) { + return NV_ENC_TUNING_INFO_ULTRA_LOW_LATENCY; + } else { + return NV_ENC_TUNING_INFO_HIGH_QUALITY; + } +} + +static inline NV_ENC_MULTI_PASS get_nv_multipass(const char *multipass) +{ + if (astrcmpi(multipass, "qres") == 0) { + return NV_ENC_TWO_PASS_QUARTER_RESOLUTION; + } else if (astrcmpi(multipass, "fullres") == 0) { + return NV_ENC_TWO_PASS_FULL_RESOLUTION; + } else { + return NV_ENC_MULTI_PASS_DISABLED; + } +} + +static bool init_encoder_base(struct nvenc_data *enc, obs_data_t *settings, + int bf, bool psycho_aq, bool *lossless) { const char *rc = obs_data_get_string(settings, "rate_control"); int bitrate = (int)obs_data_get_int(settings, "bitrate"); @@ -358,6 +439,9 @@ int cqp = (int)obs_data_get_int(settings, "cqp"); int keyint_sec = (int)obs_data_get_int(settings, "keyint_sec"); const char *preset = obs_data_get_string(settings, "preset"); + const char *preset2 = obs_data_get_string(settings, "preset2"); + const char *tuning = obs_data_get_string(settings, "tune"); + const char *multipass = obs_data_get_string(settings, "multipass"); const char *profile = obs_data_get_string(settings, "profile"); bool lookahead = obs_data_get_bool(settings, "lookahead"); bool vbr = astrcmpi(rc, "VBR") == 0; @@ -372,58 +456,117 @@ /* -------------------------- */ /* get preset */ - GUID nv_preset = NV_ENC_PRESET_DEFAULT_GUID; - bool twopass = false; - bool hp = false; - bool ll = false; - - if (astrcmpi(preset, "hq") == 0) { - nv_preset = NV_ENC_PRESET_HQ_GUID; - - } else if (astrcmpi(preset, "mq") == 0) { - nv_preset = NV_ENC_PRESET_HQ_GUID; - twopass = true; - - } else if (astrcmpi(preset, "hp") == 0) { - nv_preset = NV_ENC_PRESET_HP_GUID; - hp = true; - - } else if (astrcmpi(preset, "ll") == 0) { - nv_preset = NV_ENC_PRESET_LOW_LATENCY_DEFAULT_GUID; - ll = true; - - } else if (astrcmpi(preset, "llhq") == 0) { - nv_preset = NV_ENC_PRESET_LOW_LATENCY_HQ_GUID; - ll = true; - - } else if (astrcmpi(preset, "llhp") == 0) { - nv_preset = NV_ENC_PRESET_LOW_LATENCY_HP_GUID; - hp = true; - ll = true; + GUID nv_preset = get_nv_preset2(preset2); + NV_ENC_TUNING_INFO nv_tuning = get_nv_tuning(tuning); + NV_ENC_MULTI_PASS nv_multipass = get_nv_multipass(multipass); + + if (obs_data_has_user_value(settings, "preset") && + !obs_data_has_user_value(settings, "preset2") && + enc->codec == CODEC_H264) { + if (astrcmpi(preset, "mq") == 0) { + nv_preset = NV_ENC_PRESET_P5_GUID; + nv_tuning = NV_ENC_TUNING_INFO_HIGH_QUALITY; + nv_multipass = NV_ENC_TWO_PASS_QUARTER_RESOLUTION; + + } else if (astrcmpi(preset, "hq") == 0) { + nv_preset = NV_ENC_PRESET_P5_GUID; + nv_tuning = NV_ENC_TUNING_INFO_HIGH_QUALITY; + nv_multipass = NV_ENC_MULTI_PASS_DISABLED; + + } else if (astrcmpi(preset, "default") == 0) { + nv_preset = NV_ENC_PRESET_P3_GUID; + nv_tuning = NV_ENC_TUNING_INFO_HIGH_QUALITY; + nv_multipass = NV_ENC_MULTI_PASS_DISABLED; + + } else if (astrcmpi(preset, "hp") == 0) { + nv_preset = NV_ENC_PRESET_P1_GUID; + nv_tuning = NV_ENC_TUNING_INFO_HIGH_QUALITY; + nv_multipass = NV_ENC_MULTI_PASS_DISABLED; + + } else if (astrcmpi(preset, "ll") == 0) { + nv_preset = NV_ENC_PRESET_P3_GUID; + nv_tuning = NV_ENC_TUNING_INFO_LOW_LATENCY; + nv_multipass = NV_ENC_MULTI_PASS_DISABLED; + + } else if (astrcmpi(preset, "llhq") == 0) { + nv_preset = NV_ENC_PRESET_P4_GUID; + nv_tuning = NV_ENC_TUNING_INFO_LOW_LATENCY; + nv_multipass = NV_ENC_MULTI_PASS_DISABLED; + + } else if (astrcmpi(preset, "llhp") == 0) { + nv_preset = NV_ENC_PRESET_P2_GUID; + nv_tuning = NV_ENC_TUNING_INFO_LOW_LATENCY; + nv_multipass = NV_ENC_MULTI_PASS_DISABLED; + } + } else if (obs_data_has_user_value(settings, "preset") && + !obs_data_has_user_value(settings, "preset2") && + enc->codec == CODEC_HEVC) { + if (astrcmpi(preset, "mq") == 0) { + nv_preset = NV_ENC_PRESET_P6_GUID; + nv_tuning = NV_ENC_TUNING_INFO_HIGH_QUALITY; + nv_multipass = NV_ENC_TWO_PASS_QUARTER_RESOLUTION; + + } else if (astrcmpi(preset, "hq") == 0) { + nv_preset = NV_ENC_PRESET_P6_GUID; + nv_tuning = NV_ENC_TUNING_INFO_HIGH_QUALITY; + nv_multipass = NV_ENC_MULTI_PASS_DISABLED; + + } else if (astrcmpi(preset, "default") == 0) { + nv_preset = NV_ENC_PRESET_P5_GUID; + nv_tuning = NV_ENC_TUNING_INFO_HIGH_QUALITY; + nv_multipass = NV_ENC_MULTI_PASS_DISABLED; + + } else if (astrcmpi(preset, "hp") == 0) { + nv_preset = NV_ENC_PRESET_P1_GUID; + nv_tuning = NV_ENC_TUNING_INFO_HIGH_QUALITY; + nv_multipass = NV_ENC_MULTI_PASS_DISABLED; + + } else if (astrcmpi(preset, "ll") == 0) { + nv_preset = NV_ENC_PRESET_P3_GUID; + nv_tuning = NV_ENC_TUNING_INFO_LOW_LATENCY; + nv_multipass = NV_ENC_MULTI_PASS_DISABLED; + + } else if (astrcmpi(preset, "llhq") == 0) { + nv_preset = NV_ENC_PRESET_P4_GUID; + nv_tuning = NV_ENC_TUNING_INFO_LOW_LATENCY; + nv_multipass = NV_ENC_MULTI_PASS_DISABLED; + + } else if (astrcmpi(preset, "llhp") == 0) { + nv_preset = NV_ENC_PRESET_P2_GUID; + nv_tuning = NV_ENC_TUNING_INFO_LOW_LATENCY; + nv_multipass = NV_ENC_MULTI_PASS_DISABLED; + } } const bool rc_lossless = astrcmpi(rc, "lossless") == 0; - bool lossless = rc_lossless; + *lossless = rc_lossless; if (rc_lossless) { - lossless = nv_get_cap_h264(enc, - NV_ENC_CAPS_SUPPORT_LOSSLESS_ENCODE); - if (lossless) { - nv_preset = hp ? NV_ENC_PRESET_LOSSLESS_HP_GUID - : NV_ENC_PRESET_LOSSLESS_DEFAULT_GUID; + *lossless = + nv_get_cap(enc, NV_ENC_CAPS_SUPPORT_LOSSLESS_ENCODE); + if (*lossless) { + nv_tuning = NV_ENC_TUNING_INFO_LOSSLESS; + nv_multipass = NV_ENC_MULTI_PASS_DISABLED; } else { warn("lossless encode is not supported, ignoring"); + nv_preset = NV_ENC_PRESET_P5_GUID; + nv_tuning = NV_ENC_TUNING_INFO_HIGH_QUALITY; + nv_multipass = NV_ENC_TWO_PASS_QUARTER_RESOLUTION; } } /* -------------------------- */ /* get preset default config */ + uint32_t config_ver = enc->codec == CODEC_AV1 + ? NV_ENC_CONFIG_VER + : NV_ENC_CONFIG_COMPAT_VER; + NV_ENC_PRESET_CONFIG preset_config = {NV_ENC_PRESET_CONFIG_VER, - {NV_ENC_CONFIG_VER}}; + {config_ver}}; - err = nv.nvEncGetEncodePresetConfig(enc->session, - NV_ENC_CODEC_H264_GUID, nv_preset, - &preset_config); + err = nv.nvEncGetEncodePresetConfigEx(enc->session, enc->codec_guid, + nv_preset, nv_tuning, + &preset_config); if (nv_failed(enc->encoder, err, __FUNCTION__, "nvEncGetEncodePresetConfig")) { return false; @@ -438,57 +581,18 @@ (keyint_sec) ? keyint_sec * voi->fps_num / voi->fps_den : 250; NV_ENC_CONFIG *config = &enc->config; - NV_ENC_CONFIG_H264 *h264_config = &config->encodeCodecConfig.h264Config; - NV_ENC_CONFIG_H264_VUI_PARAMETERS *vui_params = - &h264_config->h264VUIParameters; - initialize_params(&enc->params, &NV_ENC_CODEC_H264_GUID, &nv_preset, - voi->width, voi->height, voi->fps_num, voi->fps_den, - &enc->config); + initialize_params(enc, &nv_preset, nv_tuning, voi->width, voi->height, + voi->fps_num, voi->fps_den); + config->gopLength = gop_size; config->frameIntervalP = 1 + bf; - h264_config->idrPeriod = gop_size; - - bool repeat_headers = obs_data_get_bool(settings, "repeat_headers"); - if (repeat_headers) { - h264_config->repeatSPSPPS = 1; - h264_config->disableSPSPPS = 0; - h264_config->outputAUD = 1; - } - - h264_config->sliceMode = 3; - h264_config->sliceModeData = 1; - - h264_config->useBFramesAsRef = NV_ENC_BFRAME_REF_MODE_DISABLED; - - vui_params->videoSignalTypePresentFlag = 1; - vui_params->videoFullRangeFlag = (voi->range == VIDEO_RANGE_FULL); - vui_params->colourDescriptionPresentFlag = 1; - - switch (voi->colorspace) { - case VIDEO_CS_601: - vui_params->colourPrimaries = 6; - vui_params->transferCharacteristics = 6; - vui_params->colourMatrix = 6; - break; - case VIDEO_CS_DEFAULT: - case VIDEO_CS_709: - vui_params->colourPrimaries = 1; - vui_params->transferCharacteristics = 1; - vui_params->colourMatrix = 1; - break; - case VIDEO_CS_SRGB: - vui_params->colourPrimaries = 1; - vui_params->transferCharacteristics = 13; - vui_params->colourMatrix = 1; - break; - } enc->bframes = bf; /* lookahead */ const bool use_profile_lookahead = config->rcParams.enableLookahead; - lookahead = nv_get_cap_h264(enc, NV_ENC_CAPS_SUPPORT_LOOKAHEAD) && + lookahead = nv_get_cap(enc, NV_ENC_CAPS_SUPPORT_LOOKAHEAD) && (lookahead || use_profile_lookahead); if (lookahead) { enc->rc_lookahead = use_profile_lookahead @@ -523,7 +627,7 @@ } /* psycho aq */ - if (nv_get_cap_h264(enc, NV_ENC_CAPS_SUPPORT_TEMPORAL_AQ)) { + if (nv_get_cap(enc, NV_ENC_CAPS_SUPPORT_TEMPORAL_AQ)) { config->rcParams.enableAQ = psycho_aq; config->rcParams.aqStrength = 8; config->rcParams.enableTemporalAQ = psycho_aq; @@ -535,177 +639,167 @@ /* rate control */ enc->can_change_bitrate = - nv_get_cap_h264(enc, NV_ENC_CAPS_SUPPORT_DYN_BITRATE_CHANGE) && + nv_get_cap(enc, NV_ENC_CAPS_SUPPORT_DYN_BITRATE_CHANGE) && !lookahead; - config->rcParams.rateControlMode = twopass ? NV_ENC_PARAMS_RC_VBR_HQ - : NV_ENC_PARAMS_RC_VBR; + config->rcParams.rateControlMode = NV_ENC_PARAMS_RC_VBR; if (astrcmpi(rc, "cqp") == 0 || rc_lossless) { - if (lossless) { - h264_config->qpPrimeYZeroTransformBypassFlag = 1; + if (*lossless) cqp = 0; - } + + int cqp_val = enc->codec == CODEC_AV1 ? cqp * 4 : cqp; config->rcParams.rateControlMode = NV_ENC_PARAMS_RC_CONSTQP; - config->rcParams.constQP.qpInterP = cqp; - config->rcParams.constQP.qpInterB = cqp; - config->rcParams.constQP.qpIntra = cqp; + config->rcParams.constQP.qpInterP = cqp_val; + config->rcParams.constQP.qpInterB = cqp_val; + config->rcParams.constQP.qpIntra = cqp_val; enc->can_change_bitrate = false; bitrate = 0; max_bitrate = 0; } else if (astrcmpi(rc, "vbr") != 0) { /* CBR by default */ - h264_config->outputBufferingPeriodSEI = 1; - config->rcParams.rateControlMode = - twopass ? NV_ENC_PARAMS_RC_2_PASS_QUALITY - : NV_ENC_PARAMS_RC_CBR; + config->rcParams.rateControlMode = NV_ENC_PARAMS_RC_CBR; } - h264_config->outputPictureTimingSEI = 1; config->rcParams.averageBitRate = bitrate * 1000; config->rcParams.maxBitRate = vbr ? max_bitrate * 1000 : bitrate * 1000; config->rcParams.vbvBufferSize = bitrate * 1000; - - /* -------------------------- */ - /* profile */ - - if (astrcmpi(profile, "main") == 0) { - config->profileGUID = NV_ENC_H264_PROFILE_MAIN_GUID; - } else if (astrcmpi(profile, "baseline") == 0) { - config->profileGUID = NV_ENC_H264_PROFILE_BASELINE_GUID; - } else if (!lossless) { - config->profileGUID = NV_ENC_H264_PROFILE_HIGH_GUID; - } + config->rcParams.multiPass = nv_multipass; /* -------------------------- */ /* initialize */ - if (NV_FAILED(nv.nvEncInitializeEncoder(enc->session, &enc->params))) { - return false; - } - info("settings:\n" - "\tcodec: H264\n" + "\tcodec: %s\n" "\trate_control: %s\n" "\tbitrate: %d\n" "\tcqp: %d\n" "\tkeyint: %d\n" "\tpreset: %s\n" + "\ttuning: %s\n" + "\tmultipass: %s\n" "\tprofile: %s\n" "\twidth: %d\n" "\theight: %d\n" - "\t2-pass: %s\n" "\tb-frames: %d\n" "\tlookahead: %s\n" "\tpsycho_aq: %s\n", - rc, bitrate, cqp, gop_size, preset, profile, enc->cx, enc->cy, - twopass ? "true" : "false", bf, lookahead ? "true" : "false", - psycho_aq ? "true" : "false"); + get_codec_name(enc->codec), rc, bitrate, cqp, gop_size, preset2, + tuning, multipass, profile, enc->cx, enc->cy, bf, + lookahead ? "true" : "false", psycho_aq ? "true" : "false"); return true; } -#ifdef ENABLE_HEVC -static bool init_encoder_hevc(struct nvenc_data *enc, obs_data_t *settings, +static bool init_encoder_h264(struct nvenc_data *enc, obs_data_t *settings, int bf, bool psycho_aq) { const char *rc = obs_data_get_string(settings, "rate_control"); - int bitrate = (int)obs_data_get_int(settings, "bitrate"); - int max_bitrate = (int)obs_data_get_int(settings, "max_bitrate"); - int cqp = (int)obs_data_get_int(settings, "cqp"); int keyint_sec = (int)obs_data_get_int(settings, "keyint_sec"); - const char *preset = obs_data_get_string(settings, "preset"); const char *profile = obs_data_get_string(settings, "profile"); - bool lookahead = obs_data_get_bool(settings, "lookahead"); - bool vbr = astrcmpi(rc, "VBR") == 0; - NVENCSTATUS err; - - video_t *video = obs_encoder_video(enc->encoder); - const struct video_output_info *voi = video_output_get_info(video); + bool lossless; - enc->cx = voi->width; - enc->cy = voi->height; + if (!init_encoder_base(enc, settings, bf, psycho_aq, &lossless)) { + return false; + } - /* -------------------------- */ - /* get preset */ + NV_ENC_CONFIG *config = &enc->config; + NV_ENC_CONFIG_H264 *h264_config = &config->encodeCodecConfig.h264Config; + NV_ENC_CONFIG_H264_VUI_PARAMETERS *vui_params = + &h264_config->h264VUIParameters; - GUID nv_preset = NV_ENC_PRESET_DEFAULT_GUID; - bool twopass = false; - bool hp = false; - bool ll = false; + video_t *video = obs_encoder_video(enc->encoder); + const struct video_output_info *voi = video_output_get_info(video); + uint32_t gop_size = + (keyint_sec) ? keyint_sec * voi->fps_num / voi->fps_den : 250; - if (astrcmpi(preset, "hq") == 0) { - nv_preset = NV_ENC_PRESET_HQ_GUID; + h264_config->idrPeriod = gop_size; - } else if (astrcmpi(preset, "mq") == 0) { - nv_preset = NV_ENC_PRESET_HQ_GUID; - twopass = true; + bool repeat_headers = obs_data_get_bool(settings, "repeat_headers"); + if (repeat_headers) { + h264_config->repeatSPSPPS = 1; + h264_config->disableSPSPPS = 0; + h264_config->outputAUD = 1; + } - } else if (astrcmpi(preset, "hp") == 0) { - nv_preset = NV_ENC_PRESET_HP_GUID; - hp = true; + h264_config->sliceMode = 3; + h264_config->sliceModeData = 1; - } else if (astrcmpi(preset, "ll") == 0) { - nv_preset = NV_ENC_PRESET_LOW_LATENCY_DEFAULT_GUID; - ll = true; + h264_config->useBFramesAsRef = NV_ENC_BFRAME_REF_MODE_DISABLED; - } else if (astrcmpi(preset, "llhq") == 0) { - nv_preset = NV_ENC_PRESET_LOW_LATENCY_HQ_GUID; - ll = true; + vui_params->videoSignalTypePresentFlag = 1; + vui_params->videoFullRangeFlag = (voi->range == VIDEO_RANGE_FULL); + vui_params->colourDescriptionPresentFlag = 1; - } else if (astrcmpi(preset, "llhp") == 0) { - nv_preset = NV_ENC_PRESET_LOW_LATENCY_HP_GUID; - hp = true; - ll = true; + switch (voi->colorspace) { + case VIDEO_CS_601: + vui_params->colourPrimaries = 6; + vui_params->transferCharacteristics = 6; + vui_params->colourMatrix = 6; + break; + case VIDEO_CS_DEFAULT: + case VIDEO_CS_709: + vui_params->colourPrimaries = 1; + vui_params->transferCharacteristics = 1; + vui_params->colourMatrix = 1; + break; + case VIDEO_CS_SRGB: + vui_params->colourPrimaries = 1; + vui_params->transferCharacteristics = 13; + vui_params->colourMatrix = 1; + break; } - const bool rc_lossless = astrcmpi(rc, "lossless") == 0; - bool lossless = rc_lossless; - if (rc_lossless) { - lossless = nv_get_cap_hevc(enc, - NV_ENC_CAPS_SUPPORT_LOSSLESS_ENCODE); - if (lossless) { - nv_preset = hp ? NV_ENC_PRESET_LOSSLESS_HP_GUID - : NV_ENC_PRESET_LOSSLESS_DEFAULT_GUID; - } else { - warn("lossless encode is not supported, ignoring"); - } + if (astrcmpi(rc, "lossless") == 0) { + h264_config->qpPrimeYZeroTransformBypassFlag = 1; + } else if (astrcmpi(rc, "vbr") != 0) { /* CBR */ + h264_config->outputBufferingPeriodSEI = 1; } + h264_config->outputPictureTimingSEI = 1; + /* -------------------------- */ - /* get preset default config */ + /* profile */ - NV_ENC_PRESET_CONFIG preset_config = {NV_ENC_PRESET_CONFIG_VER, - {NV_ENC_CONFIG_VER}}; + if (astrcmpi(profile, "main") == 0) { + config->profileGUID = NV_ENC_H264_PROFILE_MAIN_GUID; + } else if (astrcmpi(profile, "baseline") == 0) { + config->profileGUID = NV_ENC_H264_PROFILE_BASELINE_GUID; + } else if (!lossless) { + config->profileGUID = NV_ENC_H264_PROFILE_HIGH_GUID; + } - err = nv.nvEncGetEncodePresetConfig(enc->session, - NV_ENC_CODEC_HEVC_GUID, nv_preset, - &preset_config); - if (nv_failed(enc->encoder, err, __FUNCTION__, - "nvEncGetEncodePresetConfig")) { + if (NV_FAILED(nv.nvEncInitializeEncoder(enc->session, &enc->params))) { return false; } - /* -------------------------- */ - /* main configuration */ + return true; +} - enc->config = preset_config.presetCfg; +static bool init_encoder_hevc(struct nvenc_data *enc, obs_data_t *settings, + int bf, bool psycho_aq) +{ + const char *rc = obs_data_get_string(settings, "rate_control"); + int keyint_sec = (int)obs_data_get_int(settings, "keyint_sec"); + const char *profile = obs_data_get_string(settings, "profile"); + bool lossless; - uint32_t gop_size = - (keyint_sec) ? keyint_sec * voi->fps_num / voi->fps_den : 250; + if (!init_encoder_base(enc, settings, bf, psycho_aq, &lossless)) { + return false; + } NV_ENC_CONFIG *config = &enc->config; NV_ENC_CONFIG_HEVC *hevc_config = &config->encodeCodecConfig.hevcConfig; NV_ENC_CONFIG_HEVC_VUI_PARAMETERS *vui_params = &hevc_config->hevcVUIParameters; - initialize_params(&enc->params, &NV_ENC_CODEC_HEVC_GUID, &nv_preset, - voi->width, voi->height, voi->fps_num, voi->fps_den, - &enc->config); - config->gopLength = gop_size; - config->frameIntervalP = 1 + bf; + video_t *video = obs_encoder_video(enc->encoder); + const struct video_output_info *voi = video_output_get_info(video); + uint32_t gop_size = + (keyint_sec) ? keyint_sec * voi->fps_num / voi->fps_den : 250; + hevc_config->idrPeriod = gop_size; bool repeat_headers = obs_data_get_bool(settings, "repeat_headers"); @@ -724,8 +818,6 @@ vui_params->videoFullRangeFlag = (voi->range == VIDEO_RANGE_FULL); vui_params->colourDescriptionPresentFlag = 1; - hevc_config->pixelBitDepthMinus8 = obs_p010_tex_active() ? 2 : 0; - switch (voi->colorspace) { case VIDEO_CS_601: vui_params->colourPrimaries = 6; @@ -760,128 +852,107 @@ vui_params->chromaSampleLocationBot = 2; } - enc->bframes = bf; - - /* lookahead */ - const bool use_profile_lookahead = config->rcParams.enableLookahead; - lookahead = nv_get_cap_hevc(enc, NV_ENC_CAPS_SUPPORT_LOOKAHEAD) && - (lookahead || use_profile_lookahead); - if (lookahead) { - enc->rc_lookahead = use_profile_lookahead - ? config->rcParams.lookaheadDepth - : 8; - } + hevc_config->pixelBitDepthMinus8 = obs_p010_tex_active() ? 2 : 0; - int buf_count = max(4, config->frameIntervalP * 2 * 2); - if (lookahead) { - buf_count = max(buf_count, config->frameIntervalP + - enc->rc_lookahead + - EXTRA_BUFFERS); + if (astrcmpi(rc, "cbr") == 0) { + hevc_config->outputBufferingPeriodSEI = 1; } - buf_count = min(64, buf_count); - enc->buf_count = buf_count; + hevc_config->outputPictureTimingSEI = 1; - const int output_delay = buf_count - 1; - enc->output_delay = output_delay; + /* -------------------------- */ + /* profile */ - if (lookahead) { - const int lkd_bound = output_delay - config->frameIntervalP - 4; - if (lkd_bound >= 0) { - config->rcParams.enableLookahead = 1; - config->rcParams.lookaheadDepth = - max(enc->rc_lookahead, lkd_bound); - config->rcParams.disableIadapt = 0; - config->rcParams.disableBadapt = 0; - } else { - lookahead = false; - } + if (astrcmpi(profile, "main10") == 0) { + config->profileGUID = NV_ENC_HEVC_PROFILE_MAIN10_GUID; + } else if (obs_p010_tex_active()) { + blog(LOG_WARNING, "jim-nvenc Forcing main10 for P010"); + config->profileGUID = NV_ENC_HEVC_PROFILE_MAIN10_GUID; + } else { + config->profileGUID = NV_ENC_HEVC_PROFILE_MAIN_GUID; } - /* psycho aq */ - if (nv_get_cap_hevc(enc, NV_ENC_CAPS_SUPPORT_TEMPORAL_AQ)) { - config->rcParams.enableAQ = psycho_aq; - config->rcParams.aqStrength = 8; - config->rcParams.enableTemporalAQ = psycho_aq; - } else if (psycho_aq) { - warn("Ignoring Psycho Visual Tuning request since GPU is not capable"); + if (NV_FAILED(nv.nvEncInitializeEncoder(enc->session, &enc->params))) { + return false; } - /* -------------------------- */ - /* rate control */ + return true; +} - enc->can_change_bitrate = - nv_get_cap_hevc(enc, NV_ENC_CAPS_SUPPORT_DYN_BITRATE_CHANGE) && - !lookahead; +static bool init_encoder_av1(struct nvenc_data *enc, obs_data_t *settings, + int bf, bool psycho_aq) +{ + const char *rc = obs_data_get_string(settings, "rate_control"); + int keyint_sec = (int)obs_data_get_int(settings, "keyint_sec"); + bool lossless; - config->rcParams.rateControlMode = twopass ? NV_ENC_PARAMS_RC_VBR_HQ - : NV_ENC_PARAMS_RC_VBR; + if (!init_encoder_base(enc, settings, bf, psycho_aq, &lossless)) { + return false; + } - if (astrcmpi(rc, "cqp") == 0 || rc_lossless) { - if (lossless) - cqp = 0; + NV_ENC_INITIALIZE_PARAMS *params = &enc->params; + NV_ENC_CONFIG *config = &enc->config; + NV_ENC_CONFIG_AV1 *av1_config = &config->encodeCodecConfig.av1Config; - config->rcParams.rateControlMode = NV_ENC_PARAMS_RC_CONSTQP; - config->rcParams.constQP.qpInterP = cqp; - config->rcParams.constQP.qpInterB = cqp; - config->rcParams.constQP.qpIntra = cqp; - enc->can_change_bitrate = false; + video_t *video = obs_encoder_video(enc->encoder); + const struct video_output_info *voi = video_output_get_info(video); + uint32_t gop_size = + (keyint_sec) ? keyint_sec * voi->fps_num / voi->fps_den : 250; - bitrate = 0; - max_bitrate = 0; + av1_config->idrPeriod = gop_size; - } else if (astrcmpi(rc, "vbr") != 0) { /* CBR by default */ - hevc_config->outputBufferingPeriodSEI = 1; - config->rcParams.rateControlMode = - twopass ? NV_ENC_PARAMS_RC_2_PASS_QUALITY - : NV_ENC_PARAMS_RC_CBR; - } + av1_config->useBFramesAsRef = NV_ENC_BFRAME_REF_MODE_DISABLED; - hevc_config->outputPictureTimingSEI = 1; - config->rcParams.averageBitRate = bitrate * 1000; - config->rcParams.maxBitRate = vbr ? max_bitrate * 1000 : bitrate * 1000; - config->rcParams.vbvBufferSize = bitrate * 1000; + av1_config->colorRange = (voi->range == VIDEO_RANGE_FULL); + + switch (voi->colorspace) { + case VIDEO_CS_601: + av1_config->colorPrimaries = 6; + av1_config->transferCharacteristics = 6; + av1_config->matrixCoefficients = 6; + break; + case VIDEO_CS_DEFAULT: + case VIDEO_CS_709: + av1_config->colorPrimaries = 1; + av1_config->transferCharacteristics = 1; + av1_config->matrixCoefficients = 1; + break; + case VIDEO_CS_SRGB: + av1_config->colorPrimaries = 1; + av1_config->transferCharacteristics = 13; + av1_config->matrixCoefficients = 1; + break; + case VIDEO_CS_2100_PQ: + av1_config->colorPrimaries = 9; + av1_config->transferCharacteristics = 16; + av1_config->matrixCoefficients = 9; + break; + case VIDEO_CS_2100_HLG: + av1_config->colorPrimaries = 9; + av1_config->transferCharacteristics = 18; + av1_config->matrixCoefficients = 9; + } /* -------------------------- */ /* profile */ - if (astrcmpi(profile, "main10") == 0) { - config->profileGUID = NV_ENC_HEVC_PROFILE_MAIN10_GUID; - } else if (obs_p010_tex_active()) { - blog(LOG_WARNING, "jim-nvenc Forcing main10 for P010"); - config->profileGUID = NV_ENC_HEVC_PROFILE_MAIN10_GUID; - } else { - config->profileGUID = NV_ENC_HEVC_PROFILE_MAIN_GUID; - } + config->profileGUID = NV_ENC_AV1_PROFILE_MAIN_GUID; + av1_config->tier = NV_ENC_TIER_AV1_0; - /* -------------------------- */ - /* initialize */ + av1_config->level = NV_ENC_LEVEL_AV1_AUTOSELECT; + av1_config->chromaFormatIDC = 1; + av1_config->pixelBitDepthMinus8 = obs_p010_tex_active() ? 2 : 0; + av1_config->inputPixelBitDepthMinus8 = av1_config->pixelBitDepthMinus8; + av1_config->numFwdRefs = 1; + av1_config->numBwdRefs = 1; + av1_config->repeatSeqHdr = 1; if (NV_FAILED(nv.nvEncInitializeEncoder(enc->session, &enc->params))) { return false; } - info("settings:\n" - "\tcodec: HEVC\n" - "\trate_control: %s\n" - "\tbitrate: %d\n" - "\tcqp: %d\n" - "\tkeyint: %d\n" - "\tpreset: %s\n" - "\tprofile: %s\n" - "\twidth: %d\n" - "\theight: %d\n" - "\t2-pass: %s\n" - "\tb-frames: %d\n" - "\tlookahead: %s\n" - "\tpsycho_aq: %s\n", - rc, bitrate, cqp, gop_size, preset, profile, enc->cx, enc->cy, - twopass ? "true" : "false", bf, lookahead ? "true" : "false", - psycho_aq ? "true" : "false"); - return true; } -#endif static bool init_bitstreams(struct nvenc_data *enc) { @@ -915,34 +986,29 @@ static void nvenc_destroy(void *data); -static bool init_specific_encoder(struct nvenc_data *enc, bool hevc, - obs_data_t *settings, int bf, bool psycho_aq) +static bool init_specific_encoder(struct nvenc_data *enc, obs_data_t *settings, + int bf, bool psycho_aq) { -#ifdef ENABLE_HEVC - if (hevc) + switch (enc->codec) { + case CODEC_HEVC: return init_encoder_hevc(enc, settings, bf, psycho_aq); -#endif + case CODEC_H264: + return init_encoder_h264(enc, settings, bf, psycho_aq); + case CODEC_AV1: + return init_encoder_av1(enc, settings, bf, psycho_aq); + } - return init_encoder_h264(enc, settings, bf, psycho_aq); + return false; } -static bool init_encoder(struct nvenc_data *enc, bool hevc, - obs_data_t *settings) +static bool init_encoder(struct nvenc_data *enc, enum codec_type codec, + obs_data_t *settings, obs_encoder_t *encoder) { - const int bf = (int)obs_data_get_int(settings, "bf"); + int bf = (int)obs_data_get_int(settings, "bf"); const bool psycho_aq = obs_data_get_bool(settings, "psycho_aq"); -#ifdef ENABLE_HEVC - const bool support_10bit = - hevc ? nv_get_cap_hevc(enc, NV_ENC_CAPS_SUPPORT_10BIT_ENCODE) - : nv_get_cap_h264(enc, NV_ENC_CAPS_SUPPORT_10BIT_ENCODE); - const int bf_max = - hevc ? nv_get_cap_hevc(enc, NV_ENC_CAPS_NUM_MAX_BFRAMES) - : nv_get_cap_h264(enc, NV_ENC_CAPS_NUM_MAX_BFRAMES); -#else const bool support_10bit = - nv_get_cap_h264(enc, NV_ENC_CAPS_SUPPORT_10BIT_ENCODE); - const int bf_max = nv_get_cap_h264(enc, NV_ENC_CAPS_NUM_MAX_BFRAMES); -#endif + nv_get_cap(enc, NV_ENC_CAPS_SUPPORT_10BIT_ENCODE); + const int bf_max = nv_get_cap(enc, NV_ENC_CAPS_NUM_MAX_BFRAMES); if (obs_p010_tex_active() && !support_10bit) { NV_FAIL(obs_module_text("NVENC.10bitUnsupported")); @@ -965,20 +1031,27 @@ } if (bf > bf_max) { - NV_FAIL(obs_module_text("NVENC.TooManyBFrames"), bf, bf_max); - return false; + blog(LOG_WARNING, + "jim-nvenc Max B-frames setting (%d) is more than encoder supports (%d).\n" + "Setting B-frames to %d", + bf, bf_max, bf_max); + bf = bf_max; } - if (!init_specific_encoder(enc, hevc, settings, bf, psycho_aq)) { + if (!init_specific_encoder(enc, settings, bf, psycho_aq)) { if (!psycho_aq) return false; blog(LOG_WARNING, "jim-nvenc init_specific_encoder failed, " "trying again without Psycho Visual Tuning"); + nv.nvEncDestroyEncoder(enc->session); enc->session = NULL; - if (!init_session(enc) || - !init_specific_encoder(enc, hevc, settings, bf, false)) { + + if (!init_session(enc)) { + return false; + } + if (!init_specific_encoder(enc, settings, bf, false)) { return false; } } @@ -986,14 +1059,28 @@ return true; } -static void *nvenc_create_internal(bool hevc, obs_data_t *settings, +static void *nvenc_create_internal(enum codec_type codec, obs_data_t *settings, obs_encoder_t *encoder) { - NV_ENCODE_API_FUNCTION_LIST init = {NV_ENCODE_API_FUNCTION_LIST_VER}; struct nvenc_data *enc = bzalloc(sizeof(*enc)); enc->encoder = encoder; + enc->codec = codec; enc->first_packet = true; + NV_ENCODE_API_FUNCTION_LIST init = {NV_ENCODE_API_FUNCTION_LIST_VER}; + + switch (enc->codec) { + case CODEC_H264: + enc->codec_guid = NV_ENC_CODEC_H264_GUID; + break; + case CODEC_HEVC: + enc->codec_guid = NV_ENC_CODEC_HEVC_GUID; + break; + case CODEC_AV1: + enc->codec_guid = NV_ENC_CODEC_AV1_GUID; + break; + } + if (!init_nvenc(encoder)) { goto fail; } @@ -1006,7 +1093,7 @@ if (!init_session(enc)) { goto fail; } - if (!init_encoder(enc, hevc, settings)) { + if (!init_encoder(enc, codec, settings, encoder)) { goto fail; } if (!init_bitstreams(enc)) { @@ -1017,7 +1104,7 @@ } #ifdef ENABLE_HEVC - enc->hevc = hevc; + enc->codec = codec; #endif return enc; @@ -1026,8 +1113,8 @@ return NULL; } -static void *nvenc_create_h264_hevc(bool hevc, obs_data_t *settings, - obs_encoder_t *encoder) +static void *nvenc_create_base(enum codec_type codec, obs_data_t *settings, + obs_encoder_t *encoder) { /* this encoder requires shared textures, this cannot be used on a * gpu other than the one OBS is currently running on. */ @@ -1050,33 +1137,42 @@ goto reroute; } - struct nvenc_data *enc = nvenc_create_internal(hevc, settings, encoder); + struct nvenc_data *enc = + nvenc_create_internal(codec, settings, encoder); if (enc) { return enc; } reroute: - const char *fallback_name = "ffmpeg_nvenc"; -#ifdef ENABLE_HEVC - if (hevc) - fallback_name = "ffmpeg_hevc_nvenc"; -#endif - return obs_encoder_create_rerouted(encoder, fallback_name); + switch (codec) { + case CODEC_H264: + return obs_encoder_create_rerouted(encoder, "ffmpeg_nvenc"); + case CODEC_HEVC: + return obs_encoder_create_rerouted(encoder, + "ffmpeg_hevc_nvenc"); + } + + return NULL; } static void *h264_nvenc_create(obs_data_t *settings, obs_encoder_t *encoder) { - return nvenc_create_h264_hevc(false, settings, encoder); + return nvenc_create_base(CODEC_H264, settings, encoder); } #ifdef ENABLE_HEVC static void *hevc_nvenc_create(obs_data_t *settings, obs_encoder_t *encoder) { - return nvenc_create_h264_hevc(true, settings, encoder); + return nvenc_create_base(CODEC_HEVC, settings, encoder); } #endif +static void *av1_nvenc_create(obs_data_t *settings, obs_encoder_t *encoder) +{ + return nvenc_create_base(CODEC_AV1, settings, encoder); +} + static bool get_encoded_packet(struct nvenc_data *enc, bool finalize); static void nvenc_destroy(void *data) @@ -1086,7 +1182,10 @@ if (enc->encode_started) { size_t next_bitstream = enc->next_bitstream; - NV_ENC_PIC_PARAMS params = {NV_ENC_PIC_PARAMS_VER}; + uint32_t struct_ver = enc->codec == CODEC_AV1 + ? NV_ENC_PIC_PARAMS_VER + : NV_ENC_PIC_PARAMS_COMPAT_VER; + NV_ENC_PIC_PARAMS params = {struct_ver}; params.encodePicFlags = NV_ENC_PIC_FLAG_EOS; nv.nvEncEncodePicture(enc->session, ¶ms); get_encoded_packet(enc, true); @@ -1187,7 +1286,12 @@ /* ---------------- */ - NV_ENC_LOCK_BITSTREAM lock = {NV_ENC_LOCK_BITSTREAM_VER}; + uint32_t struct_ver = + enc->codec == CODEC_AV1 + ? NV_ENC_LOCK_BITSTREAM_VER + : NV_ENC_LOCK_BITSTREAM_COMPAT_VER; + + NV_ENC_LOCK_BITSTREAM lock = {struct_ver}; lock.outputBitstream = bs->ptr; lock.doNotWait = false; @@ -1196,34 +1300,24 @@ } if (enc->first_packet) { - uint8_t *new_packet; - size_t size; - + NV_ENC_SEQUENCE_PARAM_PAYLOAD payload = {0}; + uint8_t buf256; + uint32_t size = 0; + + payload.version = NV_ENC_SEQUENCE_PARAM_PAYLOAD_VER; + payload.spsppsBuffer = buf; + payload.inBufferSize = sizeof(buf); + payload.outSPSPPSPayloadSize = &size; + + nv.nvEncGetSequenceParams(s, &payload); + enc->header = bmemdup(buf, size); + enc->header_size = size; enc->first_packet = false; -#ifdef ENABLE_HEVC - if (enc->hevc) { - obs_extract_hevc_headers( - lock.bitstreamBufferPtr, - lock.bitstreamSizeInBytes, &new_packet, - &size, &enc->header, &enc->header_size, - &enc->sei, &enc->sei_size); - } else -#endif - { - obs_extract_avc_headers( - lock.bitstreamBufferPtr, - lock.bitstreamSizeInBytes, &new_packet, - &size, &enc->header, &enc->header_size, - &enc->sei, &enc->sei_size); - } - - da_copy_array(enc->packet_data, new_packet, size); - bfree(new_packet); - } else { - da_copy_array(enc->packet_data, lock.bitstreamBufferPtr, - lock.bitstreamSizeInBytes); } + da_copy_array(enc->packet_data, lock.bitstreamBufferPtr, + lock.bitstreamSizeInBytes); + enc->packet_pts = (int64_t)lock.outputTimeStamp; enc->packet_keyframe = lock.pictureType == NV_ENC_PIC_TYPE_IDR; @@ -1313,7 +1407,8 @@ /* do actual encode call */ NV_ENC_PIC_PARAMS params = {0}; - params.version = NV_ENC_PIC_PARAMS_VER; + params.version = enc->codec == CODEC_AV1 ? NV_ENC_PIC_PARAMS_VER + : NV_ENC_PIC_PARAMS_COMPAT_VER; params.pictureStruct = NV_ENC_PIC_STRUCT_FRAME; params.inputBuffer = nvtex->mapped_res; params.bufferFmt = obs_p010_tex_active() @@ -1376,6 +1471,8 @@ extern void hevc_nvenc_defaults(obs_data_t *settings); extern obs_properties_t *hevc_nvenc_properties(void *unused); #endif +extern obs_properties_t *av1_nvenc_properties(void *unused); +extern void av1_nvenc_defaults(obs_data_t *settings); static bool nvenc_extra_data(void *data, uint8_t **header, size_t *size) { @@ -1436,3 +1533,18 @@ .get_sei_data = nvenc_sei_data, }; #endif + +struct obs_encoder_info av1_nvenc_info = { + .id = "jim_av1_nvenc", + .codec = "av1", + .type = OBS_ENCODER_VIDEO, + .caps = OBS_ENCODER_CAP_PASS_TEXTURE | OBS_ENCODER_CAP_DYN_BITRATE, + .get_name = av1_nvenc_get_name, + .create = av1_nvenc_create, + .destroy = nvenc_destroy, + .update = nvenc_update, + .encode_texture = nvenc_encode_tex, + .get_defaults = av1_nvenc_defaults, + .get_properties = av1_nvenc_properties, + .get_extra_data = nvenc_extra_data, +};
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/jim-nvenc.h -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/jim-nvenc.h
Changed
@@ -5,6 +5,7 @@ #include <obs-module.h> #include "external/nvEncodeAPI.h" +#include "jim-nvenc-ver.h" typedef NVENCSTATUS(NVENCAPI *NV_CREATE_INSTANCE_FUNC)( NV_ENCODE_API_FUNCTION_LIST *); @@ -13,6 +14,12 @@ extern NV_ENCODE_API_FUNCTION_LIST nv; extern NV_CREATE_INSTANCE_FUNC nv_create_instance; extern bool init_nvenc(obs_encoder_t *encoder); -bool nv_fail(obs_encoder_t *encoder, const char *format, ...); -bool nv_failed(obs_encoder_t *encoder, NVENCSTATUS err, const char *func, - const char *call); +bool nv_fail2(obs_encoder_t *encoder, void *session, const char *format, ...); +bool nv_failed2(obs_encoder_t *encoder, void *session, NVENCSTATUS err, + const char *func, const char *call); + +#define nv_fail(encoder, format, ...) \ + nv_fail2(encoder, enc->session, format, ##__VA_ARGS__) + +#define nv_failed(encoder, err, func, call) \ + nv_failed2(encoder, enc->session, err, func, call)
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c
Changed
@@ -39,6 +39,10 @@ DARRAY(uint8_t) sei; }; +#ifdef __linux__ +extern bool ubuntu_20_04_nvenc_fallback; +#endif + #define ENCODER_NAME_H264 "NVIDIA NVENC H.264 (FFmpeg)" static const char *h264_nvenc_getname(void *unused) { @@ -100,6 +104,9 @@ int cqp = (int)obs_data_get_int(settings, "cqp"); int keyint_sec = (int)obs_data_get_int(settings, "keyint_sec"); const char *preset = obs_data_get_string(settings, "preset"); + const char *preset2 = obs_data_get_string(settings, "preset2"); + const char *tuning = obs_data_get_string(settings, "tune"); + const char *multipass = obs_data_get_string(settings, "multipass"); const char *profile = obs_data_get_string(settings, "profile"); int gpu = (int)obs_data_get_int(settings, "gpu"); bool cbr_override = obs_data_get_bool(settings, "cbr"); @@ -119,21 +126,34 @@ rc = "CBR"; } +#ifdef __linux__ + bool use_old_nvenc = ubuntu_20_04_nvenc_fallback; +#else +#define use_old_nvenc false +#endif + info.format = voi->format; info.colorspace = voi->colorspace; info.range = voi->range; - bool twopass = false; - - if (astrcmpi(preset, "mq") == 0) { - twopass = true; - preset = "hq"; - } - nvenc_video_info(enc, &info); + av_opt_set_int(enc->ffve.context->priv_data, "cbr", false, 0); av_opt_set(enc->ffve.context->priv_data, "profile", profile, 0); - av_opt_set(enc->ffve.context->priv_data, "preset", preset, 0); + + if (use_old_nvenc || (obs_data_has_user_value(settings, "preset") && + !obs_data_has_user_value(settings, "preset2"))) { + + if (astrcmpi(preset, "mq") == 0) { + preset = "hq"; + } + av_opt_set(enc->ffve.context->priv_data, "preset", preset, 0); + } else { + av_opt_set(enc->ffve.context->priv_data, "preset", preset2, 0); + av_opt_set(enc->ffve.context->priv_data, "tune", tuning, 0); + av_opt_set(enc->ffve.context->priv_data, "multipass", multipass, + 0); + } if (astrcmpi(rc, "cqp") == 0) { bitrate = 0; @@ -143,11 +163,9 @@ bitrate = 0; cqp = 0; - bool hp = (astrcmpi(preset, "hp") == 0 || - astrcmpi(preset, "llhp") == 0); - - av_opt_set(enc->ffve.context->priv_data, "preset", - hp ? "losslesshp" : "lossless", 0); + av_opt_set(enc->ffve.context->priv_data, "tune", "lossless", 0); + av_opt_set(enc->ffve.context->priv_data, "multipass", + "disabled", 0); } else if (astrcmpi(rc, "vbr") != 0) { /* CBR by default */ av_opt_set_int(enc->ffve.context->priv_data, "cbr", true, 0); @@ -158,7 +176,6 @@ } av_opt_set(enc->ffve.context->priv_data, "level", "auto", 0); - av_opt_set_int(enc->ffve.context->priv_data, "2pass", twopass, 0); av_opt_set_int(enc->ffve.context->priv_data, "gpu", gpu, 0); set_psycho_aq(enc, psycho_aq); @@ -176,17 +193,17 @@ "\tcqp: %d\n" "\tkeyint: %d\n" "\tpreset: %s\n" + "\ttuning: %s\n" + "\tmultipass: %s\n" "\tprofile: %s\n" "\twidth: %d\n" "\theight: %d\n" - "\t2-pass: %s\n" "\tb-frames: %d\n" "\tpsycho-aq: %d\n" "\tGPU: %d\n", enc->ffve.enc_name, rc, bitrate, cqp, enc->ffve.context->gop_size, - preset, profile, enc->ffve.context->width, enc->ffve.height, - twopass ? "true" : "false", enc->ffve.context->max_b_frames, - psycho_aq, gpu); + preset2, tuning, multipass, profile, enc->ffve.context->width, + enc->ffve.height, enc->ffve.context->max_b_frames, psycho_aq, gpu); return ffmpeg_video_encoder_init_codec(&enc->ffve); } @@ -398,37 +415,44 @@ return ffmpeg_video_encode(&enc->ffve, frame, packet, received_packet); } -void h264_nvenc_defaults(obs_data_t *settings) +enum codec_type { + CODEC_H264, + CODEC_HEVC, + CODEC_AV1, +}; + +static void nvenc_defaults_base(enum codec_type codec, obs_data_t *settings) { obs_data_set_default_int(settings, "bitrate", 2500); obs_data_set_default_int(settings, "max_bitrate", 5000); obs_data_set_default_int(settings, "keyint_sec", 0); obs_data_set_default_int(settings, "cqp", 20); obs_data_set_default_string(settings, "rate_control", "CBR"); - obs_data_set_default_string(settings, "preset", "hq"); - obs_data_set_default_string(settings, "profile", "high"); + obs_data_set_default_string(settings, "preset2", "p6"); + obs_data_set_default_string(settings, "multipass", "qres"); + obs_data_set_default_string(settings, "tune", "hq"); + obs_data_set_default_string(settings, "profile", + codec != CODEC_H264 ? "main" : "high"); obs_data_set_default_bool(settings, "psycho_aq", true); obs_data_set_default_int(settings, "gpu", 0); obs_data_set_default_int(settings, "bf", 2); obs_data_set_default_bool(settings, "repeat_headers", false); } -#ifdef ENABLE_HEVC +void h264_nvenc_defaults(obs_data_t *settings) +{ + nvenc_defaults_base(CODEC_H264, settings); +} + void hevc_nvenc_defaults(obs_data_t *settings) { - obs_data_set_default_int(settings, "bitrate", 2500); - obs_data_set_default_int(settings, "max_bitrate", 5000); - obs_data_set_default_int(settings, "keyint_sec", 0); - obs_data_set_default_int(settings, "cqp", 20); - obs_data_set_default_string(settings, "rate_control", "CBR"); - obs_data_set_default_string(settings, "preset", "hq"); - obs_data_set_default_string(settings, "profile", "main"); - obs_data_set_default_bool(settings, "psycho_aq", true); - obs_data_set_default_int(settings, "gpu", 0); - obs_data_set_default_int(settings, "bf", 0); - obs_data_set_default_bool(settings, "repeat_headers", false); + nvenc_defaults_base(CODEC_HEVC, settings); +} + +void av1_nvenc_defaults(obs_data_t *settings) +{ + nvenc_defaults_base(CODEC_AV1, settings); } -#endif static bool rate_control_modified(obs_properties_t *ppts, obs_property_t *p, obs_data_t *settings) @@ -437,7 +461,6 @@ bool cqp = astrcmpi(rc, "CQP") == 0; bool vbr = astrcmpi(rc, "VBR") == 0; bool lossless = astrcmpi(rc, "lossless") == 0; - size_t count; p = obs_properties_get(ppts, "bitrate"); obs_property_set_visible(p, !cqp && !lossless); @@ -445,23 +468,25 @@ obs_property_set_visible(p, vbr); p = obs_properties_get(ppts, "cqp"); obs_property_set_visible(p, cqp); - - p = obs_properties_get(ppts, "preset"); - count = obs_property_list_item_count(p); - - for (size_t i = 0; i < count; i++) { - bool compatible = (i == 0 || i == 3); - obs_property_list_item_disable(p, i, lossless && !compatible); - } + p = obs_properties_get(ppts, "preset2"); + obs_property_set_visible(p, !lossless); + p = obs_properties_get(ppts, "tune"); + obs_property_set_visible(p, !lossless); return true; } -obs_properties_t *nvenc_properties_internal(bool hevc, bool ffmpeg) +obs_properties_t *nvenc_properties_internal(enum codec_type codec, bool ffmpeg) { obs_properties_t *props = obs_properties_create(); obs_property_t *p; +#ifdef __linux__ + bool use_old_nvenc = ubuntu_20_04_nvenc_fallback; +#else +#define use_old_nvenc false +#endif + p = obs_properties_add_list(props, "rate_control", obs_module_text("RateControl"), OBS_COMBO_TYPE_LIST, @@ -483,38 +508,79 @@ obs_property_int_set_suffix(p, " Kbps"); obs_properties_add_int(props, "cqp", obs_module_text("NVENC.CQLevel"), - 1, 51, 1); + 1, codec == CODEC_AV1 ? 63 : 51, 1); p = obs_properties_add_int(props, "keyint_sec", obs_module_text("KeyframeIntervalSec"), 0, 10, 1); obs_property_int_set_suffix(p, " s"); - p = obs_properties_add_list(props, "preset", obs_module_text("Preset"), + p = obs_properties_add_list(props, use_old_nvenc ? "preset" : "preset2", + obs_module_text("Preset"), OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_STRING); -#define add_preset(val) \ - obs_property_list_add_string(p, obs_module_text("NVENC.Preset." val), \ +#define add_preset(val) \ + obs_property_list_add_string(p, obs_module_text("NVENC.Preset2." val), \ val) - add_preset("mq"); - add_preset("hq"); - add_preset("default"); - add_preset("hp"); - add_preset("ll"); - add_preset("llhq"); - add_preset("llhp"); + if (use_old_nvenc) { + add_preset("mq"); + add_preset("hq"); + add_preset("default"); + add_preset("hp"); + add_preset("ll"); + add_preset("llhq"); + add_preset("llhp"); + } else { + add_preset("p1"); + add_preset("p2"); + add_preset("p3"); + add_preset("p4"); + add_preset("p5"); + add_preset("p6"); + add_preset("p7"); + } #undef add_preset + if (!use_old_nvenc) { + p = obs_properties_add_list(props, "tune", + obs_module_text("Tuning"), + OBS_COMBO_TYPE_LIST, + OBS_COMBO_FORMAT_STRING); + +#define add_tune(val) \ + obs_property_list_add_string(p, obs_module_text("NVENC.Tuning." val), \ + val) + add_tune("hq"); + add_tune("ll"); + add_tune("ull"); +#undef add_tune + + p = obs_properties_add_list(props, "multipass", + obs_module_text("NVENC.Multipass"), + OBS_COMBO_TYPE_LIST, + OBS_COMBO_FORMAT_STRING); + +#define add_multipass(val) \ + obs_property_list_add_string( \ + p, obs_module_text("NVENC.Multipass." val), val) + add_multipass("disabled"); + add_multipass("qres"); + add_multipass("fullres"); +#undef add_multipass + } + p = obs_properties_add_list(props, "profile", obs_module_text("Profile"), OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_STRING); #define add_profile(val) obs_property_list_add_string(p, val, val) - if (hevc) { + if (codec == CODEC_HEVC) { add_profile("main10"); add_profile("main"); + } else if (codec == CODEC_AV1) { + add_profile("main"); } else { add_profile("high"); add_profile("main"); @@ -548,28 +614,34 @@ obs_properties_t *h264_nvenc_properties(void *unused) { UNUSED_PARAMETER(unused); - return nvenc_properties_internal(false, false); + return nvenc_properties_internal(CODEC_H264, false); } #ifdef ENABLE_HEVC obs_properties_t *hevc_nvenc_properties(void *unused) { UNUSED_PARAMETER(unused); - return nvenc_properties_internal(true, false); + return nvenc_properties_internal(CODEC_HEVC, false); } #endif +obs_properties_t *av1_nvenc_properties(void *unused) +{ + UNUSED_PARAMETER(unused); + return nvenc_properties_internal(CODEC_AV1, false); +} + obs_properties_t *h264_nvenc_properties_ffmpeg(void *unused) { UNUSED_PARAMETER(unused); - return nvenc_properties_internal(false, true); + return nvenc_properties_internal(CODEC_H264, true); } #ifdef ENABLE_HEVC obs_properties_t *hevc_nvenc_properties_ffmpeg(void *unused) { UNUSED_PARAMETER(unused); - return nvenc_properties_internal(true, true); + return nvenc_properties_internal(CODEC_HEVC, true); } #endif
View file
obs-studio-28.0.3.tar.xz/plugins/obs-ffmpeg/obs-ffmpeg.c -> obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/obs-ffmpeg.c
Changed
@@ -1,3 +1,4 @@ +#include <util/dstr.h> #include <obs-module.h> #include <util/platform.h> #include <libavutil/avutil.h> @@ -8,8 +9,9 @@ #ifdef _WIN32 #include <dxgi.h> -#include <util/dstr.h> #include <util/windows/win-version.h> + +#include "jim-nvenc.h" #endif OBS_DECLARE_MODULE() @@ -226,6 +228,35 @@ #ifdef _WIN32 extern bool load_nvenc_lib(void); +extern uint32_t get_nvenc_ver(); +#endif + +/* please remove this annoying garbage and the associated garbage in + * obs-ffmpeg-nvenc.c when ubuntu 20.04 is finally gone for good. */ + +#ifdef __linux__ +bool ubuntu_20_04_nvenc_fallback = false; + +static void do_nvenc_check_for_ubuntu_20_04(void) +{ + FILE *fp; + char *line = NULL; + size_t linecap = 0; + + fp = fopen("/etc/os-release", "r"); + if (!fp) { + return; + } + + while (getline(&line, &linecap, fp) != -1) { + if (strncmp(line, "VERSION_CODENAME=focal", 22) == 0) { + ubuntu_20_04_nvenc_fallback = true; + } + } + + fclose(fp); + free(line); +} #endif static bool nvenc_codec_exists(const char *name, const char *fallback) @@ -237,7 +268,7 @@ return nvenc != NULL; } -static bool nvenc_supported(bool *out_h264, bool *out_hevc) +static bool nvenc_supported(bool *out_h264, bool *out_hevc, bool *out_av1) { profile_start(nvenc_check_name); @@ -252,10 +283,14 @@ const bool hevc = false; #endif + bool av1 = false; + bool success = h264 || hevc; if (success) { #if defined(_WIN32) success = nvenc_device_available() && load_nvenc_lib(); + av1 = success && (get_nvenc_ver() >= ((12 << 4) | 0)); + #elif defined(__linux__) success = nvenc_device_available(); if (success) { @@ -274,6 +309,7 @@ if (success) { *out_h264 = h264; *out_hevc = hevc; + *out_av1 = av1; } } @@ -292,7 +328,7 @@ #endif #ifdef _WIN32 -extern void jim_nvenc_load(bool h264, bool hevc); +extern void jim_nvenc_load(bool h264, bool hevc, bool av1); extern void jim_nvenc_unload(void); extern void amf_load(void); extern void amf_unload(void); @@ -327,11 +363,18 @@ #ifndef __APPLE__ bool h264 = false; bool hevc = false; - if (nvenc_supported(&h264, &hevc)) { + bool av1 = false; + if (nvenc_supported(&h264, &hevc, &av1)) { blog(LOG_INFO, "NVENC supported"); + +#ifdef __linux__ + /* why are we here? just to suffer? */ + do_nvenc_check_for_ubuntu_20_04(); +#endif + #ifdef _WIN32 if (get_win_ver_int() > 0x0601) { - jim_nvenc_load(h264, hevc); + jim_nvenc_load(h264, hevc, av1); } else { // if on Win 7, new nvenc isn't available so there's // no nvenc encoder for the user to select, expose
View file
obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/obs-nvenc-test
Added
+(directory)
View file
obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/obs-nvenc-test/CMakeLists.txt
Added
@@ -0,0 +1,9 @@ +project(obs-nvenc-test) + +add_executable(obs-nvenc-test) +target_sources(obs-nvenc-test PRIVATE jim-nvenc-test.c ../jim-nvenc-ver.h) +target_link_libraries(obs-nvenc-test d3d11 dxgi dxguid) + +set_target_properties(obs-nvenc-test PROPERTIES FOLDER "plugins/obs-ffmpeg") + +setup_binary_target(obs-nvenc-test)
View file
obs-studio-28.1.1.tar.xz/plugins/obs-ffmpeg/obs-nvenc-test/jim-nvenc-test.c
Added
@@ -0,0 +1,215 @@ +#include <stdbool.h> +#include <stdio.h> + +#include "../external/nvEncodeAPI.h" +#include "../jim-nvenc-ver.h" + +#include <dxgi.h> +#include <d3d11.h> +#include <d3d11_1.h> + +__declspec(dllexport) DWORD NvOptimusEnablement = 1; +NV_ENCODE_API_FUNCTION_LIST nv = {NV_ENCODE_API_FUNCTION_LIST_VER}; +static void *nvenc_lib = NULL; +static bool av1_supported = false; + +#define NVIDIA_VENDOR_ID 0x10DE + +struct nvenc_info { + bool is_nvidia; + bool supports_av1; +}; + +#define MAX_CAPS 10 +static struct nvenc_info adapter_infoMAX_CAPS = {0}; + +bool load_nvenc_lib(void) +{ + const char *const file = (sizeof(void *) == 8) ? "nvEncodeAPI64.dll" + : "nvEncodeAPI.dll"; + nvenc_lib = LoadLibraryA(file); + return nvenc_lib != NULL; +} + +static inline void *load_nv_func(const char *func) +{ + void *func_ptr = (void *)GetProcAddress(nvenc_lib, func); + return func_ptr; +} + +static bool get_adapter_caps(IDXGIFactory *factory, uint32_t adapter_idx) +{ + struct nvenc_info *caps = &adapter_infoadapter_idx; + IDXGIAdapter *adapter = NULL; + IDXGIOutput *output = NULL; + ID3D11Device *device = NULL; + ID3D11DeviceContext *context = NULL; + GUID *guids = NULL; + void *session = NULL; + HRESULT hr; + + if (adapter_idx == MAX_CAPS) + return false; + + hr = factory->lpVtbl->EnumAdapters(factory, adapter_idx, &adapter); + if (FAILED(hr)) + return false; + + DXGI_ADAPTER_DESC desc; + adapter->lpVtbl->GetDesc(adapter, &desc); + + if (desc.VendorId != NVIDIA_VENDOR_ID) + return true; + + caps->is_nvidia = true; + + hr = adapter->lpVtbl->EnumOutputs(adapter, 0, &output); + if (FAILED(hr)) + goto finish; + + hr = D3D11CreateDevice(adapter, D3D_DRIVER_TYPE_UNKNOWN, NULL, 0, NULL, + 0, D3D11_SDK_VERSION, &device, NULL, &context); + if (FAILED(hr)) + goto finish; + + /* ---------------------------------------------------------------- */ + + NV_ENC_OPEN_ENCODE_SESSION_EX_PARAMS params = { + NV_ENC_OPEN_ENCODE_SESSION_EX_PARAMS_VER}; + params.device = device; + params.deviceType = NV_ENC_DEVICE_TYPE_DIRECTX; + params.apiVersion = NVENCAPI_VERSION; + + NVENCSTATUS stat = nv.nvEncOpenEncodeSessionEx(¶ms, &session); + if (stat != NV_ENC_SUCCESS) + goto finish; + + uint32_t guid_count = 0; + if (nv.nvEncGetEncodeGUIDCount(session, &guid_count) != NV_ENC_SUCCESS) + goto finish; + + guids = malloc(guid_count * sizeof(GUID)); + stat = nv.nvEncGetEncodeGUIDs(session, guids, guid_count, &guid_count); + if (stat != NV_ENC_SUCCESS) + goto finish; + + for (uint32_t i = 0; i < guid_count; i++) { + GUID *guid = &guidsi; + + if (memcmp(guid, &NV_ENC_CODEC_AV1_GUID, sizeof(GUID)) == 0) { + caps->supports_av1 = true; + break; + } + } + +finish: + if (guids) + free(guids); + if (session) + nv.nvEncDestroyEncoder(session); + if (context) + context->lpVtbl->Release(context); + if (device) + device->lpVtbl->Release(device); + if (output) + output->lpVtbl->Release(output); + if (adapter) + adapter->lpVtbl->Release(adapter); + return true; +} + +typedef NVENCSTATUS(NVENCAPI *NV_MAX_VER_FUNC)(uint32_t *); +typedef NVENCSTATUS(NVENCAPI *NV_CREATE_INSTANCE_FUNC)( + NV_ENCODE_API_FUNCTION_LIST *); + +static inline uint32_t get_nvenc_ver(void) +{ + NV_MAX_VER_FUNC nv_max_ver = (NV_MAX_VER_FUNC)load_nv_func( + "NvEncodeAPIGetMaxSupportedVersion"); + if (!nv_max_ver) { + return 0; + } + + uint32_t ver = 0; + if (nv_max_ver(&ver) != NV_ENC_SUCCESS) { + return 0; + } + return ver; +} + +static inline bool init_nvenc_internal(void) +{ + if (!load_nvenc_lib()) + return false; + + uint32_t ver = get_nvenc_ver(); + if (ver == 0) + return false; + + uint32_t supported_ver = (NVENC_COMPAT_MAJOR_VER << 4) | + NVENC_COMPAT_MINOR_VER; + if (supported_ver > ver) + return false; + + NV_CREATE_INSTANCE_FUNC nv_create_instance = + (NV_CREATE_INSTANCE_FUNC)load_nv_func( + "NvEncodeAPICreateInstance"); + if (!nv_create_instance) + return false; + + return nv_create_instance(&nv) == NV_ENC_SUCCESS; +} + +DWORD WINAPI TimeoutThread(LPVOID param) +{ + HANDLE hMainThread = (HANDLE)param; + + DWORD ret = WaitForSingleObject(hMainThread, 2500); + if (ret == WAIT_TIMEOUT) + TerminateProcess(GetCurrentProcess(), STATUS_TIMEOUT); + + CloseHandle(hMainThread); + return 0; +} + +int main(void) +{ + IDXGIFactory *factory = NULL; + HRESULT hr; + + HANDLE hMainThread; + DuplicateHandle(GetCurrentProcess(), GetCurrentThread(), + GetCurrentProcess(), &hMainThread, 0, FALSE, + DUPLICATE_SAME_ACCESS); + DWORD threadId; + HANDLE hThread; + hThread = + CreateThread(NULL, 0, TimeoutThread, hMainThread, 0, &threadId); + CloseHandle(hThread); + + /* --------------------------------------------------------- */ + /* try initializing nvenc, I guess */ + + if (!init_nvenc_internal()) + return 0; + + hr = CreateDXGIFactory1(&IID_IDXGIFactory1, (void **)&factory); + if (FAILED(hr)) + return 0; + + uint32_t idx = 0; + while (get_adapter_caps(factory, idx++)) + ; + + for (uint32_t i = 0; i < idx; i++) { + struct nvenc_info caps = adapter_infoi; + + printf("%u\n", i); + printf("is_nvidia=%s\n", caps.is_nvidia ? "true" : "false"); + printf("supports_av1=%s\n", + caps.supports_av1 ? "true" : "false"); + } + + factory->lpVtbl->Release(factory); + return 0; +}
View file
obs-studio-28.0.3.tar.xz/plugins/obs-filters/crop-filter.c -> obs-studio-28.1.1.tar.xz/plugins/obs-filters/crop-filter.c
Changed
@@ -142,8 +142,6 @@ uint32_t height; if (!target) { - width = 0; - height = 0; return; } else { width = obs_source_get_base_width(target);
View file
obs-studio-28.0.3.tar.xz/plugins/obs-filters/data/color.effect -> obs-studio-28.1.1.tar.xz/plugins/obs-filters/data/color.effect
Changed
@@ -10,17 +10,17 @@ float3 rec709_to_rec2020(float3 v) { - float r = dot(v, float3(0.62740389593469914, 0.32928303837788397, 0.043313065687417190)); - float g = dot(v, float3(0.069097289358232047, 0.91954039507545904, 0.011362315566309173)); - float b = dot(v, float3(0.016391438875150235, 0.088013307877225860, 0.89559525324762468)); + float r = dot(v, float3(0.62740389593469903, 0.32928303837788370, 0.043313065687417225)); + float g = dot(v, float3(0.069097289358232075, 0.91954039507545871, 0.011362315566309178)); + float b = dot(v, float3(0.016391438875150280, 0.088013307877225749, 0.89559525324762401)); return float3(r, g, b); } float3 rec2020_to_rec709(float3 v) { - float r = dot(v, float3(1.6604910021084343, -0.58764113878854973, -0.072849863319884745)); - float g = dot(v, float3(-0.12455047452159063, 1.1328998971259603, -0.0083494226043695080)); - float b = dot(v, float3(-0.018150763354905199, -0.10057889800800746, 1.1187296613629123)); + float r = dot(v, float3(1.6604910021084345, -0.58764113878854951, -0.072849863319884883)); + float g = dot(v, float3(-0.12455047452159074, 1.1328998971259603, -0.0083494226043694768)); + float b = dot(v, float3(-0.018150763354905303, -0.10057889800800739, 1.1187296613629127)); return float3(r, g, b); }
View file
obs-studio-28.0.3.tar.xz/plugins/obs-filters/data/locale/da-DK.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-filters/data/locale/da-DK.ini
Changed
@@ -3,6 +3,7 @@ MaskFilter="Billedmaskering/-blanding" AsyncDelayFilter="Videoforsinkelse (asynkron)" CropFilter="Beskæring/Polstring" +HdrTonemapFilter="HDR Tone Mapping (Tilside)" ScrollFilter="Rul" ChromaKeyFilter="Chroma-nøgle" ColorKeyFilter="Farvenøgle" @@ -41,6 +42,9 @@ Crop.Width="Bredde" Crop.Height="Højde" Crop.Relative="Relativ" +HdrTonemap.Description="OBS kan udføre HDR til SDR tone kortlægning automatisk. Brug kun dette filter, hvis du har brug for yderligere kontrol for en bestemt kilde.\nDette filter har ingen effekt på SDR-kilder." +HdrTonemap.SdrWhiteLevel="SDR-hvidniveau" +HdrTonemap.HdrOutputMaximum="HDR- Output Maksimum" ScrollFilter.SpeedX="Horisontal hastighed" ScrollFilter.SpeedY="Vertikal hastighed" ScrollFilter.LimitWidth="Begræns bredde"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-filters/data/locale/de-DE.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-filters/data/locale/de-DE.ini
Changed
@@ -43,6 +43,7 @@ Crop.Width="Breite" Crop.Height="Höhe" Crop.Relative="Relativ" +HdrTonemap.Description="OBS kann Tone-Mapping von HDR auf SDR automatisch durchführen. Sie sollten diesen Filter also nur benutzen, wenn Sie zusätzliche Kontrolle über eine Quelle benötigen.\nDieser Filter hat keine Auswirkung auf SDR-Quellen." HdrTonemap.ToneTransform="Tone-Transformation" HdrTonemap.SdrWhiteLevel="SDR-Weißwert" HdrTonemap.HdrInputMaximum="Maximale HDR-Eingabe"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-filters/data/locale/et-EE.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-filters/data/locale/et-EE.ini
Changed
@@ -44,6 +44,8 @@ ScaleFiltering.Point="Punkt" ScaleFiltering.Area="Ala" NoiseSuppress.Method="Meetod" +NoiseSuppress.Method.Speex="Speex (madal CPU kasutus, madal kvaliteet)" +NoiseSuppress.Method.RNNoise="RNNoise (hea kvaliteet, suurem CPU kasutus)" NoiseSuppress.Method.Nvafx.Denoiser="NVIDIA müra eemaldus" NoiseSuppress.Method.Nvafx.Dereverb="NVIDIA ruumi kaja eemaldus" NoiseSuppress.Method.Nvafx.DenoiserPlusDereverb="NVIDIA müra eemaldus + ruumi kaja eemaldus"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-filters/data/locale/fa-IR.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-filters/data/locale/fa-IR.ini
Changed
@@ -3,6 +3,7 @@ MaskFilter="تصویر ماسک/مخلوط" AsyncDelayFilter="تأخیر ویدیو (ناهمزمان)" CropFilter="برش / پد" +HdrTonemapFilter="نگاشت تون HDR (نادیده گرفتن)" ScrollFilter="زیرنویس" ChromaKeyFilter="صحنه کلیدی(کروماکی)" ColorKeyFilter="رنگ کلیدی" @@ -30,6 +31,7 @@ Contrast="کنتراست" Brightness="روشنایی" Gamma="گاما" +SdrOnlyInfo="اطلاعات: تنظیمات فقط برای ویدیوی SDR اعمال می شود." BrowsePath.Images="همه فایل های تصویر" BrowsePath.AllFiles="همهی فایل ها" KeyColorType="نوع رنگ کلیدی" @@ -44,6 +46,13 @@ Crop.Width="عرض" Crop.Height="ارتفاع" Crop.Relative="نسبت" +HdrTonemap.Description="OBS می تواند به طور خودکار نگاشت تون HDR به SDR را انجام دهد. فقط در صورت نیاز به کنترل اضافی برای منبع خاصی از این فیلتر استفاده کنید.\nاین فیلتر هیچ تأثیری بر منابع SDR ندارد." +HdrTonemap.ToneTransform="تبدیل لحن" +HdrTonemap.SdrReinhard="SDR: مهار سخت" +HdrTonemap.HdrMaxrgb="HDR: حداکثر RGB" +HdrTonemap.SdrWhiteLevel="سطح سفید SDR" +HdrTonemap.HdrInputMaximum="حداکثر ورودی HDR" +HdrTonemap.HdrOutputMaximum="حداکثر خروجی HDR" ScrollFilter.SpeedX="سرعت افقی" ScrollFilter.SpeedY="سرعت عمودی" ScrollFilter.LimitWidth="محدودیت عرض" @@ -75,6 +84,9 @@ NoiseSuppress.Method="روش" NoiseSuppress.Method.Speex="Speex (استفاده از پردازنده کم، کیفیت پایین)" NoiseSuppress.Method.RNNoise="RNNoise (کیفیت خوب، استفاده بیشتر از پردازنده)" +NoiseSuppress.Method.Nvafx.Denoiser="حذف نویز NVIDIA" +NoiseSuppress.Method.Nvafx.Dereverb="حذف اکو اتاق NVIDIA" +NoiseSuppress.Method.Nvafx.DenoiserPlusDereverb="حذف نویز NVIDIA + حذف اکو اتاق" Saturation="اشباع" HueShift="تغییر مکان رنگ" Amount="میزان" @@ -107,5 +119,8 @@ Luma.LumaMin="کمترین لوما" Luma.LumaMaxSmooth="حداکثر صافی لوما" Luma.LumaMinSmooth="حداقل صافی لوما" +NvidiaGreenscreenFilter="حذف پس زمینه NVIDIA" Greenscreen.Mode="حالت" +Greenscreen.Quality="کیفیت (استفاده از GPU بیشتر، کیفیت بهتر)" +Greenscreen.Performance="عملکرد (استفاده کمتر از GPU، کیفیت خوب)" Greenscreen.Threshold="آستانه"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-filters/data/locale/fi-FI.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-filters/data/locale/fi-FI.ini
Changed
@@ -44,7 +44,7 @@ Crop.Width="Leveys" Crop.Height="Korkeus" Crop.Relative="Suhteellinen" -HdrTonemap.Description="OBS voi suorittaa HDR SDR sävykartoituksen automaattisesti. Käytä tätä suodatinta vain, jos tarvitset lisäohjauksen tietylle lähteelle.\nTällä suodattimella ei ole vaikutusta SDR lähteisiin." +HdrTonemap.Description="OBS voi suorittaa HDR:stä SDR:ään -sävykartoituksen automaattisesti. Käytä tätä suodatinta vain, jos tarvitset lisäohjauksen tietylle lähteelle.\nTällä suodattimella ei ole vaikutusta SDR-lähteisiin." HdrTonemap.ToneTransform="Sävyn muunnos" HdrTonemap.HdrMaxrgb="HDR: maks-RGB" HdrTonemap.SdrWhiteLevel="SDR:n valkoisen taso"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-filters/data/locale/fr-FR.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-filters/data/locale/fr-FR.ini
Changed
@@ -43,7 +43,7 @@ Crop.Width="Largeur" Crop.Height="Hauteur" Crop.Relative="Relatif" -HdrTonemap.Description="OBS peut effectuer automatiquement le mappage des tonalités HDR vers SDR. N'utilisez ce filtre que si vous avez besoin d'un contrôle supplémentaire pour une source particulière.\nCe filtre n'a aucun effet sur les sources SDR." +HdrTonemap.Description="OBS peut effectuer automatiquement le mappage des tons HDR vers SDR. N'utilisez ce filtre que si vous avez besoin d'un contrôle supplémentaire pour une source particulière.\nCe filtre n'a aucun effet sur les sources SDR." HdrTonemap.ToneTransform="Transformation tonale" HdrTonemap.SdrWhiteLevel="Niveau de blanc SDR" HdrTonemap.HdrInputMaximum="Maximum d'entrée HDR"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-filters/data/locale/he-IL.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-filters/data/locale/he-IL.ini
Changed
@@ -46,6 +46,7 @@ Crop.Width="רוחב" Crop.Height="גובה" Crop.Relative="יחסיות" +HdrTonemap.Description="OBS Studio יכולה לבצע מיפוי גוונים מ-HDR ל-SDR באופן אוטומטי. יש להשתמש במסנן זה רק אם יש צורך בשליטה נוספת עבור מקור מסוים.\nלמסנן זה אין השפעה על מקורות SDR." HdrTonemap.ToneTransform="שינוי גוונים" HdrTonemap.SdrReinhard="SDR: ריינהרד" HdrTonemap.SdrWhiteLevel="רמת SDR לבן"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-filters/data/locale/hy-AM.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-filters/data/locale/hy-AM.ini
Changed
@@ -3,6 +3,7 @@ MaskFilter="Պատկերի դիմակ/խառնուրդ" AsyncDelayFilter="Տեսանյութի հետաձգում (ասինխրոն)" CropFilter="Շրջանակել" +HdrTonemapFilter="HDR Տոնային Սեղմում (փոխարինում)" ScrollFilter="Ոլորում" ChromaKeyFilter="Խրոմա բանալի" ColorKeyFilter="Գույնի բանալին" @@ -45,6 +46,11 @@ Crop.Width="Լայնություն" Crop.Height="Բարձրություն" Crop.Relative="Համեմատաբար" +HdrTonemap.Description="OBS-ը կարող է ավտոմատ կերպով կատարել HDR-ից SDR տոնային սեղմում: Օգտագործեք այս զտիչը միայն այն դեպքում, եթե ձեզ անհրաժեշտ է լրացուցիչ վերահսկողություն որոշակի աղբյուրի համար:\nԱյս զտիչը չի ազդում SDR աղբյուրների վրա:" +HdrTonemap.ToneTransform="Տոնի վերափոխում" +HdrTonemap.SdrWhiteLevel="SDR սպիտակի մակարդակ" +HdrTonemap.HdrInputMaximum="HDR Առավելագույն Մուտք" +HdrTonemap.HdrOutputMaximum="HDR Առավելագույն ելք" ScrollFilter.SpeedX="Հորիզոնական արագություն" ScrollFilter.SpeedY="Ուղղահայաց արագություն" ScrollFilter.LimitWidth="Սահմանափակ լայնությունը"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-filters/data/locale/ka-GE.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-filters/data/locale/ka-GE.ini
Changed
@@ -64,7 +64,7 @@ NoiseGate.OpenThreshold="გახსნის ზღურბლი" NoiseGate.CloseThreshold="ჩაკეტვის ზღურბლი" NoiseGate.AttackTime="გამძაფრების დრო" -NoiseGate.HoldTime="დაყოვნების დრო" +NoiseGate.HoldTime="შენარჩუნების დრო" NoiseGate.ReleaseTime="დაცხრომის დრო" Gain.GainDB="გაძლიერება" StretchImage="სურათის გაწელვა (გვერდების თანაფარდობის უგულებელყოფა)" @@ -106,7 +106,7 @@ Expander.OutputGain="გამოტანის გაძლიერება" Expander.Detector="დადგენა" Expander.RMS="საშ. კვადრატულით (RMS)" -Expander.Peak="უკიდურესი დონეებით" +Expander.Peak="უკიდურესი გადახრით" Expander.None="არცერთით" Expander.Presets="მზა პარამეტრები" Expander.Presets.Expander="განმვრცობი"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-filters/data/locale/pt-BR.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-filters/data/locale/pt-BR.ini
Changed
@@ -43,6 +43,7 @@ Crop.Width="Largura" Crop.Height="Altura" Crop.Relative="Relativo" +HdrTonemap.Description="O OBS pode executar o mapeamento de tom HDR para SDR automaticamente. Use este filtro somente se você precisa de controle adicional para uma fonte específica.\nEste filtro não tem efeito sobre fontes SDR." HdrTonemap.ToneTransform="Transformação de tom" HdrTonemap.SdrWhiteLevel="Nível de Branco SDR" HdrTonemap.HdrInputMaximum="Entrada HDR Máximo"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-filters/data/locale/pt-PT.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-filters/data/locale/pt-PT.ini
Changed
@@ -46,6 +46,7 @@ Crop.Width="Largura" Crop.Height="Altura" Crop.Relative="Relativo" +HdrTonemap.Description="O OBS pode executar o mapeamento de tom HDR para SDR automaticamente. Use este filtro apenas se precisa de controlo adicional para uma fonte específica.\nEste filtro não tem efeito sobre fontes SDR." HdrTonemap.ToneTransform="Transformação de tons" HdrTonemap.SdrWhiteLevel="Nível de brancos SDR" HdrTonemap.HdrInputMaximum="Máximo de entrada HDR"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-filters/data/locale/ro-RO.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-filters/data/locale/ro-RO.ini
Changed
@@ -49,7 +49,7 @@ HdrTonemap.ToneTransform="Transformare tonală" HdrTonemap.SdrWhiteLevel="Nivel alb SDR" HdrTonemap.HdrInputMaximum="Intrare HDR Maximă" -HdrTonemap.HdrOutputMaximum="Ieșire HDR Maximă" +HdrTonemap.HdrOutputMaximum="Maximul outputului HDR" ScrollFilter.SpeedX="Viteză orizontală" ScrollFilter.SpeedY="Viteză verticală" ScrollFilter.LimitWidth="Limitează lățimea" @@ -59,7 +59,6 @@ Red="Roșu" Green="Verde" Blue="Albastru" -Magenta="Purpuriu" NoiseGate.OpenThreshold="Prag de deschidere" NoiseGate.CloseThreshold="Prag de închidere" NoiseGate.AttackTime="Timp de atac"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-filters/data/locale/ru-RU.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-filters/data/locale/ru-RU.ini
Changed
@@ -118,6 +118,6 @@ Luma.LumaMinSmooth="Сглаживание мин. яркости" NvidiaGreenscreenFilter="Удаление фона NVIDIA" Greenscreen.Mode="Режим" -Greenscreen.Quality="Качество (высокая нагрузка на GPU, лучшее качество)" -Greenscreen.Performance="Производительность (низкая нагрузка на GPU, хорошее качество)" +Greenscreen.Quality="Качество (высокая нагрузка на ГП, лучшее качество)" +Greenscreen.Performance="Производительность (низкая нагрузка на ГП, хорошее качество)" Greenscreen.Threshold="Порог"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-filters/data/locale/tr-TR.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-filters/data/locale/tr-TR.ini
Changed
@@ -46,6 +46,7 @@ Crop.Width="Genişlik" Crop.Height="Yükseklik" Crop.Relative="Göreceli" +HdrTonemap.Description="OBS, HDR'den SDR'ye ton haritalamasını otomatik olarak gerçekleştirebilir. Bu filtreyi yalnızca belirli bir kaynak için ek kontrole ihtiyacınız varsa kullanın.\nBu filtrenin SDR kaynaklar üzerinde hiçbir etkisi yoktur." HdrTonemap.ToneTransform="Ton Dönüştürme" HdrTonemap.SdrWhiteLevel="SDR Beyaz Seviyesi" HdrTonemap.HdrInputMaximum="HDR Maksimum Giriş"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-filters/data/locale/vi-VN.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-filters/data/locale/vi-VN.ini
Changed
@@ -60,3 +60,4 @@ Compressor="Bộ nén" Compressor.Ratio="Tỷ lệ" Limiter="Bộ giới hạn" +Greenscreen.Mode="Chế độ"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-filters/hdr-tonemap-filter.c -> obs-studio-28.1.1.tar.xz/plugins/obs-filters/hdr-tonemap-filter.c
Changed
@@ -102,13 +102,13 @@ { obs_properties_t *props = obs_properties_create(); - obs_property_t *p = obs_properties_add_text( - props, "override_info", - obs_module_text("HdrTonemap.Description"), OBS_TEXT_INFO); + obs_properties_add_text(props, "override_info", + obs_module_text("HdrTonemap.Description"), + OBS_TEXT_INFO); - p = obs_properties_add_list(props, "transform", - obs_module_text("HdrTonemap.ToneTransform"), - OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_INT); + obs_property_t *p = obs_properties_add_list( + props, "transform", obs_module_text("HdrTonemap.ToneTransform"), + OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_INT); obs_property_list_add_int(p, obs_module_text("HdrTonemap.SdrReinhard"), TRANSFORM_SDR_REINHARD); obs_property_list_add_int(p, obs_module_text("HdrTonemap.HdrMaxrgb"),
View file
obs-studio-28.0.3.tar.xz/plugins/obs-filters/noise-suppress-filter.c -> obs-studio-28.1.1.tar.xz/plugins/obs-filters/noise-suppress-filter.c
Changed
@@ -1046,8 +1046,6 @@ size_t segment_size = ng->frames * sizeof(float); size_t out_size; obs_source_t *parent = obs_filter_get_parent(ng->context); - const char *name = obs_source_get_name(parent); - const char *id = obs_source_get_id(parent); enum speaker_layout layout = obs_source_get_speaker_layout(parent); ng->has_mono_src = layout == SPEAKERS_MONO && ng->channels == 2;
View file
obs-studio-28.0.3.tar.xz/plugins/obs-outputs/data/locale/fa-IR.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-outputs/data/locale/fa-IR.ini
Changed
@@ -1,4 +1,5 @@ RTMPStream="پخش زنده RTMP" +RTMPStream.DropThreshold="آستانه سقوط" FLVOutput="خروجی پرونده FLV" FLVOutput.FilePath="مسر پرونده" Default="پیش فرض"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-qsv11/data/locale/da-DK.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-qsv11/data/locale/da-DK.ini
Changed
@@ -10,3 +10,5 @@ Latency="Latenstid" Latency.ToolTip="Der er omkostning mellem latenstid og kvalitet.\nForetrækkes kvalitet i situationen, så vælg tilstanden 'normal', der kan betyde >2 s ende-til-ende latenstid.\nKræver situationen <500 ms ende-til-ende latenstid, så vælg tilstanden 'ultralav'." SubjectiveVideoEnhancements="Subjektive Videoforbedringer" +8bitUnsupportedHdr="OBS understøtter ikke 8-bit output fra Rec. 2100." +10bitUnsupportedAvc="Kan ikke udføre 10-bit kode på Intel QSV H.264-koder."
View file
obs-studio-28.0.3.tar.xz/plugins/obs-qsv11/data/locale/et-EE.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-qsv11/data/locale/et-EE.ini
Changed
@@ -8,6 +8,7 @@ Convergence="Lähenemine" ICQQuality="ICQ Kvaliteet" Latency="Latsentsus" +Latency.ToolTip="Viivitusaja ja kvaliteedi vahel on kompromiss.\nKui eelistate kvaliteeti, valige palun režiim \"normaalne\", mis võib saavutada > 2 s otsast-otsani viivitusaja.\nKui on vaja < 500 ms otsast-lõpuni viivitusaega, valige palun režiim \"ülimadal\"." SubjectiveVideoEnhancements="Subjektiivsed video täiustused" 8bitUnsupportedHdr="OBS ei toeta Rec. 2100 8-bitist väljundit." 10bitUnsupportedAvc="Intel QSV H.264 kodeerijal ei ole võimalik 10-bitist kodeerimist teostada."
View file
obs-studio-28.0.3.tar.xz/plugins/obs-qsv11/data/locale/fa-IR.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-qsv11/data/locale/fa-IR.ini
Changed
@@ -2,6 +2,7 @@ Bitrate="نرخ بیت" MaxBitrate="حداکثر میزان نرخ بیت" RateControl="کنترل نرخ" +KeyframeIntervalSec="فاصله فریم کلیدی (0=خودکار)" Profile="پروفایل" Accuracy="دقت" Convergence="همگرایی" @@ -9,3 +10,5 @@ Latency="تأخیر" Latency.ToolTip="معامله بین تأخیر و کیفیت وجود دارد.\nاگر پرونده شما کیفیت را ترجیح می دهد، لطفاً حالت \"عادی\" را انتخاب کنید که ممکن است تاخیر پایان به پایان> 2 ثانیه داشته باشد.\n اگر پرونده شما به <500 میلی ثانیه تاخیر پایان به پایان نیاز دارد، لطفاً حالت \"خیلی کم\" را انتخاب کنید." SubjectiveVideoEnhancements="پیشرفت های ویدئویی ذهنی" +8bitUnsupportedHdr="OBS خروجی 8 بیتی ضبط را پشتیبانی نمی کند. 2100." +10bitUnsupportedAvc="نمی توان رمزگذاری 10 بیتی را روی رمزگذار Intel QSV H.264 انجام داد."
View file
obs-studio-28.0.3.tar.xz/plugins/obs-qsv11/data/locale/hy-AM.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-qsv11/data/locale/hy-AM.ini
Changed
@@ -10,3 +10,5 @@ Latency="Լատենտություն" Latency.ToolTip="Կա փոխզիջում հապաղման և որակի միջև:\nԵթե ձեր գործն առաջնահերթություն է տալիս որակին, խնդրում ենք ընտրել «Նորմալ» ռեժիմը, որը կարող է ունենալ >2 վրկ վերջից մինչև վերջ հապաղում:\nԵթե ձեր գործը պահանջում է < 500 մս վերջից մինչև վերջ հապաղում: , խնդրում ենք ընտրել «Ուլտրա-ցածր» ռեժիմը:" SubjectiveVideoEnhancements="Տեսանյութի սուբյեկտիվ բարելավումներ" +8bitUnsupportedHdr="OBS-ը չի աջակցում 8-բիթ Rec. 2100-ի ելքը" +10bitUnsupportedAvc="Հնարավոր չէ կատարել 10-բիթանոց կոդավորում Intel QSV H.264 կոդավորիչի վրա։"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-qsv11/data/locale/pt-BR.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-qsv11/data/locale/pt-BR.ini
Changed
@@ -1,4 +1,4 @@ -TargetUsage="Uso Alvo" +TargetUsage="Uso do alvo" RateControl="Controle de Bitrate" KeyframeIntervalSec="Intervalo de Keyframe (0=auto)" Profile="Perfil"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-qsv11/data/locale/ro-RO.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-qsv11/data/locale/ro-RO.ini
Changed
@@ -10,5 +10,5 @@ Latency="Latență" Latency.ToolTip="Există un compromis între latență și calitate.\nDacă cazul dvs. preferă calitatea, vă rugăm să selectați modul 'normal', care poate primi > 2s latență end-to-end.\nDacă cazul tău necesită < 500ms latență cap la cap, te rugăm să selectezi modul 'ultra-low'." SubjectiveVideoEnhancements="Îmbunătățiri video subiective" -8bitUnsupportedHdr="OBS nu suportă ieșirea pe 8 biți a Rec. 2100." +8bitUnsupportedHdr="OBS nu suportă outputul pe 8 biți a Rec. 2100." 10bitUnsupportedAvc="Nu se poate efectua codificarea de 10 biți pe codificatorul Intel QSV H.264."
View file
obs-studio-28.0.3.tar.xz/plugins/obs-qsv11/data/locale/tr-TR.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-qsv11/data/locale/tr-TR.ini
Changed
@@ -10,3 +10,5 @@ Latency="Gecikme süresi" Latency.ToolTip="Gecikme ve kalite arasında bir denge vardır.\nKaliteyi tercih ediyorsanız, lütfen 2s'den uzun uçtan uca gecikme süresine çıkabilen 'normal' modunu seçin.\nDurumunuz 500ms'den düşük uçtan uca gecikme gerektiriyorsa, lütfen 'ultra düşük' modunu seçin." SubjectiveVideoEnhancements="Öznel Video Geliştirmeleri" +8bitUnsupportedHdr="OBS Rec. 2100'ün 8-bit olarak çıkışını desteklemiyor." +10bitUnsupportedAvc="Intel QSV H.264 kodlayıcıda 10-bit kodlama gerçekleştirilemiyor."
View file
obs-studio-28.0.3.tar.xz/plugins/obs-transitions/data/locale/da-DK.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-transitions/data/locale/da-DK.ini
Changed
@@ -19,6 +19,7 @@ TransitionPointType="Overgangspunkttype" AudioTransitionPointType="Lydovergangspunkttype" TransitionPointTypeFrame="Billede" +TransitionPointTypeTime="Tid" TrackMatteEnabled="Brug en Track Matte" InvertTrackMatte="Invertér Matte-farver" TrackMatteVideoFile="Track Matte-videofil"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-transitions/data/locale/hy-AM.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-transitions/data/locale/hy-AM.ini
Changed
@@ -19,6 +19,7 @@ TransitionPointType="Անցումային կետի տեսակը" AudioTransitionPointType="Ձայնային անցումային կետի տեսակը" TransitionPointTypeFrame="Կադր" +TransitionPointTypeTime="Ժամանակ" TrackMatteEnabled="ՕգտագործելTrack Matte-ը" InvertTrackMatte="Շրջել Matte-ի գույները" TrackMatteVideoFile="Հետագծել Matte վիդեո ֆայլին"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-transitions/data/locale/vi-VN.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-transitions/data/locale/vi-VN.ini
Changed
@@ -18,6 +18,7 @@ TransitionPointType="Loại điểm chuyển cảnh" AudioTransitionPointType="Loại điểm chuyển tiếp âm thanh" TransitionPointTypeFrame="Khung hình" +TransitionPointTypeTime="Thời gian" TrackMatteEnabled="Sử dụng một lớp mờ theo dõi" InvertTrackMatte="Đảo ngược các màu lớp mờ" TrackMatteVideoFile="Theo dõi tệp video lớp mờ"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-vst/obs-vst.cpp -> obs-studio-28.1.1.tar.xz/plugins/obs-vst/obs-vst.cpp
Changed
@@ -289,6 +289,35 @@ } } +static bool vst_changed(void *data, obs_properties_t *props, + obs_property_t *list, obs_data_t *settings) +{ + UNUSED_PARAMETER(settings); + UNUSED_PARAMETER(list); + + bool open_settings_vis = true; + bool close_settings_vis = false; + if (data) { + VSTPlugin *vstPlugin = (VSTPlugin *)data; + if (!vstPlugin->vstLoaded()) { + close_settings_vis = false; + open_settings_vis = false; + } else { + if (vstPlugin->isEditorOpen()) { + close_settings_vis = true; + open_settings_vis = false; + } + } + } + + obs_property_set_visible(obs_properties_get(props, OPEN_VST_SETTINGS), + open_settings_vis); + obs_property_set_visible(obs_properties_get(props, CLOSE_VST_SETTINGS), + close_settings_vis); + + return true; +} + static obs_properties_t *vst_properties(void *data) { obs_properties_t *props = obs_properties_create(); @@ -327,6 +356,8 @@ obs_properties_add_bool(props, OPEN_WHEN_ACTIVE_VST_SETTINGS, OPEN_WHEN_ACTIVE_VST_TEXT); + obs_property_set_modified_callback2(list, vst_changed, data); + return props; }
View file
obs-studio-28.0.3.tar.xz/plugins/obs-x264/data/locale/da-DK.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-x264/data/locale/da-DK.ini
Changed
@@ -9,4 +9,5 @@ None="(Ingen)" EncoderOptions="x264-indstillinger (adskilt af mellemrum)" VFR="Variable billedhastighed (VFR)" +10bitUnsupported="OBS understøtter ikke brug af x264 med 10-bit formater." HdrUnsupported="OBS understøtter ikke brug af x264 med Rec. 2100."
View file
obs-studio-28.0.3.tar.xz/plugins/obs-x264/data/locale/fa-IR.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-x264/data/locale/fa-IR.ini
Changed
@@ -2,10 +2,12 @@ CustomBufsize="استفاده از اندازه بافر سفارشی" BufferSize="اندازه بافر" RateControl="کنترل نرخ" +KeyframeIntervalSec="فاصله فریم کلیدی (0=خودکار)" CPUPreset="استفاده پیشفرض از CPU (بالاتر = CPU کمتر)" Profile="پروفایل" Tune="تون" None="(هیچ کدام)" EncoderOptions="آپشن های x264 (با فضای جدا شده )" VFR="فریم های متغیر (وی اف ار)" +10bitUnsupported="OBS از استفاده از x264 با فرمت های 10 بیتی پشتیبانی نمی کند." HdrUnsupported="OBS از استفاده از x264 با ضبط 2100 پشتیبانی نمی کند."
View file
obs-studio-28.0.3.tar.xz/plugins/obs-x264/data/locale/hy-AM.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-x264/data/locale/hy-AM.ini
Changed
@@ -9,4 +9,5 @@ None="(Ոչ մի)" EncoderOptions="x264 կարգավորումներ (տարանջատված տարածք)" VFR="Փոփոխական կադրերի արագություն (VFR)" +10bitUnsupported="OBS-ը չի աջակցում x264-ի օգտագործումը 10 բիթ ձևաչափերով" HdrUnsupported="OBS-ը չի աջակցում x264-ի օգտագործումը Rec.-ով 2100 թ."
View file
obs-studio-28.0.3.tar.xz/plugins/obs-x264/data/locale/ka-GE.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-x264/data/locale/ka-GE.ini
Changed
@@ -1,9 +1,9 @@ Bitrate="ბიტური სიხშირე" -CustomBufsize="ბუფერის მითითებული ზომის გამოყენება" -BufferSize="ბუფერის ზომა" +CustomBufsize="მომარაგების მითითებული ზომა" +BufferSize="მომარაგების ზომა" RateControl="სიხშირის მართვა" KeyframeIntervalSec="საკვანძო კადრების დაშორება (0=თვითშერჩევა)" -CPUPreset="პროცესორის მოხმარების მზა პარამეტრები (მაღალი = ნაკლები CPU-დატვირთვა)" +CPUPreset="პროცესორის მზა პარამეტრები (მაღალი = ნაკლები CPU-დატვირთვა)" Profile="პროფილი" Tune="გამართვა" None="(არცერთი)"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-x264/data/locale/pt-BR.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-x264/data/locale/pt-BR.ini
Changed
@@ -3,7 +3,7 @@ BufferSize="Tamanho do Buffer" RateControl="Controle da taxa de bits" KeyframeIntervalSec="Intervalo de Keyframe (0=auto)" -CPUPreset="Predefinição de uso de CPU (mais alto = menos CPU)" +CPUPreset="Predef. de uso de CPU (maior = menos CPU)" Profile="Perfil" Tune="Ajustar" None="(Nenhum)"
View file
obs-studio-28.0.3.tar.xz/plugins/obs-x264/data/locale/tr-TR.ini -> obs-studio-28.1.1.tar.xz/plugins/obs-x264/data/locale/tr-TR.ini
Changed
@@ -9,4 +9,5 @@ None="(Yok)" EncoderOptions="x264 Ayarları (boşlukla ayrılmış)" VFR="Değişken Kare Hızı (VFR)" +10bitUnsupported="OBS, x264'ü 10-bit formatlar ile kullanmayı desteklemiyor." HdrUnsupported="OBS, x264'ün Rec. 2100 ile kullanımını desteklemiyor."
View file
obs-studio-28.0.3.tar.xz/plugins/rtmp-services/data/locale/ro-RO.ini -> obs-studio-28.1.1.tar.xz/plugins/rtmp-services/data/locale/ro-RO.ini
Changed
@@ -1,4 +1,4 @@ -StreamingServices="Servicii de streaming" +StreamingServices="Servicii de transmisiune" CustomStreamingServer="Server personalizat de transmisiune" Service="Serviciu" Server.Auto="Automat (Recomandat)" @@ -6,4 +6,4 @@ UseAuth="Folosește autentificarea" Username="Nume de utilizator" Password="Parolă" -ShowAll="Arată toate serviciile" +ShowAll="Afișează toate serviciile"
View file
obs-studio-28.0.3.tar.xz/plugins/rtmp-services/data/package.json -> obs-studio-28.1.1.tar.xz/plugins/rtmp-services/data/package.json
Changed
@@ -1,11 +1,11 @@ { "$schema": "schema/package-schema.json", "url": "https://obsproject.com/obs2_update/rtmp-services", - "version": 208, + "version": 211, "files": { "name": "services.json", - "version": 208 + "version": 211 } }
View file
obs-studio-28.0.3.tar.xz/plugins/rtmp-services/data/services.json -> obs-studio-28.1.1.tar.xz/plugins/rtmp-services/data/services.json
Changed
@@ -558,46 +558,22 @@ "url": "rtmp://amsterdam.restream.io/live" }, { - "name": "EU-West (Luxembourg)", - "url": "rtmp://luxembourg.restream.io/live" - }, - { "name": "EU-West (Paris, FR)", "url": "rtmp://paris.restream.io/live" }, { - "name": "EU-West (Milan, IT)", - "url": "rtmp://milan.restream.io/live" - }, - { "name": "EU-Central (Frankfurt, DE)", "url": "rtmp://frankfurt.restream.io/live" }, { - "name": "EU-East (Falkenstein, DE)", - "url": "rtmp://falkenstein.restream.io/live" - }, - { - "name": "EU-East (Prague, Czech)", - "url": "rtmp://prague.restream.io/live" - }, - { "name": "EU-South (Madrid, Spain)", "url": "rtmp://madrid.restream.io/live" }, { - "name": "Russia (Moscow)", - "url": "rtmp://moscow.restream.io/live" - }, - { "name": "Turkey (Istanbul)", "url": "rtmp://istanbul.restream.io/live" }, { - "name": "Israel (Tel Aviv)", - "url": "rtmp://telaviv.restream.io/live" - }, - { "name": "US-West (Seattle, WA)", "url": "rtmp://seattle.restream.io/live" }, @@ -610,16 +586,16 @@ "url": "rtmp://dallas.restream.io/live" }, { - "name": "US-East (Washington, DC)", - "url": "rtmp://washington.restream.io/live" + "name": "US-East (Chicago, IL)", + "url": "rtmp://chicago.restream.io/live" }, { - "name": "US-East (Miami, FL)", - "url": "rtmp://miami.restream.io/live" + "name": "US-East (New York, NY)", + "url": "rtmp://newyork.restream.io/live" }, { - "name": "US-East (Chicago, IL)", - "url": "rtmp://chicago.restream.io/live" + "name": "US-East (Washington, DC)", + "url": "rtmp://washington.restream.io/live" }, { "name": "NA-East (Toronto, Canada)", @@ -634,6 +610,10 @@ "url": "rtmp://bangalore.restream.io/live" }, { + "name": "Asia (Hong Kong)", + "url": "rtmp://hongkong.restream.io/live" + }, + { "name": "Asia (Singapore)", "url": "rtmp://singapore.restream.io/live" }, @@ -1896,6 +1876,10 @@ "url": "ingest.cyyz.live.glimesh.tv" }, { + "name": "South America - Sao Paulo, Brazil", + "url": "ingest.sbgr.live.glimesh.tv" + }, + { "name": "Europe - Amsterdam, Netherlands", "url": "ingest.eham.live.glimesh.tv" }, @@ -1914,6 +1898,10 @@ { "name": "Asia - Singapore", "url": "ingest.wsss.live.glimesh.tv" + }, + { + "name": "Australia - Sydney, Australia", + "url": "ingest.yssy.live.glimesh.tv" } , "recommended": { @@ -1926,6 +1914,63 @@ } }, { + "name": "Glimesh - RTMP", + "stream_key_link": "https://glimesh.tv/users/settings/stream", + "servers": + { + "name": "North America - Chicago, United States", + "url": "rtmp://ingest.kord.live.glimesh.tv" + }, + { + "name": "North America - New York, United States", + "url": "rtmp://ingest.kjfk.live.glimesh.tv" + }, + { + "name": "North America - San Francisco, United States", + "url": "rtmp://ingest.ksfo.live.glimesh.tv" + }, + { + "name": "North America - Toronto, Canada", + "url": "rtmp://ingest.cyyz.live.glimesh.tv" + }, + { + "name": "South America - Sao Paulo, Brazil", + "url": "rtmp://ingest.sbgr.live.glimesh.tv" + }, + { + "name": "Europe - Amsterdam, Netherlands", + "url": "rtmp://ingest.eham.live.glimesh.tv" + }, + { + "name": "Europe - Frankfurt, Germany", + "url": "rtmp://ingest.eddf.live.glimesh.tv" + }, + { + "name": "Europe - London, United Kingdom", + "url": "rtmp://ingest.egll.live.glimesh.tv" + }, + { + "name": "Asia - Bangalore, India", + "url": "rtmp://ingest.vobl.live.glimesh.tv" + }, + { + "name": "Asia - Singapore", + "url": "rtmp://ingest.wsss.live.glimesh.tv" + }, + { + "name": "Australia - Sydney, Australia", + "url": "rtmp://ingest.yssy.live.glimesh.tv" + } + , + "recommended": { + "keyint": 2, + "max audio bitrate": 160, + "max video bitrate": 6000, + "bframes": 0, + "x264opts": "scenecut=0" + } + }, + { "name": "OPENREC.tv - Premium member (プレミアム会員)", "stream_key_link": "https://www.openrec.tv/login?keep_login=true&url=https://www.openrec.tv/dashboard/live?from=obs", "servers": @@ -2440,10 +2485,6 @@ "url": "rtmp://us-central-dal.livepush.io/live" }, { - "name": "Portland, US", - "url": "rtmp://us-west-og.livepush.io/live" - }, - { "name": "Montreal, CA", "url": "rtmp://ca-central-mon.livepush.io/live" }, @@ -2484,6 +2525,27 @@ "keyint": 2, "max video bitrate": 16000 } + }, + { + "name": "Vindral", + "more_info_link": "https://docs.vindral.com/docs/vindral-cdn/", + "servers": + { + "name": "eu-north", + "url": "rtmps://rtmp.eu-north.cdn.vindral.com/publish" + }, + { + "name": "eu-west", + "url": "rtmps://rtmp.eu-west.cdn.vindral.com/publish" + } + , + "recommended": { + "keyint": 1, + "profile": "high", + "bframes": 0, + "max video bitrate": 20000, + "max audio bitrate": 192 + } } }
View file
obs-studio-28.0.3.tar.xz/plugins/vlc-video/data/locale/fa-IR.ini -> obs-studio-28.1.1.tar.xz/plugins/vlc-video/data/locale/fa-IR.ini
Changed
@@ -6,6 +6,7 @@ PlaybackBehavior.StopRestart="توقف زمانی که قابل مشاهده نیست، راه اندازی مجدد زمانی که قابل مشاهده است" PlaybackBehavior.PauseUnpause="توقف زمانی که قابل مشاهده نیست، راه اندازی مجدد زمانی که قابل مشاهده است" PlaybackBehavior.AlwaysPlay="همیشه حتی وقتی دیده نمی شود اجرا کنید" +NetworkCaching="کش شبکه" PlayPause="پخش/توقف" Restart="راه اندازی مجدد" Stop="توقف"
View file
obs-studio-28.0.3.tar.xz/plugins/vlc-video/data/locale/pt-BR.ini -> obs-studio-28.1.1.tar.xz/plugins/vlc-video/data/locale/pt-BR.ini
Changed
@@ -13,5 +13,5 @@ PlaylistNext="Próximo" PlaylistPrev="Anterior" AudioTrack="Faixa de áudio" -SubtitleTrack="Faixa de legenda" +SubtitleTrack="Faixa de legendas" SubtitleEnable="Legendas ativadas"
View file
obs-studio-28.0.3.tar.xz/plugins/vlc-video/data/locale/ro-RO.ini -> obs-studio-28.1.1.tar.xz/plugins/vlc-video/data/locale/ro-RO.ini
Changed
@@ -12,5 +12,5 @@ PlaylistNext="Următorul" PlaylistPrev="Anteriorul" AudioTrack="Pistă audio" -SubtitleTrack="Pistă de subtitrare" +SubtitleTrack="Pista subtitrării" SubtitleEnable="Subtitrări activate"
View file
obs-studio-28.0.3.tar.xz/plugins/vlc-video/data/locale/vi-VN.ini -> obs-studio-28.1.1.tar.xz/plugins/vlc-video/data/locale/vi-VN.ini
Changed
@@ -6,6 +6,7 @@ PlaybackBehavior.StopRestart="Dừng khi không hiển thị, khởi động lại khi hiển thị" PlaybackBehavior.PauseUnpause="Tạm dừng khi không hiển thị, bỏ tạm dừng khi hiển thị" PlaybackBehavior.AlwaysPlay="Luôn luôn chơi ngay cả khi không nhìn thấy được" +NetworkCaching="Đệm bộ nhớ mạng" PlayPause="Phát/Tạm dừng" Restart="Khởi động lại" Stop="Dừng"
View file
obs-studio-28.0.3.tar.xz/plugins/vlc-video/vlc-video-source.c -> obs-studio-28.1.1.tar.xz/plugins/vlc-video/vlc-video-source.c
Changed
@@ -668,6 +668,10 @@ for (size_t i = 0; i < count; i++) { obs_data_t *item = obs_data_array_item(array, i); const char *path = obs_data_get_string(item, "value"); + if (!path || !*path) { + obs_data_release(item); + continue; + } os_dir_t *dir = os_opendir(path); if (dir) { @@ -1154,7 +1158,10 @@ const char *path = obs_data_get_string(file, "value"); if (strcmp(path, orig_path) == 0) { - obs_data_set_string(file, "value", new_path); + if (new_path && *new_path) + obs_data_set_string(file, "value", new_path); + else + obs_data_array_erase(files, i); obs_data_release(file); break;
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/ar-SA.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/ar-SA.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="مؤشر الالتقاط" Compatibility="توافق محول متعدد" ClientArea="بدون شريط العنوان" +ForceSdr="الإجبار على المزامنة SDR" SLIFix="وضع إلتقاط SLI/Crossfire (بطيء)" AllowTransparency="السماح بالشفافية" Monitor="جهاز العرض"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/ca-ES.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/ca-ES.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="Captura el cursor" Compatibility="Compatibilitat multiadaptador" ClientArea="Àrea del client" +ForceSdr="Força l'SDR" SLIFix="Mode de captura SLI/Crossfire (lenta)" AllowTransparency="Permet transparència" Monitor="Pantalla"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/cs-CZ.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/cs-CZ.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="Zaznamenávat kurzor" Compatibility="Více-adaptérová kompaktibilita" ClientArea="Klientská oblast" +ForceSdr="Vynutit SDR" SLIFix="Zaznamenávací mód SLI/Crossfire (pomalý)" AllowTransparency="Povolit průhlednost" Monitor="Obrazovka"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/da-DK.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/da-DK.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="Optag markøren" Compatibility="Multi-adapter kompatibilitet" ClientArea="Klientområde" +ForceSdr="Gennemtving SDR" SLIFix="SLI-/Crossfire-optagetilstand (langsom)" AllowTransparency="Tillad gennemsigtighed" Monitor="Skærm"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/de-DE.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/de-DE.ini
Changed
@@ -5,13 +5,14 @@ WindowCapture.Method.Auto="Automatisch" WindowCapture.Method.BitBlt="BitBlt (Windows 7 und höher)" WindowCapture.Method.WindowsGraphicsCapture="Windows 10 (1903 und höher)" -WindowCapture.Priority="Fensterübereinstimmungspriorität" +WindowCapture.Priority="Übereinstimmungspriorität" WindowCapture.Priority.Title="Fenstertitel muss übereinstimmen" WindowCapture.Priority.Class="Fenstertitel muss übereinstimmen, ansonsten Fenster des gleichen Typs finden" WindowCapture.Priority.Exe="Fenstertitel muss übereinstimmen, ansonsten Fenster des gleichen Programms finden" CaptureCursor="Mauszeiger aufnehmen" Compatibility="Multi-Adapter-Kompatibilität" ClientArea="Client-Bereich" +ForceSdr="SDR erzwingen" SLIFix="SLI-/Crossfire-Aufnahmemodus (langsam)" AllowTransparency="Transparenz erlauben" Monitor="Bildschirm"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/es-ES.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/es-ES.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="Captura de Cursor" Compatibility="Compatibilidad multiadaptador" ClientArea="Área del cliente" +ForceSdr="Forzar SDR" SLIFix="Modo de captura SLI/Crossfire (lenta)" AllowTransparency="Permitir transparencia" Monitor="Pantalla"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/et-EE.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/et-EE.ini
Changed
@@ -4,6 +4,7 @@ WindowCapture.Method.Auto="Automaatne" CaptureCursor="Jäädvusta kursor" Compatibility="Mitme adapteri ühilduvus" +ForceSdr="Sunni SDR" AllowTransparency="Luba läbipaistvus" Monitor="Kuvar" PrimaryMonitor="Esmane kuvar"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/fa-IR.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/fa-IR.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="ضبط مکان نمای ماوس" Compatibility="سازگاری چند آداپتور" ClientArea="منطقه کلاینت" +ForceSdr="SDR اجباری" SLIFix="حالت ضبط SLI/Crossfire (آهسته)" AllowTransparency="اجازه شفافیت" Monitor="نمایش"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/fi-FI.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/fi-FI.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="Kaappaa kursori" Compatibility="Monen sovittimen yhteensopivuus" ClientArea="Asiakkaan Alue" +ForceSdr="Pakota SDR" SLIFix="SLI/Crossfire-kaappaustila (Hidas)" AllowTransparency="Salli läpinäkyvyys" Monitor="Monitori"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/fr-FR.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/fr-FR.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="Capturer le curseur" Compatibility="Compatibilité multi-cartes graphiques" ClientArea="Zone cliente" +ForceSdr="Forcer le SDR" SLIFix="Mode de capture SLI/Crossfire (Lent)" AllowTransparency="Autoriser la transparence" Monitor="Écran"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/he-IL.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/he-IL.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="לכד סמן" Compatibility="מתאם מרובה תאימות" ClientArea="אזור לקוח" +ForceSdr="אכיפת SDR" SLIFix="SLI/Crossfire מצב לכידה (איטי)" AllowTransparency="אפשר שקיפות" Monitor="צג"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/hi-IN.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/hi-IN.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="कर्सर कैप्चर करें" Compatibility="मल्टी-एडाप्टर संगतता" ClientArea="क्लाइंट क्षेत्र" +ForceSdr="केवल SDR लागू करें" SLIFix="SLI/क्रॉसफ़ायर कैप्चर मोड (धीमा)" AllowTransparency="पारदर्शिता की अनुमति दें" Monitor="डिस्प्ले"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/hu-HU.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/hu-HU.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="Kurzor felvétele" Compatibility="Több adapteres kompatibilitás" ClientArea="Kliensterület" +ForceSdr="SDR kényszerítése" SLIFix="SLI/Crossfire rögzítési mód (Lassú)" AllowTransparency="Áttetszőség engedélyezése" Monitor="Kijelző"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/hy-AM.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/hy-AM.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="Կուրսորի գրավում" Compatibility="Համատեղելի է բազմաբնույթ ադապտեր" ClientArea="Հաճախորդի տարածք" +ForceSdr="Ստիպողական SDR" SLIFix="SLI/Crossfire Նկարահանման ռեժիմ (Դանդաղ)" AllowTransparency="Թույլ տալ թափանցիկություն" Monitor="Էկրան"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/id-ID.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/id-ID.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="Tangkap Kursor" Compatibility="Kompatibilitas Multi-adapter" ClientArea="Area Client" +ForceSdr="Paksa SDR" SLIFix="Mode Tangkapan Gambar SLI/Crossfire (Lambat)" AllowTransparency="Izinkan Transparansi" Monitor="Tampilan"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/it-IT.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/it-IT.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="Cattura il cursore" Compatibility="Attiva la compatibilità a più adattatori video" ClientArea="Area cliente" +ForceSdr="Forza SDR" SLIFix="Modalità di cattura per SLI/Crossfire (lenta)" AllowTransparency="Permetti la trasparenza" Monitor="Schermo"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/ja-JP.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/ja-JP.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="カーソルをキャプチャする" Compatibility="マルチアダプターの互換性" ClientArea="クライアント領域" +ForceSdr="SDRを強制する" SLIFix="SLI/Crossfire キャプチャモード (遅い)" AllowTransparency="透過を許可" Monitor="画面"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/ka-GE.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/ka-GE.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="მაჩვენებლის ასახვა" Compatibility="რამდენიმე ვიდეოდაფის მქონე სისტემასთან თავსებადობა" ClientArea="შიდა არე" +ForceSdr="იძულებითი SDR" SLIFix="SLI/Crossfire გადაღების რეჟიმი (ნელი)" AllowTransparency="გამჭვირვალობის დაშვება" Monitor="ეკრანი"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/kmr-TR.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/kmr-TR.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="Nîşankerê bigire" Compatibility="Lihevhatina pir-adapter" ClientArea="Tenê naveroka çarçoveyê" +ForceSdr="Hêza SDR" SLIFix="Awayê girtinê SLI/Crossfir (hêdî)" AllowTransparency="Mafê bide zelaliyê" Monitor="Dîmender"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/ko-KR.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/ko-KR.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="커서 캡쳐" Compatibility="다중 어댑터 호환성" ClientArea="클라이언트 영역" +ForceSdr="SDR 강제" SLIFix="SLI/Crossfire 캡쳐 사용 (속도 느림)" AllowTransparency="투명도 허용" Monitor="디스플레이" @@ -21,7 +22,7 @@ Method.DXGI="DXGI 데스크탑 복사" Method.WindowsGraphicsCapture="Windows 10 (1903 이상)" GameCapture="게임 캡쳐" -GameCapture.AnyFullscreen="어떤 전체화면 응용 프로그램이건 캡쳐" +GameCapture.AnyFullscreen="전체 화면 응용 프로그램 캡처" GameCapture.CaptureWindow="특정 창을 캡쳐" GameCapture.UseHotkey="단축키로 전경에 있는 창을 캡쳐" GameCapture.LimitFramerate="캡처 프레임 레이트 제한"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/ms-MY.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/ms-MY.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="Tangkap Kursor" Compatibility="Keserasian Penyesuai-berbilang" ClientArea="Kawasan Klien" +ForceSdr="Paksa SDR" SLIFix="Mod Tangkap SLI/Crossfire (Perlahan)" AllowTransparency="Benarkan Kelutsinaran" Monitor="Paparan"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/nl-NL.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/nl-NL.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="Cursor Opnemen" Compatibility="Multi-adapter Compatibiliteit" ClientArea="Applicatiegebied" +ForceSdr="Forceer SDR" SLIFix="SLI/Crossfire Capturemodus (Langzaam)" AllowTransparency="Transparantie Toestaan" Monitor="Beeldscherm"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/pl-PL.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/pl-PL.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="Przechwytuj kursor" Compatibility="Tryb kompatybilności wielu urządzeń" ClientArea="Tylko zawartość okna" +ForceSdr="Wymuś SDR" SLIFix="Tryb przechwytywania SLI/Crossfire (wolniej)" AllowTransparency="Uwzględnij przezroczystość" Monitor="Ekran"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/pt-BR.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/pt-BR.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="Capturar o cursor" Compatibility="Compatibilidade com multiadaptador" ClientArea="Ignorar bordas" +ForceSdr="Forçar SDR" SLIFix="Modo de captura SLI/Crossfire (lento)" AllowTransparency="Permitir transparência" Monitor="Monitor"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/pt-PT.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/pt-PT.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="Capturar cursor" Compatibility="Compatibilidade multiadaptador" ClientArea="Área do cliente" +ForceSdr="Forçar SDR" SLIFix="Modo de captura SLI/Crossfire (lento)" AllowTransparency="Permitir transparência" Monitor="Ecrã"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/ro-RO.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/ro-RO.ini
Changed
@@ -4,7 +4,7 @@ WindowCapture.Method="Metodă de captură" WindowCapture.Method.Auto="Automată" WindowCapture.Method.BitBlt="BitBlt (Windows 7 și versiunile ulterioare de Windows)" -WindowCapture.Method.WindowsGraphicsCapture="Windows 10 (1903 și superior)" +WindowCapture.Method.WindowsGraphicsCapture="Windows 10 (1903 și versiunile ulterioare)" WindowCapture.Priority="Prioritate de potrivire a ferestrelor" WindowCapture.Priority.Title="Titlul ferestrei trebuie să se potrivească" WindowCapture.Priority.Class="Titlul să se potrivească, altminteri găsește o fereastră de același tip" @@ -12,10 +12,11 @@ CaptureCursor="Capturează cursorul" Compatibility="Compatibilitate pentru multiadaptoare" ClientArea="Zona de client" +ForceSdr="Forțează SDR" SLIFix="Mod de captură SLI/Crossfire (Lent)" AllowTransparency="Permite transparență" PrimaryMonitor="Monitor principal" -Method="Metodă captură" +Method="Metodă de captură" Method.Auto="Automat" Method.DXGI="Duplicare suprafață de lucru DXGI" Method.WindowsGraphicsCapture="Windows 10 (1903 și superior)"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/ru-RU.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/ru-RU.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="Захватывать курсор" Compatibility="Совместимость с мульти-адаптером" ClientArea="Область клиента" +ForceSdr="Использовать SDR принудительно" SLIFix="Режим захвата SLI/Crossfire (Медленно)" AllowTransparency="Разрешить прозрачность" Monitor="Экран"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/sk-SK.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/sk-SK.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="Zachytávať kurzor" Compatibility="Kompatibilita s viacerími adaptérmi" ClientArea="Klientská oblasť" +ForceSdr="Vynútiť SDR" SLIFix="Zaznamenávací mód SLI/Crossfire (pomalý)" AllowTransparency="Povoliť transparentnosť" Monitor="Monitor"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/sl-SI.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/sl-SI.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="Zajemaj kazalec" Compatibility="Združljivo z več karticami" ClientArea="Območje klienta" +ForceSdr="Vsili SDR" SLIFix="Način zajemanja SLI/Crossfire (počasno)" AllowTransparency="Omogoči prozornost" Monitor="Zaslon"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/sv-SE.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/sv-SE.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="Visa muspekare" Compatibility="Kompatibilitetsläge för flera grafikkort" ClientArea="Klientområde" +ForceSdr="Tvinga SDR" SLIFix="Läge för SLI/Crossfire-källa (långsam)" AllowTransparency="Tillåt opacitet" Monitor="Bildskärm"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/tr-TR.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/tr-TR.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="İmleci Yakala" Compatibility="Çoklu Bağdaştırıcı Uyumluluğu" ClientArea="Sadece pencere içeriği" +ForceSdr="SDR Kullanmaya Zorla" SLIFix="SLI/Crossfire Yakalama Modu (Yavaş)" AllowTransparency="Şeffaflığa İzin Ver" Monitor="Görüntü"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/uk-UA.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/uk-UA.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="Захоплення курсору" Compatibility="Сумісність з мультиадаптерними конфігураціями" ClientArea="Область клієнта" +ForceSdr="Примусовий SDR" SLIFix="Режим захоплення SLI/Crossfire (повільний)" AllowTransparency="Дозволити прозорість" Monitor="Дисплей"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/vi-VN.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/vi-VN.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="Quay cả con trỏ" Compatibility="Khả năng tương thích đa adapter" ClientArea="Khu vực máy khách" +ForceSdr="Ép SDR" AllowTransparency="Cho phép trong suốt" Monitor="Hiển thị" PrimaryMonitor="Màn hình chính" @@ -24,9 +25,10 @@ GameCapture.UseHotkey="Quay nền trước cửa sổ với phím nóng" GameCapture.LimitFramerate="Giới hạn framerate" GameCapture.CaptureOverlays="Quay cả overlay (chẳng hạn như Steam)" -GameCapture.AntiCheatHook="Dùng hook tương thích với phần mềm chống gian lận" +GameCapture.AntiCheatHook="Dùng móc tương thích với phần mềm chống gian lận" GameCapture.HotkeyStart="Quay nền trước cửa sổ" GameCapture.HotkeyStop="Tắt quay" +GameCapture.HookRate="Tốc Độ Móc" GameCapture.HookRate.Slow="Chậm" GameCapture.HookRate.Normal="Bình thường (nên chọn)" GameCapture.HookRate.Fast="Nhanh"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/zh-CN.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/zh-CN.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="显示鼠标指针" Compatibility="多显示器的兼容性" ClientArea="客户端区域" +ForceSdr="强制使用 SDR" SLIFix="SLI/交火采集模式 (慢)" AllowTransparency="允许窗口透明" Monitor="显示器"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/data/locale/zh-TW.ini -> obs-studio-28.1.1.tar.xz/plugins/win-capture/data/locale/zh-TW.ini
Changed
@@ -12,6 +12,7 @@ CaptureCursor="擷取游標" Compatibility="多顯示卡相容性" ClientArea="用戶端區域" +ForceSdr="強制使用 SDR" SLIFix="SLI/Crossfire擷取模式(慢)" AllowTransparency="允許透明" Monitor="顯示器"
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/game-capture.c -> obs-studio-28.1.1.tar.xz/plugins/win-capture/game-capture.c
Changed
@@ -2194,13 +2194,13 @@ static uint32_t game_capture_width(void *data) { struct game_capture *gc = data; - return gc->active ? gc->cx : 0; + return (gc->active && gc->capturing) ? gc->cx : 0; } static uint32_t game_capture_height(void *data) { struct game_capture *gc = data; - return gc->active ? gc->cy : 0; + return (gc->active && gc->capturing) ? gc->cy : 0; } static const char *game_capture_name(void *unused)
View file
obs-studio-28.0.3.tar.xz/plugins/win-capture/get-graphics-offsets/d3d9-offsets.cpp -> obs-studio-28.1.1.tar.xz/plugins/win-capture/get-graphics-offsets/d3d9-offsets.cpp
Changed
@@ -90,6 +90,8 @@ 0x00, 0x00, 0xFF, 0x00, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00}, {0xF8, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00}, + {0xF8, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00}, }; static const uint8_t mask_cmpMAX_CMP_SIZE = { @@ -121,13 +123,26 @@ * Note: different instructions, last byte skipped due to MAX_CMP_SIZE */ {0x48, 0x8B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x39, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x75, 0x00, 0x48, 0x8D, 0x00, 0x00, 0x00, 0x00}}; + 0x00, 0x00, 0x75, 0x00, 0x48, 0x8D, 0x00, 0x00, 0x00, 0x00}, + /* + * Windows 11 22H2 + * 49 8b 86 30 40 00 00 MOV RAX,qword ptr R14 + 0x4030 + * 83 b8 a0 55 00 00 00 CMP dword ptr RAX + 0x55a0,0x0 + * 75 12 JNZ LAB_1800b8662 + * 48 8d 15 b9 24 0a 00 LEA param_2,s_To_use... + * + * Note: different instructions, last byte skipped due to MAX_CMP_SIZE + */ + {0x48, 0x8B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x83, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x75, 0x00, 0x48, 0x8D, 0x00, 0x00, 0x00}, +}; // Offset into the code for the numbers we're interested in static const uint32_t code_offsets2 = { {3, 10}, {3, 9}, {3, 9}, + {3, 9}, }; #else @@ -140,6 +155,8 @@ 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00}, {0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00}, + {0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00}, }; static const uint8_t mask_cmpMAX_CMP_SIZE = { @@ -170,13 +187,25 @@ * BA 08 71 01 10 mov edx, offset errMsg */ {0x8B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x83, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x75, 0x00, 0xBA, 0x00, 0x00, 0x00, 0x00}}; + 0x00, 0x00, 0x00, 0x75, 0x00, 0xBA, 0x00, 0x00, 0x00, 0x00}, + + /* + * Windows 11 22H2 + * 8b 83 3c 2b 00 00 MOV EAX,dword ptr EBX + 0x2b3c + * 39 b8 44 4f 00 00 CMP dword ptr EAX + 0x4f44,EDI + * 75 0f JNZ LAB_100d79a0 + * ba d0 c6 00 10 MOV EDX,s_To_use_... + */ + {0x8B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x39, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x75, 0x00, 0xBA, 0x00, 0x00, 0x00, 0x00, 0x00}, +}; // Offset into the code for the numbers we're interested in static const uint32_t code_offsets2 = { {2, 8}, {2, 8}, {2, 8}, + {2, 8}, }; #endif @@ -208,6 +237,7 @@ if (success) { uint8_t **vt = *(uint8_t ***)info.device; + /* Pointer to CheckResourceResidency */ uint8_t *crr = vt125; offsets->present = vtable_offset(info.module, info.device, 17);
View file
obs-studio-28.0.3.tar.xz/plugins/win-dshow/data/locale/ka-GE.ini -> obs-studio-28.1.1.tar.xz/plugins/win-dshow/data/locale/ka-GE.ini
Changed
@@ -24,8 +24,8 @@ AudioOutputMode.WaveOut="გამოტანილი ხმა (WaveOut)" UseCustomAudioDevice="ხმის მითითებული მოწყობილობის გამოყენება" AudioDevice="ხმის მოწყობილობა" -Buffering="ბუფერიზაცია" -Buffering.ToolTip="როცა ჩართულია, მიმდინარეობს ვიდეოს/ხმის მონაცემების ბუფერიზაცია, რაც უზრუნველყოფს შეუფერხებლად და უმაღლესი\nხარისხით გადაცემას, თუმცა გაზრდილი დაყოვნების ხარჯზე. როცა იყენებთ\nბუფერიზაციას ვიდეოს ჩამწერი დაფით, სასურველია, რომ აპარატურასა და\nპროგრამას მიეთითოს ერთი და იგივე კადრის სიხშირე, საუკეთესო შედეგის მისაღებად.\n\nროცა გამორთულია, დაყოვნება მეტად მცირეა, თუმცა კადრების\nგადაცემის სისუფთავის ხარჯზე. ეს მეტად გამოსადეგია, კამერით გადაღებისას ან\nპროგრამის შესათვალიერებელი ფანჯრისთვის, ვიდეოთამაშისას.\n\nთვითშერჩევით (ნაგულისხმევი) მიეთითება ჩართვა, თუ მოწყობილობას აქვს დაყოვნება, ხოლო გამორთვა\n იმ შემთხვევაში, თუ არ აქვს დაყოვნება." +Buffering="მომარაგება" +Buffering.ToolTip="როცა ჩართულია, იმარაგებს ვიდეოს/ხმის მონაცემებს, რომ უზრუნველყოს შეუფერხებლად და უმაღლესი\nხარისხით გადაცემა, ოღონდ გაზრდილი დაყოვნების ხარჯზე. როცა \nმოსამარაგებლად იყენებთ ვიდეოს ჩამწერ დაფას, სასურველია, რომ აპარატურასა და\nპროგრამას მიეთითოს ერთნაირი კადრის სიხშირე საუკეთესო შედეგისთვის.\n\nროცა გამორთულია, დაყოვნება მეტად მცირეა, ოღონდ კადრების\nგადაცემის სისუფთავის ხარჯზე. ეს უფრო გამოსადეგია კამერით გადაღებისას ან\nპროგრამის შესათვალიერებელი ფანჯრისთვის თამაშისას.\n\nთვითშერჩევის მითითებისას (ნაგულისხმევად) ჩაირთვება, თუ მოწყობილობას დაყოვნება აქვს, ხოლო გამორთვება,\nთუ არ აქვს დაყოვნება." Buffering.AutoDetect="თვითშერჩევა" Buffering.Enable="ჩართვა" Buffering.Disable="გამორთვა"
View file
obs-studio-28.0.3.tar.xz/plugins/win-dshow/data/locale/ro-RO.ini -> obs-studio-28.1.1.tar.xz/plugins/win-dshow/data/locale/ro-RO.ini
Changed
@@ -4,7 +4,7 @@ ColorSpace.Default="Implicit" ColorRange="Gamă de culori" ColorRange.Default="Implicită" -ColorRange.Partial="Limitat" +ColorRange.Partial="Limitată" ColorRange.Full="Completă" ConfigureAudio="Configurare audio" ConfigureVideo="Configurează setările video"
View file
obs-studio-28.0.3.tar.xz/plugins/win-dshow/data/locale/ru-RU.ini -> obs-studio-28.1.1.tar.xz/plugins/win-dshow/data/locale/ru-RU.ini
Changed
@@ -9,7 +9,7 @@ ConfigureAudio="Настроить звук" ConfigureVideo="Настройка видео" ConfigureCrossbar="Настройка кроссбара" -ResFPSType="Разрешение/Частота кадров" +ResFPSType="Разрешение / тип частоты кадров" ResFPSType.Custom="Пользовательское" ResFPSType.DevPreferred="Стандартные значения устройства" FPS.Matching="Согласовать с выходной частотой кадров"
View file
obs-studio-28.0.3.tar.xz/plugins/win-dshow/data/locale/vi-VN.ini -> obs-studio-28.1.1.tar.xz/plugins/win-dshow/data/locale/vi-VN.ini
Changed
@@ -4,6 +4,7 @@ ColorSpace.Default="Mặc định" ColorRange="Dải màu" ColorRange.Default="Mặc định" +ColorRange.Partial="Giới hạn" ColorRange.Full="Đầy đủ" ConfigureAudio="Cấu hình âm thanh" ConfigureVideo="Cấu hình Video" @@ -32,6 +33,7 @@ Deactivate="Hủy kích hoạt" FlipVertically="Lật dọc" Autorotation="Áp dụng dữ liệu xoay từ máy quay (nếu có)" +HardwareDecode="Sử dụng giải mã phần cứng khi có thể" DeactivateWhenNotShowing="Tắt khi không hiển thị" Encoder.C985="Bộ biên mã AVerMedia H.264 (c985)" Encoder.C353="Bộ biên mã AVerMedia H.264"
View file
obs-studio-28.0.3.tar.xz/plugins/win-dshow/data/locale/zh-CN.ini -> obs-studio-28.1.1.tar.xz/plugins/win-dshow/data/locale/zh-CN.ini
Changed
@@ -23,8 +23,8 @@ AudioOutputMode.WaveOut="输出桌面音频(WaveOut)" UseCustomAudioDevice="使用自定义的音频设备" AudioDevice="音频设备" -Buffering="正在缓冲" -Buffering.ToolTip="当启用时, 缓存视频/音频数据以确保最流畅和\n最准确的回放, 但是会增加延迟成本. 当使用\n视频卡来缓存时, 推荐设置卡和程序\n为同一个帧率来得到最好的结果.\n\n当禁用时, 确保最低的延时回放, 但是损失回放帧的准确性.\n 这对于脸部相机是理想的, 或者当你想要使用程序的\n预览窗口来玩一台主机.\n\n自动检测(默认) 如果设备有延时设置为启用, \n如果没有延时禁用" +Buffering="缓冲" +Buffering.ToolTip="当启用缓冲时,音视频数据可以得到最平滑和准确的播放效果,代价是延迟变大。\n如果在视频采集卡上启用了缓冲,推荐将程序输出和采集卡设置为相同帧率以达到最佳效果。\n\n当禁用缓冲时,播放的延迟将会降到最小,代价是降低了播放的准确性。\n如果这是一个拍摄面部的摄像头、或希望看着预览画面来玩游戏,推荐禁用缓冲。\n\n设置为自动检测(默认)时,当设备有延迟将会启用缓冲,无延迟则会禁用缓冲。" Buffering.AutoDetect="自动检测" Buffering.Enable="启用" Buffering.Disable="禁用"
View file
obs-studio-28.0.3.tar.xz/plugins/win-dshow/virtualcam-module/virtualcam-filter.cpp -> obs-studio-28.1.1.tar.xz/plugins/win-dshow/virtualcam-module/virtualcam-filter.cpp
Changed
@@ -49,15 +49,15 @@ /* ---------------------------------------- */ /* add last/current obs res/interval */ - uint32_t new_cx = cx; - uint32_t new_cy = cy; - uint64_t new_interval = interval; + uint32_t new_obs_cx = obs_cx; + uint32_t new_obs_cy = obs_cy; + uint64_t new_obs_interval = obs_interval; vq = video_queue_open(); if (vq) { if (video_queue_state(vq) == SHARED_QUEUE_STATE_READY) { - video_queue_get_info(vq, &new_cx, &new_cy, - &new_interval); + video_queue_get_info(vq, &new_obs_cx, &new_obs_cy, + &new_obs_interval); } /* don't keep it open until the filter actually starts */ @@ -79,13 +79,15 @@ if (ReadFile(file, res, sizeof(res) - 1, &len, nullptr)) { reslen = 0; - int vals = sscanf( - res, "%" PRIu32 "x%" PRIu32 "x%" PRIu64, - &new_cx, &new_cy, &new_interval); + int vals = sscanf(res, + "%" PRIu32 "x%" PRIu32 + "x%" PRIu64, + &new_obs_cx, &new_obs_cy, + &new_obs_interval); if (vals != 3) { - new_cx = cx; - new_cy = cy; - new_interval = interval; + new_obs_cx = obs_cx; + new_obs_cy = obs_cy; + new_obs_interval = obs_interval; } } @@ -93,14 +95,20 @@ } } - if (new_cx != cx || new_cy != cy || new_interval != interval) { - AddVideoFormat(VideoFormat::NV12, new_cx, new_cy, new_interval); - AddVideoFormat(VideoFormat::I420, new_cx, new_cy, new_interval); - AddVideoFormat(VideoFormat::YUY2, new_cx, new_cy, new_interval); - SetVideoFormat(VideoFormat::NV12, new_cx, new_cy, new_interval); - cx = new_cx; - cy = new_cy; - interval = new_interval; + if (new_obs_cx != obs_cx || new_obs_cy != obs_cy || + new_obs_interval != obs_interval) { + AddVideoFormat(VideoFormat::NV12, new_obs_cx, new_obs_cy, + new_obs_interval); + AddVideoFormat(VideoFormat::I420, new_obs_cx, new_obs_cy, + new_obs_interval); + AddVideoFormat(VideoFormat::YUY2, new_obs_cx, new_obs_cy, + new_obs_interval); + SetVideoFormat(VideoFormat::NV12, new_obs_cx, new_obs_cy, + new_obs_interval); + + obs_cx = new_obs_cx; + obs_cy = new_obs_cy; + obs_interval = new_obs_interval; } /* ---------------------------------------- */ @@ -138,7 +146,7 @@ return hr; } - os_atomic_set_bool(&active, true); + os_atomic_set_bool(&active, false); SetEvent(thread_start); return S_OK; } @@ -178,9 +186,11 @@ uint64_t cur_time = gettime_100ns(); uint64_t filter_time = GetTime(); - cx = GetCX(); - cy = GetCY(); - interval = GetInterval(); + obs_cx = (uint32_t)GetCX(); + obs_cy = (uint32_t)GetCY(); + obs_interval = (uint64_t)GetInterval(); + filter_cx = obs_cx; + filter_cy = obs_cy; /* ---------------------------------------- */ /* load placeholder image */ @@ -195,8 +205,9 @@ /* Created dynamically based on output resolution changes */ placeholder.scaled_data = nullptr; - nv12_scale_init(&scaler, TARGET_FORMAT_NV12, cx, cy, cx, cy); - nv12_scale_init(&placeholder.scaler, TARGET_FORMAT_NV12, cx, cy, + nv12_scale_init(&scaler, TARGET_FORMAT_NV12, obs_cx, obs_cy, obs_cx, + obs_cy); + nv12_scale_init(&placeholder.scaler, TARGET_FORMAT_NV12, obs_cx, obs_cy, placeholder.cx, placeholder.cy); UpdatePlaceholder(); @@ -204,16 +215,16 @@ while (!stopped()) { if (os_atomic_load_bool(&active)) Frame(filter_time); - sleepto_100ns(cur_time += interval); - filter_time += interval; + sleepto_100ns(cur_time += obs_interval); + filter_time += obs_interval; } } void VCamFilter::Frame(uint64_t ts) { - uint32_t new_cx = cx; - uint32_t new_cy = cy; - uint64_t new_interval = interval; + uint32_t new_obs_cx = obs_cx; + uint32_t new_obs_cy = obs_cy; + uint64_t new_obs_interval = obs_interval; /* cx, cy and interval are the resolution and frame rate of the virtual camera _source_, ie OBS' output. Do not confuse cx / cy @@ -229,8 +240,8 @@ if (state == SHARED_QUEUE_STATE_READY) { /* The virtualcam output from OBS has started, get the actual cx / cy of the data stream */ - video_queue_get_info(vq, &new_cx, &new_cy, - &new_interval); + video_queue_get_info(vq, &new_obs_cx, &new_obs_cy, + &new_obs_interval); } else if (state == SHARED_QUEUE_STATE_STOPPING) { video_queue_close(vq); vq = nullptr; @@ -239,31 +250,47 @@ prev_state = state; } + uint32_t new_filter_cx = (uint32_t)GetCX(); + uint32_t new_filter_cy = (uint32_t)GetCY(); + if (state != SHARED_QUEUE_STATE_READY) { /* Virtualcam output not yet started, assume it's the same resolution as the filter output */ - new_cx = GetCX(); - new_cy = GetCY(); - new_interval = GetInterval(); + new_obs_cx = new_filter_cx; + new_obs_cy = new_filter_cy; + new_obs_interval = GetInterval(); } - if (new_cx != cx || new_cy != cy || new_interval != interval) { + if (new_obs_cx != obs_cx || new_obs_cy != obs_cy || + new_obs_interval != obs_interval) { /* The res / FPS of the video coming from OBS has changed, update parameters as needed */ if (in_obs) { /* If the vcam is being used inside obs, adjust the format we present to match */ - SetVideoFormat(GetVideoFormat(), new_cx, new_cy, - new_interval); + SetVideoFormat(GetVideoFormat(), new_obs_cx, new_obs_cy, + new_obs_interval); } /* Re-initialize the main scaler to use the new resolution */ - nv12_scale_init(&scaler, scaler.format, GetCX(), GetCY(), - new_cx, new_cy); + nv12_scale_init(&scaler, scaler.format, new_filter_cx, + new_filter_cy, new_obs_cx, new_obs_cy); + + obs_cx = new_obs_cx; + obs_cy = new_obs_cy; + obs_interval = new_obs_interval; + filter_cx = new_filter_cx; + filter_cy = new_filter_cy; - cx = new_cx; - cy = new_cy; - interval = new_interval; + UpdatePlaceholder(); + + } else if (new_filter_cx != filter_cx || new_filter_cy != filter_cy) { + filter_cx = new_filter_cx; + filter_cy = new_filter_cy; + + /* Re-initialize the main scaler to use the new resolution */ + nv12_scale_init(&scaler, scaler.format, new_filter_cx, + new_filter_cy, new_obs_cx, new_obs_cy); UpdatePlaceholder(); } @@ -295,7 +322,7 @@ else ShowDefaultFrame(ptr); - UnlockSampleData(ts, ts + interval); + UnlockSampleData(ts, ts + obs_interval); } }
View file
obs-studio-28.0.3.tar.xz/plugins/win-dshow/virtualcam-module/virtualcam-filter.hpp -> obs-studio-28.1.1.tar.xz/plugins/win-dshow/virtualcam-module/virtualcam-filter.hpp
Changed
@@ -30,10 +30,12 @@ bool in_obs = false; enum queue_state prev_state = SHARED_QUEUE_STATE_INVALID; placeholder_t placeholder; - uint32_t cx = DEFAULT_CX; - uint32_t cy = DEFAULT_CY; + uint32_t obs_cx = DEFAULT_CX; + uint32_t obs_cy = DEFAULT_CY; + uint64_t obs_interval = DEFAULT_INTERVAL; + uint32_t filter_cx = DEFAULT_CX; + uint32_t filter_cy = DEFAULT_CY; DShow::VideoFormat format; - uint64_t interval = DEFAULT_INTERVAL; WinHandle thread_start; WinHandle thread_stop; volatile bool active = false;
View file
obs-studio-28.0.3.tar.xz/plugins/win-mf/data/locale/fa-IR.ini -> obs-studio-28.1.1.tar.xz/plugins/win-mf/data/locale/fa-IR.ini
Changed
@@ -9,6 +9,7 @@ MF.H264.CustomMaxBitrate="استفاده از سفارشی حداکثر میزان ارسال بیت" MF.H264.Bitrate="نرخ بیت" MF.H264.MaxBitrate="حداکثر میزان نرخ بیت" +MF.H264.KeyframeIntervalSec="فاصله فریم کلیدی (0=خودکار)" MF.H264.RateControl="کنترل نرخ" MF.H264.CBR="CBR (میزان ارسال بیت ثابت)" MF.H264.VBR="VBR (سرعت بیت متغیر)"
View file
obs-studio-28.0.3.tar.xz/plugins/win-mf/data/locale/ka-GE.ini -> obs-studio-28.1.1.tar.xz/plugins/win-mf/data/locale/ka-GE.ini
Changed
@@ -4,8 +4,8 @@ MF.H264.Encoder="დამშიფრავის სახელი" MF.H264.LowLatency="მცირე დაყოვნება (კადრის გადალაგების გათიშვა)" MF.H264.BFrames="თანმიმდევრული B-კადრის რაოდენობა" -MF.H264.CustomBufsize="ბუფერის მითითებული ზომის გამოყენება" -MF.H264.BufferSize="ბუფერის ზომა" +MF.H264.CustomBufsize="მომარაგების მითითებული ზომა" +MF.H264.BufferSize="მომარაგების ზომა" MF.H264.CustomMaxBitrate="მითითებული დასაშვები ბიტური სიხშირე" MF.H264.Bitrate="ბიტური სიხშირე" MF.H264.MaxBitrate="უმაღლესი დასაშვები ბიტური სიხშირე"
View file
obs-studio-28.0.3.tar.xz/plugins/win-wasapi/data/locale/da-DK.ini -> obs-studio-28.1.1.tar.xz/plugins/win-wasapi/data/locale/da-DK.ini
Changed
@@ -4,6 +4,7 @@ Device="Enhed" Default="Standard" UseDeviceTiming="Benyt enhedstidsstempler" +Window="Vindue" Priority="Vinduesmatchprioritet" Priority.Title="Vinduestitel skal matche" Priority.Class="Match titel, ellers find vindue af samme type"
View file
obs-studio-28.0.3.tar.xz/plugins/win-wasapi/data/locale/de-DE.ini -> obs-studio-28.1.1.tar.xz/plugins/win-wasapi/data/locale/de-DE.ini
Changed
@@ -5,7 +5,7 @@ Default="Standard" UseDeviceTiming="Gerätezeitstempel verwenden" Window="Fenster" -Priority="Fensterübereinstimmungspriorität" +Priority="Übereinstimmungspriorität" Priority.Title="Fenstertitel muss übereinstimmen" Priority.Class="Fenstertitel muss übereinstimmen, ansonsten Fenster des gleichen Typs finden" Priority.Exe="Fenstertitel muss übereinstimmen, ansonsten Fenster des gleichen Programms finden"
View file
obs-studio-28.0.3.tar.xz/plugins/win-wasapi/data/locale/fa-IR.ini -> obs-studio-28.1.1.tar.xz/plugins/win-wasapi/data/locale/fa-IR.ini
Changed
@@ -1,5 +1,11 @@ AudioInput="گرفتن صدای ورودی" AudioOutput="گرفتن صدای خروجی" +ApplicationAudioCapture="ضبط صوتی برنامه (بتا)" Device="دستگاه" Default="پیش فرض" UseDeviceTiming="استفاده از دستگاه به هنگام سازیها" +Window="پنجره" +Priority="اولویت مطابقت پنجره" +Priority.Title="عنوان پنجره باید مطابقت داشته باشد" +Priority.Class="عنوان را انتخاب کنید، در غیر این صورت پنجره ای از همان نوع پیدا کنید" +Priority.Exe="عنوان را مطابقت دهید، در غیر این صورت پنجره همان فایل اجرایی را پیدا کنید"
View file
obs-studio-28.0.3.tar.xz/plugins/win-wasapi/data/locale/hy-AM.ini -> obs-studio-28.1.1.tar.xz/plugins/win-wasapi/data/locale/hy-AM.ini
Changed
@@ -4,6 +4,7 @@ Device="Սարք" Default="Կանխադրված" UseDeviceTiming="Օգտագործեք սարքի ժամանակային դրոշմանիշները" +Window="Պատուհան" Priority="Պատուհանների համապատասխանության առաջնահերթությունը" Priority.Title="Պատուհանի վերնագիրը պետք է համապատասխանի" Priority.Class="Վերնագիրը համընկնում է, այլապես գտնել նույն տեսակի պատուհան"
View file
obs-studio-28.0.3.tar.xz/plugins/win-wasapi/data/locale/ro-RO.ini -> obs-studio-28.1.1.tar.xz/plugins/win-wasapi/data/locale/ro-RO.ini
Changed
@@ -1,4 +1,4 @@ -AudioInput="Captură de intrare audio" +AudioInput="Captură de input audio" AudioOutput="Captură de output audio" ApplicationAudioCapture="Captură audio a aplicației (BETA)" Device="Dispozitiv"
View file
obs-studio-28.0.3.tar.xz/plugins/win-wasapi/data/locale/vi-VN.ini -> obs-studio-28.1.1.tar.xz/plugins/win-wasapi/data/locale/vi-VN.ini
Changed
@@ -3,3 +3,7 @@ Device="Thiết bị" Default="Mặc định" UseDeviceTiming="Dùng dấu thời gian của thiết bị" +Window="Cửa sổ" +Priority.Title="Tiêu đề cửa sổ phải khớp" +Priority.Class="Khớp tiêu đề, nếu không thì tìm các cửa sổ cùng loại" +Priority.Exe="Khớp tiêu đề, nếu không thì tìm cửa sổ cùng một tệp thực thi"
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.