Others > General

HD-Aufnahmen verteilen und archivieren

<< < (3/3)

clausmuus:
Hi,

zwei Anmerkungen:
- als Quelle und Ziel solltest Du den /data/... Ordner wählen, da ab MLD-5.3 dort alle Datenlaufwerke zusammengefasst werden.
- als Outdir wäre eventuell der Ordner /data/video oder ein Unterordner davon besser als Vorgabe geeignet.
- ein besserer Name für die Variable "line" wäre z.B. "recording"

Claus

woody:
Hallo Claus,

vielen Dank für den Tipp mit dem Quell- und dem Zielverzeichnis. Ich hoffe, ich habe die beiden Stellen, an denen man die erforderlichen Pfade eintragen kann, ausreichend gekennzeichnet.

Wegen der Variablen "line": Der Befehl "find ${indir} -path *%*.rec" gibt die gesuchten Dateipfade ja zeilenweise aus. Diese Zeilen leite ich einzeln per Pipe an  "while read line; do" weiter. Ich glaube, wenn ich da einen anderen Variablenname benutzen würde, hätte ich alle Pfade respektive Zeilen gleichzeitig da drin, oder?



clausmuus:
Nein, das "line" ist nur ein frei wähl barer Name. Der sollte also (aus programmiertechnischer Sicht möglichst das widerspiegeln was die variable enthält, in Deinem Fall also ein path bzw. recording oder rec_path)
Das Ergebnis ist immer das Selbe, nur ist das Programm dann etwas besser lesbar.

Claus

woody:
Hallo Claus,

du hast recht. "line" ist an dieser Stelle kein Schlüsselwort. Vielen Dank für den Hinweis!

Hier also die aktuelle Version:


--- Code: ---#!/bin/sh
   
#/usr/bin/finishforkodi

# This script scans "indir" for vdr-recording-subdirs with already cut, but not for deletion marked movies and glues all ts-files
# there together to one file. This file is renamed in to "Title(year).ts" so that Movie scrapers can recognize the file
# properly and so collect additional info and fanart from the internet. At last the script moves all finished files to "outdir"
# for further processing e.g. by Handbrake or for simply viewing them. :-)
        # The original recording is deleted nad a log-file is placed insind "indir".
#
# "indir" and "outdir" can be defined by editing the following two lines:

indir="/data/tv/"
outdir="/data/finished/"

# --- Do not edit behind this line. ---

find ${indir} -path *%*.rec | while read recording; do
cd "${recording}"
title="$(grep  ^T info | sed -e 's/^T //g' -e 's/[.:]//g' -e 's/|/\n/g')"
year="$(grep  ^S info | sed -r -e 's/[^0-9]*//g' -e 's/[0-9]+/(&)/')"
name="${title} ${year}.ts"
echo "Concatenating '${name}'"
test -e "${outdir}${name}" && rm -f "${outdir}${name}"
   for tsfile in $(find -name "0000[0-9].ts" | sort); do
                   cat "${tsfile}" >> "${outdir}${name}"
   done
cd ..
test -e "${recording}" && rm -rf "${recording}"
find ${indir} -type d -empty -delete
date -R|tr '\n' ' '>> ${indir}finishforkodi.log; echo "Movie '${name}' successfully renamed and concatenated." >> ${indir}finishforkodi.log
done



--- End code ---

Navigation

[0] Message Index

[*] Previous page

Go to full version