Ist es möglich, die HandbrakeCli-Ausgabe zu pfeifen und zu filtern oder sie unter Windows zum Schweigen zu bringen
Ich habe ein Video-Archiv mit persönlichen Erinnerungen in vielen Ordnern. Die Videodateien haben mehrere Dateitypen und das Verhältnis von Qualität zu Größe ist schrecklich (einige sind sogar 20 MB / s für ein 720p-Video.
Ich möchte jedes Video in 720p konvertieren und durch die konvertierte Datei ersetzen, jedoch nur, wenn die Konvertierung erfolgreich ist.
Hier ist mein Handbrake-Preset nach Json exportiert:
{ "PresetList": [ { "AlignAVStart": true, "AudioCopyMask": [ "copy:aac", "copy:ac3", "copy:dtshd", "copy:dts", "copy:mp3", "copy:truehd", "copy:flac", "copy:eac3" ], "AudioEncoderFallback": "ac3", "AudioLanguageList": [], "AudioList": [ { "AudioBitrate": 128, "AudioCompressionLevel": 0.0, "AudioEncoder": "av_aac", "AudioMixdown": "stereo", "AudioNormalizeMixLevel": false, "AudioSamplerate": "44.1", "AudioTrackQualityEnable": false, "AudioTrackQuality": -1.0, "AudioTrackGainSlider": 0.0, "AudioTrackDRCSlider": 0.0 } ], "AudioSecondaryEncoderMode": true, "AudioTrackSelectionBehavior": "first", "ChapterMarkers": true, "ChildrenArray": [], "Default": false, "FileFormat": "av_mp4", "Folder": false, "FolderOpen": false, "Mp4HttpOptimize": false, "Mp4iPodCompatible": false, "PictureAutoCrop": true, "PictureBottomCrop": 0, "PictureLeftCrop": 0, "PictureRightCrop": 0, "PictureTopCrop": 0, "PictureDARWidth": 240, "PictureDeblock": 4, "PictureDeinterlaceFilter": "decomb", "PictureCombDetectPreset": "default", "PictureCombDetectCustom": "", "PictureDeinterlacePreset": "default", "PictureDenoiseCustom": "", "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", "PictureSharpenCustom": "", "PictureSharpenFilter": "off", "PictureSharpenPreset": "medium", "PictureSharpenTune": "none", "PictureDetelecine": "off", "PictureDetelecineCustom": "", "PictureItuPAR": false, "PictureKeepRatio": true, "PictureLooseCrop": false, "PictureModulus": 2, "PicturePAR": "auto", "PicturePARWidth": 1, "PicturePARHeight": 1, "PictureRotate": "0:0", "PictureForceHeight": 0, "PictureForceWidth": 0, "PresetName": "myarchivesd", "Type": 1, "UsesPictureFilters": false, "UsesPictureSettings": 2, "SubtitleAddCC": false, "SubtitleAddForeignAudioSearch": true, "SubtitleAddForeignAudioSubtitle": false, "SubtitleBurnBehavior": "foreign", "SubtitleBurnBDSub": false, "SubtitleBurnDVDSub": false, "SubtitleLanguageList": [], "SubtitleTrackSelectionBehavior": "none", "VideoAvgBitrate": 0, "VideoColorMatrixCode": 0, "VideoEncoder": "x264", "VideoFramerateMode": "vfr", "VideoGrayScale": false, "VideoHWDecode": false, "VideoScaler": "swscale", "VideoPreset": "fast", "VideoTune": "", "VideoProfile": "main", "VideoLevel": "4.1", "VideoOptionExtra": "", "VideoQualityType": 2, "VideoQualitySlider": 25.0, "VideoQSVDecode": false, "VideoQSVAsyncDepth": 4, "VideoTwoPass": false, "VideoTurboTwoPass": false, "x264Option": "level=4.1:vbv-bufsize=62500:vbv-maxrate=50000:rc-lookahead=30:ref=5:bframes=5:b-adapt=2:direct=auto:me=dia:subme=9:merange=15:trellis=0", "x264UseAdvancedOptions": true } ], "VersionMajor": "11", "VersionMicro": "0", "VersionMinor": "0" }
Bisher ist es mir gelungen, mit HandbrakeCli die richtigen Argumente für die Konvertierung zu finden. Mit der Voreinstellung, die ich mit dem HandbrakeGui abgeglichen habe (ergibt nahezu YIFY-Qualität):
HandBrakeCLI.exe --maxHeight 720 --maxWidth 1280 --preset-import-file "mypreset.json" -Z "mypreset" -i "input.mp4" -o "output.mp4".
Aktualisieren:
Dies ist meine aktuelle Version der Batchdatei.
- Zuerst müssen Sie den Pfad zu Ihrer
hanbrakecli.exe
und Ihrerpreset.json
Datei in die Batch-Datei unten einfügen. - Kopieren Sie dann die Batchdatei in das Stammverzeichnis Ihres Videoarchivs und doppelklicken Sie darauf.
Hinweis: Achten Sie auf die .DAT
Erweiterung. Kopieren Sie diesen Stapel nur in einen Ordner, in dem sich nur Videodateien und keine App-Daten befinden.
Hier ist der Inhalt der Batchdatei:
@echo off &setlocal for /R %%I in (*.DAT *.mpg *.mpeg *.wmv *.3gp *.mov *.avi *.mkv *.mp4) do ( set "fpath=%%~dpnI" set "fname=%%~nI" setlocal enabledelayedexpansion if exist "%%~dpnI.unfinished.mp4" ( echo "Found unfinished conversion of %%~nI. Deleting leftover files ..." del /F "%%~dpnI.unfinished.mp4" ) if "!fname!"=="!fname:.converted=!" ( echo "converting %%I ..." "[path to HandbrakeCli.exe]" --maxHeight 720 --maxWidth 1280 --preset-import-file "[path to your preset.json]" ^ -Z "[your preset name]" -i "%%I" -o "%%~dpnI.unfinished.mp4" if exist "%%~dpnI.unfinished.mp4" ( echo "conversion of %%I succeded. deleting the source file..." del /F "%%~dpnxI" move /Y "%%~dpnI.unfinished.mp4" "%%~dpnI.converted.mp4" )else ( echo "conversion of %%I was not successful. Keeping the source file!" if exist "%%~dpnI.unfinished.mp4" ( del /F "%%~dpnI.unfinished.mp4" ) ) )else ( echo "We already have %%I. No need to convert it again!" ) ) endlocal PAUSE
Was es tut, ist:
- Es sucht nach jeder Datei mit üblichen Filmerweiterungen.
- prüft, ob es zuvor erfolgreich konvertiert wurde oder nicht (über ein Namensmuster).
- beginnt mit dem Konvertieren und setzt die Ausgabedatei in das Eingabedateiverzeichnis (wobei der Befehl hanbrakecli für die Datei ausgeführt wird)
- prüft auf erfolgreiche Konvertierung (durch Benennungsmuster)
- Entfernt die Eingabedatei.
Meine aktuellen Herausforderungen sind: Die Ausgabe des Handbrakecli-Befehls ist super wortreich und hässlich. Es wäre besser, wenn nur der Konvertierungsfortschritt und die verbleibende Zeit oder sogar keine Eingabe ausgegeben wird.
Ist es möglich, den Handbremsausgang zu pfeifen und zu filtern oder zum Schweigen zu bringen?
0 Antworten auf die Frage
Verwandte Probleme
-
4
Verbinden Sie zwei h.264-Filmdateien und fügen Sie Kapitel zusammen.
-
4
Was ist der einfachste Weg, um MPEG-Video in das FLV-Format zu konvertieren?
-
2
Wie kann ich eine VRO-Datei in eine AVI-Datei kodieren?
-
7
Mit welchem Tool kann ich DVD-Filme rippen?
-
1
Wie kann ich Probleme mit Interlaced-Video-Ruckeln / -Schnipsen bei der Wiedergabe auf DVD-Playern b...
-
5
Wie wird eine Datei automatisch auf einen anderen PC im Netzwerk verschoben?
-
1
So zeigen Sie veoh.com-Videos mit HT03-A Android an
-
5
Konvertieren einer .mts HD-Videodatei in ein benutzerfreundlicheres / flexibleres Format?
-
1
Handbrake stackdump beim Konvertieren von Videos
-
2
Festlegen mehrerer Umgebungsvariablen in einer Shell, die über ein Windows-Batch-Skript erstellt wir...