![如何安装 Handbrake 并转换递归文件树](https://linux22.com/image/1085379/%E5%A6%82%E4%BD%95%E5%AE%89%E8%A3%85%20Handbrake%20%E5%B9%B6%E8%BD%AC%E6%8D%A2%E9%80%92%E5%BD%92%E6%96%87%E4%BB%B6%E6%A0%91.png)
问题:
- 安装 Handbrake cli
- 创建脚本以转换文件树中所有文件
- 从 GUI 获取示例选项
- 因为我很懒,所以选择自动化(其实我只是珍惜自己的时间 :))
答案1
- 仅安装 handbrake CLI,我使用无头服务器和 Windows 前端!
对于最新的版本推荐作为每年发行的马厩……
sudo add-apt-repository ppa:stebbins/handbrake-snapshots && sudo apt-get update && sudo apt-get install handbrake-cli
对于稳定版本
sudo add-apt-repository ppa:stebbins/handbrake-releases && sudo apt-get update && sudo apt-get install handbrake-cli
取消注释您要使用的行和文件类型。您可以添加更多“预设/FLAGS”,这只是一个想法。原始脚本在将 MP4 文件转换为 MP4 时由于命名冲突而出现问题。
#!/bin/bash #Uncomment a Preset FLAGS and Uncomment a file type (mkv,avi,mp4)! # This Script Goes in Root Folder of TV show -- Example Folder Structure # /Stargate/Season\ 1/Epiosde.avi # /Stargate/Season\ 2/Epiosde.avi # /Stargate/handbrake.script # Outputs all Files back inside same dir's and does all folders inside Startgate DIR # /Stargate/Season\ 1/Epiosde.mp4 # /Stargate/Season\ 2/Epiosde.mp4 # FLAGS = flags for CLI can be got from GUI under Activity Log (In some versions) or from https://trac.handbrake.fr/wiki/CLIGuide (Flags can not have spaces, IE: No Presets, and can't have "'s, but you can just delete them, like --decomb="bob", the CLI accepts --decomb=bob ###Encode AC3 5.1 #export FLAGS="-f mp4 -O --decomb=bob --loose-anamorphic --modulus 2 -e x264 -q 20 --vfr -E ac3 -6 5point1 -R 48 -B 448 --audio-fallback ac3 --encoder-preset=veryfast --verbose=1" ###COPY AC3 5.1 #export FLAGS="-f mp4 -O --decomb=bob --loose-anamorphic --modulus 2 -e x264 -q 20 --vfr -E copy:ac3 --audio-fallback ac3 --encoder-preset=veryfast --verbose=1" ###Denoise & Encode AC3 5.1 #export FLAGS="-f mp4 -O --decomb=bob --nlmeans=medium --loose-anamorphic --modulus 2 -e x264 -q 20 --vfr -E ac3 -6 5point1 -R 48 -B 448 --audio-fallback ac3 --encoder-preset=veryfast --verbose=1" ###Denoise & COPY AC3 5.1 #export FLAGS="-f mp4 -O --decomb=bob --nlmeans=medium --loose-anamorphic --modulus 2 -e x264 -q 20 --vfr -E copy:ac3 --audio-fallback ac3 --encoder-preset=veryfast --verbose=1" if [ -z "$1" ] ; then TRANSCODEDIR="." else TRANSCODEDIR="$1" fi ###To use [&& find . -name '*.***' -delete] Uncomment and delete once to add to previous line of code ###Removes source files after completing ALL conversions. Use at your own risk! #AVI #find "$TRANSCODEDIR"/* -type f -name "*.avi" -exec bash -c 'HandBrakeCLI -i "$1" -o "${1%\.*}".mp4 $FLAGS' __ {} \; #&& find . -name '*.avi' -delete #MKV #find "$TRANSCODEDIR"/* -type f -name "*.mkv" -exec bash -c 'HandBrakeCLI -i "$1" -o "${1%\.*}".mp4 $FLAGS' __ {} \; #&& find . -name '*.mkv' -delete #MP4 #find "$TRANSCODEDIR"/* -type f -name "*.mp4" -exec bash -c 'HandBrakeCLI -i "$1" -o "${1%\.*}"-new.mp4 $FLAGS' __ {} \; ##&&find . -type f -not -name '*-new.mp4' -name '*.mp4' -delete && rename 's/-new//' *.mp4
我使用 Windows 程序并进行测试直到找到完美的设置,然后在文件上运行它并单击活动窗口 >> 编码日志 >>(在日志开始时)这就是我得到的。
CLI Query: -i "C:\Users\donut\Downloads\TobeConverted\Love & Other Drugs (2010).avi" -t 1 --angle 1 -c 1 -o "C:\Users\donut\Downloads\ConvertedMedia\Love & Other Drugs (2010).mp4" -f mp4 -w 720 --crop 68:70:0:0 --loose-anamorphic --modulus 2 -e x264 -q 20 --vfr -a 1 -E ac3 -6 5point1 -R Auto -B 384 -D 0 --gain 0 --audio-fallback ac3 --markers="C:\Users\donut\AppData\Local\Temp\Love & Other Drugs (2010)-1-chapters.csv" --encoder-preset=veryfast --encoder-level="5.2" --encoder-profile=high --verbose=1
简单版本是
HandBrakeCLI -i source [flags] -o destination [flags]
所以我不得不删除
--markers="C:\Users\donut\AppData\Local\Temp\Love & Other Drugs (2010)-1-chapters.csv"
我的别名可供无人值守使用。
alias handfolder="sudo cp /media/handbrake.script ./ && sudo nano ./handbrake.script ; nohup ./handbrake.script > handbrake.nohup &"
脚本名为 handbrake.script,位于 /media/handbrake.script 中。当您想要递归转换的目录底部时,请使用此别名!