Hallo,
vor dem gleichen Problem stand ich vor 2 Jahren auch. Da habe ich es mit Handbrake CLI gelöst. Meine Anforderung war es aus dem OSD heraus die Aufnahmen zu konvertieren.
Hierzu habe ich mir ein Script aus der Mahlzeit Installation verwendet. Da ich aber nicht wollte das bei 5-6 parallelen Konvertierungen der Server in Performance Problem kommt, lasse ich über "atq" nur eine Konvertierung alle 90 Minuten zu.
Das gute daran ist, das ich 10 Konvertierungen aus dem OSD anstoßen kann und nach nach entsprechender Zeit liegen alle Aufnahmen konvertiert im Samba Verzeichnis.Entsprechende Meldungen werden im OSD ausgegeben
Für meinen Anwendungszweck ist es eine super Lösung
In der reccmd.conf werden entsprechende Profile übergeben die in Handbrake vorhanden sein müssen.
etc/vdr/reccmds.conf
Handbrake Handy ? :/usr/bin/handbrake_vdr_start.sh 'Android'
Handbrake Tablet ? :/usr/bin/handbrake_vdr_start.sh 'Android Tablet'
Handbrake Laptop ? :/usr/bin/handbrake_vdr_start.sh 'High Profile'
/usr/bin/handbrake_vdr_start.sh
#!/bin/bash
LOG="/video1/Movies/Convert/encode.log"
var1=$(atq|wc -l)
var=$[$var1*90]
echo "/usr/bin/HandBrake_vdr_mahlzeit.sh \"${1}\" \"${2}\" >> ${LOG} 2>&1 " | at now "+"$var"min" >> ${LOG} 2>&1 &
HandBrake_vdr_mahlzeit.sh
#!/bin/bash
OUTDIRDEFAULT=/video1/Movies/Convert
SVDRPSEND="svdrpsend -p 6419"
# DO NOT CHANGE ANYTHING FROM HERE!
HANDBRAKEBIN="$(which HandBrakeCLI)"
PROFILE=${1}
DIRECTORY=${2}
OUTDIRDEFAULT=${OUTDIRDEFAULT}/$(echo ${PROFILE} | sed "s/ /_/g" | sed 's/[^a-zA-Z0-9_-]//g')
mkdir -p "${OUTDIRDEFAULT}"
${SVDRPSEND} MESG \"Start converting\"
for recording in $(find "${DIRECTORY}" -name "*.rec")
do
recpath=$(cd "${recording}"; pwd)
recordingname="$(basename $(dirname "${recpath}"))"
newrecname=$(echo ${recordingname} | sed "s/ /_/g" | sed 's/[^a-zA-Z0-9_-]//g')
vdrfilename="${OUTDIRDEFAULT}/${newrecname}.vdr"
handbrakeoutfilename="${OUTDIRDEFAULT}/${newrecname}.mp4"
echo "Start converting to ${vdrfilename}"
${SVDRPSEND} MESG \"Start converting ${newrecname}\"
echo "add files to ${vdrfilename}"
for videofile in $(find "${recording}" \( -name "[0-9][0-9][0-9].vdr" -o -name "[0-9][0-9][0-9][0-9][0-9].ts" \)|sort)
do
echo " ${videofile}"
cat "${videofile}" >> "${vdrfilename}"
done
echo " done"
echo "Convert with ${HANDBRAKEBIN}"
CMD="${HANDBRAKEBIN} -d -i \"${vdrfilename}\" -o \"${handbrakeoutfilename}\" --preset=\"${PROFILE}\" "
echo ${CMD}
eval ${CMD}
rm "${vdrfilename}"
echo " done"
done
${SVDRPSEND} MESG \"Finished converting\"
Display More