Conversie mislukt wanneer gebruiker niet is ingelogd

Ik heb een probleem wanneer ik op afstand inlog op mijn server en vervolgens de verbinding sluit, waardoor ik wordt afgemeld. Hierdoor geeft mijn conversie een foutmelding die voorheen niet voorkwam. Kun je helpen? Log met voorbeeld is bijgevoegd.

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

Je gebruikt hardware-encoding en je grafische driver is het probleem, het geeft een foutmelding:

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.

Als het tot voor kort werkte, klinkt het alsof je grafische driver is bijgewerkt en nu vereist dat je ingelogd bent op het systeem om het te laten werken.

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

Het is niet gerelateerd aan MCEBuddy maar een fout van Windows gerelateerd aan je grafische driver.

Omdat je een aangepast profiel gebruikt en expliciet de software-encoder fallback hebt uitgeschakeld in je profiel, zal het niet proberen de software-encoder te gebruiken wanneer je hardware-encoder faalt:

ffmpeg-UsingHardwareEncoding=True

Is de ingebedde versie van FFMpeg bijgewerkt? Ik herinner me dat ik soortgelijke fouten kreeg toen ik experimenteerde met het vervangen van de meegeleverde versie door de nieuwste builds. Overigens krijg ik dezelfde fout na de update naar 2.4.11. Mijn videostuurprogramma’s zijn al geruime tijd niet meer bijgewerkt…

Log: Microsoft OneDrive

Ik zie exact dezelfde fout in uw logs. Is er een gebruiker aangemeld op de computer?
Ik vermoed dat de ffmpeg-hardware-API verschilt van HandBrake en dat er een gebruiker aangemeld moet zijn om het te laten werken.
De HandBrake-hardware-API lijkt zonder aangemelde gebruikers te werken vanaf Windows 8.1; ik vermoed dat dit niet het geval is met ffmpeg.

Kunt u proberen met een aangemelde gebruiker en kijken of het werkt?

Het werkt prima met een ingelogde gebruiker

Er is een gebruiker ingelogd, maar ik neem op afstand die machine over, en wanneer ik de verbinding verbreak, lijkt het alsof ik uitgelogd ben.

Het werkt prima zolang ik ingelogd ben.

Ik denk dat ik al het nodige werk heb gedaan om Handbrake in te stellen, namelijk:
[MKV HVEC Beta Profile Constant Quality]
Description=WARNING: Handbrake Constant Quality encoding (26) with 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

Is Handbrake dan nog niet ingesteld voor NVENC HEVC?

Bedankt! Will.

Op welk OS draai je? Voor Handbrake geldt dat Windows XP-7 een actieve terminal vereist, terwijl het onder Windows 8-10 ook zonder actieve terminal werkt.

FFMPEG is een ander verhaal: het gebruikt een andere set API’s die helaas vereisen dat een gebruiker is ingelogd op Windows met een actieve terminal.

Ik zal niet op technische details ingaan, maar het komt erop neer dat dit een ontwerpbeslissing van Windows is: de kernel was oorspronkelijk niet bedoeld om hardware-API’s direct te benaderen. Microsoft heeft verbeteringen doorgevoerd zodat Handbrake in kernel-modus kan draaien (MCEBuddy draait standaard als service in kernel-modus), maar de FFMPEG-API’s vereisen nog steeds een ingelogde gebruiker met een actieve terminal. Gebruik je dus MCEBuddy met ffmpeg, zorg dan dat een terminal actief blijft en niet uitlogt. Volgens mij heeft RDP een optie om te verbreken zonder uit te loggen – dat zou moeten werken.

Ja, maar het is niet zo stabiel als ffmpeg, dus MCEBuddy gebruikt het niet; je kunt het zelf wel gebruiken. Resultaten kunnen variëren (YMMV). Laat ons weten hoe het uitpakt.

Ik gebruik de huidige versie van Windows 10 (1903). Ik ben momenteel via Remote Desktop op de machine ingelogd en hij lijkt goed te werken. Ik gebruik een post-processing batchbestand om MCEBuddy vanuit Plex aan te roepen.

Bedankt! Will.

[HEVC MP4]
Description=WAARSCHUWING: Handbrake Constant Quality-codering (26) met 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_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=.mp4
handbrake-audiodelay=skip

Het werkt nog steeds niet wanneer ik niet ben ingelogd. Heb je suggesties voor het bovenstaande profiel om het te laten werken?

Ik krijg nog steeds foutmeldingen, ondanks dat ik ingelogd ben. Ik ga proberen FFMpeg te vervangen door de nieuwste versie van de site.

Hier zijn de logs van de laatste fout: Microsoft OneDrive

Volgens Windows is er geen ingelogde gebruiker; het kan geen verwijzing naar een ingelogde gebruiker vinden:

StartAppWithAdminPrivilegesFromNonUISession WTSQueryUserToken failed (No logged on users) with error 1008. An attempt was made to reference a token that does not exist.

Je kunt dit proberen om ervoor te zorgen dat een gebruiker is ingelogd. Start MCEBuddy als een command line-engine via het Startmenu. Dit zal de engine die als service draait afsluiten en in plaats daarvan starten als een command line-service binnen de gebruiker. Als de gebruiker uitlogt, stopt de service.
Nu zou ffmpeg, als er een ingelogde gebruiker is, toegang moeten hebben tot alle hardware-API’s. Dat bevestigt wat er aan de hand is.

Let op: er zijn meldingen dat als je via RDP inlogt op Windows, dit geen toegang biedt tot alle hardware-API’s. Het is het beste om lokaal in te loggen en vervolgens extern verbinding te maken met dezelfde ingelogde gebruiker.

Waardeer de hulp echt – zal dat proberen. Weet je of er een manier is om de opdrachtregelstart vanuit shell:startup uit te voeren zonder UAC uit te schakelen?

Nogmaals dank! Will.

U kunt Taakplanner instellen om de opdrachtregel-engine te starten bij gebruikersaanmelding met de hoogste privileges.

Natuurlijk! Ik vergeet dat altijd. Dank je!