Konvertering mislykkes, når brugeren ikke er logget ind

Jeg har et problem: når jeg fjerntforbinder til min server og derefter lukker forbindelsen, bliver jeg logget ud. Det får mine konverteringer til at smide en fejl, som de tidligere ikke gjorde. Kan du hjælpe? Log med eksempel er vedlagt.

married.at.first.sight.s09e02.720p.web.h264-tbs.mkv-Move-TV-2019-06-20T22-20-14.5933286-05-00.log (354.9 KB)

Du bruger hardware-kodning, og din grafikdriver er problemet – den kaster en fejl:

2019-06-20T22:21:59 MCEBuddy.AppWrapper.FFmpeg → [AVHWDeviceContext @ 000001d98ef0a6c0] Failed to create Direct3D device
2019-06-20T22:21:59 MCEBuddy.AppWrapper.FFmpeg → Device creation failed: -1313558101.

Hvis det virkede for nylig, lyder det som om din grafikdriver blev opdateret, og nu kræver den, at du er logget ind på systemet for at fungere.

2019-06-20T22:21:58 MCEBuddy.AppWrapper.FFmpeg → Starting process as a UISession process with Admin privileges. This requires atleast 1 user to be logged into the system (remote desktop or locally)
ERROR> 2019-06-20T22:21:58 → StartAppWithAdminPrivilegesFromNonUISession WTSQueryUserToken failed (No logged on users) with error 1008. An attempt was made to reference a token that does not exist.
WARNING> 2019-06-20T22:21:58 MCEBuddy.AppWrapper.FFmpeg → Unable to create UI Session process with Admin Privileges from NonUI Session. Is any user logged on?
WARNING> 2019-06-20T22:21:58 MCEBuddy.AppWrapper.FFmpeg → Retrying process creation as a NonUI Session process with Admin privileges
WARNING> 2019-06-20T22:21:58 MCEBuddy.AppWrapper.FFmpeg → Some functions like hardware encoding may not work in this mode

Det er ikke relateret til MCEBuddy, men en fejl fra Windows vedrørende din grafikdriver.

Da du bruger en brugerdefineret profil og eksplicit har deaktiveret software-kodning som fallback, vil den ikke forsøge at bruge software-kodning, når din hardware-kodning fejler:

ffmpeg-UsingHardwareEncoding=True

Fik den indlejrede version af FFMpeg en opdatering? Jeg husker at have fået lignende fejl, da jeg eksperimenterede med at erstatte den inkluderede version med de nyeste builds. For hvad det er værd, får jeg den samme fejl efter opdatering til 2.4.11. Mine videodrivere har ikke været opdateret i lang tid…

Log: Microsoft OneDrive

Jeg ser præcis den samme fejl i dine logs. Er der nogen bruger logget ind på computeren?
Jeg mistænker, at ffmpeg-hardware-API’et er forskelligt fra handbrake og kræver, at en bruger er logget ind på systemet, for at det kan fungere.
Handbrake-hardware-API’et ser ud til at fungere uden nogen loggede ind brugere fra Windows 8.1, men jeg mistænker, at dette ikke gælder for ffmpeg.

Kan du prøve med en bruger logget ind og se, om det virker?

Det virker fint med en bruger logget ind

Der er en bruger logget ind, men jeg fjernstyrer den maskine, og når jeg afbryder forbindelsen, tror jeg, det ligner, at jeg er logget ud.

Det virker fint, når jeg er logget ind.

Jeg tror, jeg allerede har gjort arbejdet for at få Handbrake konfigureret, dog:

[MKV HVEC Beta Profile Constant Quality]
Description=ADVARSEL: Handbrake Constant Quality encoding (26) med Nvidia HVEC.
order=ffmpeg, handbrake
AllowH264CopyRemuxing=true
FixedResolution=true
AutoDeinterlace=true
ffmpeg-UsingHardwareEncoding=True
ffmpeg-general=-threads 0 -hwaccel auto
ffmpeg-video=-ss 9 -c:v hevc_nvenc -cq 26 -rc vbr -map 0:v
ffmpeg-audio=-acodec ac3 -ab 192k -map 0:a
ffmpeg-audioac3=-acodec ac3 -ab 384k -map 0:a
ffmpeg-ext=.mkv
ffmpeg-audiodelay=skip
handbrake-UsingHardwareEncoding=true
handbrake-general=--decomb --denoise="weak" --loose-anamorphic --verbose=2 -T -O
handbrake-video=--start-at duration:0 --encoder nvenc_h265 --encoder-preset slow --quality 26 --vfr
handbrake-audio=-E ffac3 -R auto -B 192 -D 0 -a 1,2,3,4,5
handbrake-audioac3=-E ffac3 -R auto -B 384 -D 0 -a 1,2,3,4,5
handbrake-ext=.mkv
handbrake-audiodelay=skip

Er Handbrake ikke allerede sat op til NVENC HEVC?

Tak! Will.

Hvilket operativsystem kører du? For Handbrake ved vi, at Windows XP-7 kræver en aktiv terminal, mens det for Windows 8-10 fungerer, selv uden en aktiv terminal.

FFMPEG er en anden sag; det bruger et andet sæt API’er, som desværkraver, at en bruger er logget ind på Windows med en aktivt terminal.

Jeg vil ikke gå i tekniske detaljer, men det er i bund og grund en Windows-designfejl, da kernel oprindeligt ikke var designet til at tilgå hardware-API’er. Microsoft har forbedret dette, så Handbrake kan køre i kernel-tilstand (MCEBuddy kører som standard som en tjeneste i kernel-tilstand), men FFMPEG’s API’er kræver stadig en logget ind bruger med en aktivt terminal. Så hvis du bruger MCEBuddy og FFMPEG, sørg for, at en terminal er aktiv og ikke logger ud. Jeg tror, RDP har en mulighed for at koble fra uden at logge ud – det burde fungere.

Ja, men det er ikke lige så stabelt som FFMPEG, så MCEBuddy bruger det ikke som standard, men du kan bruge det. YMMV. Giv os besked om, hvordan det går.

Jeg kører den nuværende version af Windows 10 (1903). Jeg er i øjeblikket logget på maskinen via Remote Desktop, og den ser ud til at køre fint. Jeg bruger en post-processing batchfil til at starte MCEBuddy fra Plex.

Tak! Will.

[HEVC MP4]
Description=ADVARSEL: Handbrake Konstant Kvalitet-kodning (26) med Nvidia HEVC.
order=ffmpeg, handbrake
AllowH264CopyRemuxing=true
FixedResolution=true
AutoDeinterlace=true
ffmpeg-UsingHardwareEncoding=True
ffmpeg-general=-threads 0 -hwaccel auto
ffmpeg-video=-ss 9 -c:v hevc_nvenc -cq 26 -rc vbr -map 0:v
ffmpeg-audio=-acodec ac3 -ab 192k -map 0:a
ffmpeg-audioac3=-acodec ac3 -ab 384k -map 0:a
ffmpeg-ext=.mp4
ffmpeg-audiodelay=skip
handbrake-UsingHardwareEncoding=true
handbrake-general=–decomb --denoise="weak" --loose-anamorphic --verbose=2 -T -O
handbrake-video=–start-at duration:0 --encoder nvenc_henc --encoder-preset slow --quality 26 --vfr
handbrake-audio=-E ffac3 -R auto -B 192 -D 0 -a 1,2,3,4,5
handbrake-audioac3=-E ffac3 -R auto -B 384 -do 0 -a 1,2,3,4,5
handbrake-ext=.mp4
handbrake-audiodelay=skip

Det virker stadig ikke, når jeg ikke er logget ind. Nogen forslag til profilen ovenfor, for at få det til at fungere?

Jeg har stadig problemer, på trods af at jeg er loggede ind. Jeg vil forsøge at erstatte FFMpeg med den nyeste version fra hjemmesiden.

Her er logfilerne fra den seneste fejl: Microsoft OneDrive

Iføllet Windows er der ingen logget på bruger, og det kan ikke finde en reference til en logget på bruger:

StartAppWithAdminPrivilegesFromNonUISession WTSQueryUserPeak mislykkes (Ingen loggede på brugere) med fejl 1008. Der blev forsøgt at referere til et token, som ikke eksisterer.

Du kan prøve dette for at sikre, at en bruger er logget ind. Start MCEBuddy som en kommandolinje-motor fra Start-menuen. Dette vil lukke motoren, der kører som en tjeneste, og i stedet starte den som en kommandolinje-tjeneste fra brugeren. Hvis brugeren logger ud, stopper tjenesten.
Nu, som en logget på bruger, bør ffmpeg have adgang til alle hardware-API’er. Dette vil bekræfte, hvad der sker.

Bemærk, at der er rapporter om, at hvis du RDP’er ind i Windows, giver det ikke adgang til alle hardware-API’er. Det er bedst at logge ind lokalt og derefter oprette forbindelse eksternt til den samme loggede på bruger.

Sætter virkelig pris på hjælpen – vil prøve det. Ved du, om der er en måde at køre kommandolinjestarten fra shell:startup uden at slå UAC fra?

Tak igen! Will.

Du kan konfigurere Task Scheduler til at starte kommandolinjegraflen ved brugerlogin med de højeste rettigheder.

Selvfølgelig! Jeg glemmer altid det. Tak!