To h264

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
K
K
Zeile 127: Zeile 127:
 
Aufruf von vdr um index neu zu erstellen.
 
Aufruf von vdr um index neu zu erstellen.
  
 +
Diskussion im vdr-Portal:
 
[http://www.vdr-portal.de/board16-video-disk-recorder/board6-capturen-digitalisieren-aufnehmen/118880-to-h264-vdr-aufnahme-mit-ffmpeg-in-h264-umwandeln to_h264]
 
[http://www.vdr-portal.de/board16-video-disk-recorder/board6-capturen-digitalisieren-aufnehmen/118880-to-h264-vdr-aufnahme-mit-ffmpeg-in-h264-umwandeln to_h264]
 +
 +
[http://www.vdr-portal.de/board16-video-disk-recorder/board6-capturen-digitalisieren-aufnehmen/p1155167-to-h264-vdr-aufnahme-mit-ffmpeg-in-h264-umwandeln/#post1155167 letzte Version]

Version vom 11. August 2013, 12:40 Uhr

VDR Aufnahme mit ffmpeg oder libav in h264 umwandeln

Funktioniert mit .vdr und .ts

Ziel wird in .rec Ordner + 1 min gespeichert

Video wird nach h264 konvertiert Audio mp2 wird nach aac konvertiert

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

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