Quantcast
Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Tvheadend HD aufnahmen richtig transcodieren?

sakis2013

Spezialist
Registriert
17. März 2013
Beiträge
557
Reaktionspunkte
210
Punkte
153
Hallo zusammen,

hier mein System:

Host = Proxmox Dell T20
Virtuelle Maschine= Tvheadend 4.3 unstable
DVB-S = mit Passthrough an TVH durchgereicht
System = Ubuntu 18.04

Ich möchte den Tvheadend als Recorder nutzen um HD Sendungen, Filme etc. aufzunehmen und zu transcodieren.
Folgende Fragen dazu:

1.) welches Format nutzt man am besten, um HD Sendungen so klein wie möglich zu erstellen?
2.) kriege ich es mit den TVH internen mittel es zu "transcodieren" oder muss ich dazu ffmpeg oder ähnliches nutzen?


LG
Sakis
 
Hi,

ich empfehle das nachträgliche Transcodieren über FFMPEG, da dabei die Rechenpower keine Rolle spielt, dauert einfach länger. Als Format nehme ich mkv, hierbei werden bei den Sky Sender, Chapters geschrieben und dies können über mkvmerge automatisch geschnitten werden. In TVH ist es ja möglich direkt nach der Aufnahme ein Script zu starten, wo bestimmte Parameter (Filmname,Pfad usw') direkt an das Script übergeben werden. Hier kann man schöne automatisierte Scripte basteln
Ich Transcodiere auf h264 720p AC3 5.1 mit 3Mbit, dabei werden die Filme zwischen 2-3 GB Groß.
Die größte Komprimierung ist mit HEVEC h265 möglich, hab ich aber keine Erfahrung zu.

Grüße
 
Zuletzt bearbeitet:
Vielen Dank für deine Antwort.

hast du zufällig das Script da?

Und wie füge ich es ein bzw richte es ein?

Vielen Dank.
 
Zuletzt bearbeitet von einem Moderator:
Vielleicht findet sich jemand der noch das Script besitzt


Ich habe es leider nicht mehr. Soft transcording funktionierte hiermit hervorragend.
 
Bin kein Experte was Script schreiben anbelangt, einfach quick and dirty ;-)
Ich glaube alle benötigenten Pakete sollten in Ubuntu bereits enthalten sein, bis auf ffmpeg


apt install ffmpeg mkvtoolnix


Unter Configuration -> Recording legst ein Profil an

Storage path: /mnt/HDD1/aufnahmem/film
Stream profile: matroska
Post-processor command: /home/tvh.sh "%f" "%b" "%t" "%e"

nano /home/tvh.sh # Spoiler einfügen
(Die Pfade musst nach deinen Bedürfnissen erstellen und im Script anpassen)

#!/bin/bash
####Record Einstellung TVH
####
pfad=$1
name=$2
titel=$3
error=$4
#####Pfade****
#####
splittpfad=/mnt/HDD1/aufnahmem/splitt/
duplicate=/mnt/HDD1/aufnahmem/ablage/
zielpfad=/mnt/HDD1/film/
###Prüfen ob Datei vorhanden###
###
echo "$4" teste Aufnahme
testfile="$duplicate/$name"
if [ -f "$testfile" ];then
echo "${testfile##*/} exists."
echo " Aufnahme "$titel" breits vorhanden"
/usr/bin/truncate -s 0 "$pfad"
exit 0
else
echo "${testfile##*/} does not exist."
fi
###Püfen ob Fehler in Aufnahme###
###
if
echo $error | grep OK
then
echo "Aufnahme "$titel" keine Fehler vorhanden, starte splitt"
else
rm "$pfad"
echo "Aufnahme "$titel" hat Fehler, wird gelöscht..."
exit 0
fi
###Dateigröße prüfen###
###
if
find "$pfad" -type f -size +1500M | grep "$name"
then
echo file "größe geprüft, starte splitten"
else
echo file "größe geprüft, zu klein, lösche"
rm $duplicate"$name"
rm "$pfad"
exit 0
fi
###Datei schneiden und transcodieren#####
###
mkdir "$splittpfad$titel"
mkdir "$splittpfad$titel/$titel"
if
mkvmerge -o "$splittpfad$titel/$titel"/1.mkv --split chapters:all "$pfad" | grep keine
then
echo "kein splitt möglich, starte transcodieren"
/usr/bin/ffmpeg -i "$pfad" -threads 2 -loglevel fatal -vcodec libx264 -b 3000k -maxrate 4000k -bufsize 10000k -s 1280x720 -acodec copy -r 50 "$zielpfad$name" -y
rm -r "$splittpfad$titel"
/usr/bin/truncate -s 0 "$pfad"
echo "transcodieren "$titel" abgeschlossen"
echo "$4"
touch $duplicate"$name"
else
echo "geschnitten, starte transcodieren"
find "$splittpfad$titel/$titel/" -type f -size +1000M -exec /usr/bin/ffmpeg -i {} -loglevel fatal -threads 2 -vcodec libx264 -b 3000k -maxrate 4000k -bufsize 10000k -s 1280x720 -acodec copy -r 50 "$zielpfad$name" -y \;
rm -r "$splittpfad$titel"
/usr/bin/truncate -s 0 "$pfad"
echo "transcodieren "$titel" abgeschlossen"
echo "$4"
touch $duplicate"$name"
fi
exit 0

chmod +x /home/tvh.sh

Bei den Aufnahmen das Recordingprofil vergebn, geht auch bei autorec.

1. Prüft ob die Aufnahme breits in der Ablage vorhanden ist
(Wichtig falls TVH mal neu Installiert wird und die Abgeschlossenen Aufnahmen weg sind)
2. Das Script prüft die Aufnahme nach Fehlern
3. Prüft die Filegröße, falls eine Aufnahme abbricht oder TVH neu startet
4. Schneidet die Vorlaufzeit und Nachlaufzeit weg
5. Transcodiert die Aufnahme
6. Setzt die Aufnahme auf 0MB damit sie in TVH unter Abgeschlossene Aufnahme erhalten bleiben. Somit wird es nicht erneut Aufgenommen.


Das Schneiden funktioniert nur bei den Sky Sendern.
Der FFMPEG Befehl noch nach deinen Bedürfnissen anpassen, ich hab zB 2 Threads drinnen, damit die cpu nicht so belastet wird

Damit es keine Probleme mit den Schreibrechten gibt, entweder alles unter /home/hts ablegen oder TVH als Root starten
nano /etc/default/tvheadend
TVH_USER="hts" zu
TVH_USER="root" ändern




Grüße
 
Zuletzt bearbeitet:
Danke für die schnelle Antwort.

Leider klappt das bei mir nicht.

Hier mein TVH Profil:
Du musst Regestriert sein, um das angehängte Bild zusehen.

das Script liegt hier "/home/hts/tvh.sh" gefolgt vom chown hts:video /home/hts/tvh.sh und chmod +x /home/hts/tvh.sh

Hier der Log:

Code:
2020-04-07 15:00:12.921 dvr: entry 1beae8355e4fd088f77cf23154f4bca8 "alpha-centauri" on "ARD-alpha HD" starting at 2020-04-07 14:59:30, with broadcast id "", scheduled for recording by "sakis"

2020-04-07 15:00:12.921 dvr: "alpha-centauri" on "ARD-alpha HD" recorder starting

2020-04-07 15:00:12.922 mpegts: 11052.75H in DVB-S Network - tuning on TurboSight TBS 6902 DVB-S/S2  #0 : DVB-S #0

2020-04-07 15:00:13.430 subscription: 0039: "DVR: alpha-centauri" subscribing on channel "ARD-alpha HD", weight: 500, adapter: "TurboSight TBS 6902 DVB-S/S2  #0 : DVB-S #0", network: "DVB-S Network", mux: "11052.75H", provider: "ARD", service: "ARD-alpha HD", profile="matroska", username="sakis"

2020-04-07 15:00:14.116 dvr: /home/dvr/tvheadend/alpha-centauri/alpha-centauri-Kann man zu den Sternen reisen?.mkv from adapter: "TurboSight TBS 6902 DVB-S/S2  #0 : DVB-S #0", network: "DVB-S Network", mux: "11052.75H", provider: "ARD", service: "ARD-alpha HD"

2020-04-07 15:00:14.116 dvr:  #  type              lang  resolution  aspect ratio  sample rate  channels

2020-04-07 15:00:14.116 dvr:  1  H264                    1280x720    16:9                                 

2020-04-07 15:00:14.116 dvr:  2  MPEG2AUDIO        ger                             48000        2         

2020-04-07 15:00:14.116 dvr:  3  MPEG2AUDIO        mis                             48000        2         

2020-04-07 15:00:14.116 dvr:  5  AC3               ger                             48000        2         

2020-04-07 15:00:14.116 dvr:  6  DVBSUB            ger                                                   

2020-04-07 15:00:19.843 subscription: 0039: "DVR: alpha-centauri" unsubscribing from "ARD-alpha HD", username="sakis"

2020-04-07 15:00:19.844 spawn: Executing "/home/hts/tvh.sh"

2020-04-07 15:00:19.845 dvr: "alpha-centauri" on "ARD-alpha HD": End of program: Completed OK

2020-04-07 15:00:19.847 spawn: OK teste Aufnahme

2020-04-07 15:00:19.848 spawn: alpha-centauri-Kann man zu den Sternen reisen?.mkv does not exist.

2020-04-07 15:00:19.849 spawn: OK

2020-04-07 15:00:19.849 spawn: Aufnahme alpha-centauri keine Fehler vorhanden, starte splitt

2020-04-07 15:00:19.851 spawn: file größe geprüft, zu klein, lösche

2020-04-07 15:00:19.851 spawn: rm: das Entfernen von '/home/dvr/tvheadend/ablage/alpha-centauri-Kann man zu den Sternen reisen?.mkv' ist nicht möglich: Datei oder Verzeichnis nicht gefunden

Danke für deine Hilfe.

LG
Sakis
 

Anhänge

Du musst angemeldet sein, um die Anhangsliste zu sehen.
das Script klappt doch, nur die Aufnahme ist zu klein. Die Aufnahme muss mid 1GB groß sein, sonst wird gelöscht. Das Script ist nur für Filme gedacht

2020-04-07 15:00:19.851 spawn: file größe geprüft, zu klein, lösche

Allerdings scheinen deine Pfade im Script nicht zu stimmen

2020-04-07 15:00:19.851 spawn: rm: das Entfernen von '/home/dvr/tvheadend/ablage/alpha-centauri-Kann man zu den Sternen reisen?.mkv' ist nicht möglich: Datei oder Verzeichnis nicht gefunden

Hast du die Pfade im Script bearbeitet?
#####Pfade****
#####
splittpfad=/mnt/HDD1/aufnahmem/splitt/
duplicate=/mnt/HDD1/aufnahmem/ablage/
zielpfad=/mnt/HDD1/film/


Und hast die Recht TVH gegeben für
/home/dvr/tvheadend
 
Zuletzt bearbeitet:
Ich habe die File Größe zum Testen auf 1MB gestellt. Es kommen zwei Fehler. (siehe unten rot markiert)
Die Datei /home/dvr/tvheadend/Criminal Minds/Criminal Minds-Joy Rossi.mkv ist 0kb groß
Genau so wie die /home/dvr/ablage/Criminal Minds-Joy Rossi.mkv

Code:
2020-04-07 15:50:49.782 dvr: "Criminal Minds" on "13th Street HD" recorder starting

2020-04-07 15:50:49.782 mpegts: 11992.5H in DVB-S Network - tuning on TurboSight TBS 6902 DVB-S/S2  #1 : DVB-S #0

2020-04-07 15:50:49.812 subscription: 004F: "DVR: Criminal Minds" subscribing on channel "13th Street HD", weight: 500, adapter: "TurboSight TBS 6902 DVB-S/S2  #1 : DVB-S #0", network: "DVB-S Network", mux: "11992.5H", provider: "SKY", service: "13th Street HD", profile="matroska", username="sakis"

2020-04-07 15:50:51.387 dvr: /home/dvr/tvheadend/Criminal Minds/Criminal Minds-Joy Rossi.mkv from adapter: "TurboSight TBS 6902 DVB-S/S2  #1 : DVB-S #0", network: "DVB-S Network", mux: "11992.5H", provider: "SKY", service: "13th Street HD"

2020-04-07 15:50:51.387 dvr:  #  type              lang  resolution  aspect ratio  sample rate  channels

2020-04-07 15:50:51.387 dvr:  1  H264                    1920x1080   16:9                                 

2020-04-07 15:50:51.387 dvr:  2  AC3               ger                             48000        5.1       

2020-04-07 15:50:51.387 dvr:  3  AC3               eng                             48000        2         

2020-04-07 15:51:31.888 subscription: 004F: "DVR: Criminal Minds" unsubscribing from "13th Street HD", username="sakis"

2020-04-07 15:51:31.889 spawn: Executing "/home/tvh.sh"

2020-04-07 15:51:31.892 dvr: "Criminal Minds" on "13th Street HD": End of program: Completed OK

2020-04-07 15:51:31.893 spawn: OK teste Aufnahme

2020-04-07 15:51:31.894 spawn: Criminal Minds-Joy Rossi.mkv does not exist.

2020-04-07 15:51:31.895 spawn: OK

2020-04-07 15:51:31.895 spawn: Aufnahme Criminal Minds keine Fehler vorhanden, starte splitt

2020-04-07 15:51:31.898 spawn: /home/dvr/tvheadend/Criminal Minds/Criminal Minds-Joy Rossi.mkv

2020-04-07 15:51:31.898 spawn: file größe geprüft, starte splitten

2020-04-07 15:51:31.902 spawn: /home/tvh.sh: Zeile 53: mkvmerge: Befehl nicht gefunden

2020-04-07 15:51:31.903 spawn: geschnitten, starte transcodieren

2020-04-07 15:51:31.917 spawn: transcodieren Criminal Minds abgeschlossen

2020-04-07 15:51:31.917 spawn: OK
 
Es sollte alles funktioniert haben, bis aufs schneiden, da fehlt mkvmerge.

sudo apt-get install mkvtoolnix

TVH Aufnahmepfad und Ablagepfad ist die Datei immer 0kb. Im Zielpfad ist dann die transcodierte Aufnahme.

Du must die überprüfung und den splitt anpassen, wenn es kleiner 1GB sein soll
 
Zuletzt bearbeitet:
Zurück
Oben