To h264

Aus VDR Wiki
Wechseln zu: Navigation, Suche

VDR Aufnahme mit ffmpeg oder libav in h264 umwandeln

Platzersparnis: bei Aufzeichnungen von ÖRs mit großen Bitraten Faktor 3 und mehr.

Beschreibung

Funktioniert mit .vdr und .ts

Ziel wird in .rec Ordner + 1 min gespeichert

Video wird nach h264 konvertiert

Audio mp2 wird nach aac konvertiert

Profil 1

  • unter 160 kb/s --> 96 kb/s
  • bis 192 kb/s --> 128 kb/s
  • über 192 kb/s --> 192 kb/s

Profil 2

  • unter 160 kb/s --> 72 kb/s
  • bis 192 kb/s --> 96 kb/s
  • über 192 kb/s --> 128 kb/s

AC3 wird kopiert

Alle Tonspuren bleiben erhalten

Untertitel werden kopert

info.vdr wird ergänzt mit "L 99"

Softhddevice spielt das Ergebnis klaglos ab.


Menü:

/mnt/3TB/video/U/%Unsere_Welt_war_eine_schöne_Lüge/2012-03-29.22.27.21-0.rec
#0:0[0xd2]: mpeg2video 720x576 16:9
#0:1[0xdc]( deu mp2 stereo 256 kb/s
#0:2[0xdd]( mis mp2 mono 128 kb/s
#0:3[0xe1]( deu ac3 stereo 448 kb/s
ffmpeg Version 1.0.7
Format=ts
Anzahl Dateien: 3
mkv=
audio_auswahl=
subtitel=yes
join=concat
aac_br_select=2 72,96,128
scale=
press Enter (a1,a2,p,c,n,o,a,m,?)

Hilfe dazu:

?
a audio_auswahl
a1,a2 aac_br_select
c cat
f ffmpeg
m mkv
n no
o concat
p projectx
t tsmuxer

Einstellungen

Schalter im script:

aac_br_select=2         # 1 = 96,128,192  2 = 72,96,128

stop=yes                # Bestätigung bei wichtigen Meldungen + Menüs
#mkv=yes                # Matroska Format erzeugen
#audio_auswahl=yes      # Reihenfolge und Auswahl der Audiospuren
join=ffmpeg             # concat ffmpeg >= 1.1, wird bei < 1.1 autom. abgeschaltet
join=cat                # concat für ffmpeg < 1.1 mittels cat,
                        # bei ffmpeg >= 1.1 wird autom. builtin benutzt
                        # funktioniert bei neueren TS-Files
join=concat             # avconv + ffmpeg >= 1.0
#join=tsmuxer           # Alternative zu cat bei TS, Auf A/V-Synchronität achten
#join=projectx          # projectx      for fixing problems
                        # empfehlenswert bei .vdr
                        # sehr empfehlenswert bei .vdr > 1 Datei und > 1 Audiospur
#demux_x264=yes         # nach demux mit x264 wandeln
#demux_aac=yes          # nach demux in aac wandeln
                        # wenn beide an sind wird 00001.ts direkt mit tsmuxer erzeugt
                        # von Vorteil bei problemat. ffmpeg Versionen
# Muxing after projectx
#mux=tsmuxer
#mux=mkvmerge           # testing only
mux=ffmpeg              # works fine

#scale="-vf scale=720:576:interl=1"     # HD --> SD

crf=21          # Qualität, default 23, kleiner ist besser
gop="-g 50"     # verbessert die Navigation, default 250

Parameter lassen sich am Einfachsten durch '#' deaktivieren (die wichtigsten Schalter lassen sich über das Menü steuern).

join=projectx

Voraussetzung:

ProjectX installiert.

hiermit lassen sich fehlerhafte Aufzeichnungen reparieren. Bei .vdr Dateien erkennt ffmpeg nicht die richtige Reihenfolge der Audio-Streams, das führt zu Problemen bei Aufzeichnungen, die aus mehreren Dateien bestehen und mehr als einen Audio-Stream haben. Hier sollte unbedingt mit projectx gearbeitet werden.

Eine echte Herrausforderung war die korrekte Zuordnung der Audio-Streams, hierzu musste ich das Projectx-Protokoll parsen.

join=tsmuxer

Voraussetzung:

tsmuxer installiert.

Alternative zu cat bei TS, hierbei ist unbedingt auf A/V-Synchronität zu achten. Tsmuxer führt an den Schnittstellen gewisse Reperaturen durch, die von Vorteil sein können, aber, wie gesagt, zu Synchron-Problemen führen können.

#aaclib="libfaac"
aaclib="libfdk_aac" # Fraunhofer Library - bessere Qualität

Die Fraunhofer Library ist aufgrund der besseren Qualität zu empfehlen.

temp=temp

Verzeichnis, wird von projectx benutzt. Arbeite ich über NFS (Netzwerk), sollte hier ein lokales Laufwerk angegeben werden.

videodir=/video

Videoverzeichnis, um vdr mitzuteilen, das Verzeichnis neu einzulesen.

vdr=$VDRDIR/vdr

Aufruf von vdr um index neu zu erstellen.




Diskussion im vdr-Portal: to_h264

letzte Version