-f mp4 -c:v libx264 -preset veryslow -tune grain -profile:v high422 -flags +ildct+ilme
Ich bereite ein Video vor, das von meinem NAS zu einem älteren Sony Bravia gestreamt werden soll (DLNA). Ich habe erfolgreich abspielbare m2t-Dateien (1080i) mit VideoStudio erstellt (AVC, high@L4, Cabac, h264, vbr max 20 Mbps, 25 fps, interlaced). Interlaced ist wichtig, da der Fernseher 1080p von NAS oder USB anscheinend nicht verarbeiten kann. Ich habe ein altes Familienvideo in prores/mov, das VideoStudio nicht als Eingabe akzeptiert, also versuche ich, es mit FFmpeg in etwas zu konvertieren, das für den Fernseher akzeptabel ist.
Ich habe keine Möglichkeit gefunden, m2t-Dateien mit FFmpeg zu erstellen.
Der Fernseher ist angeblich in der Lage, MP4 zu verarbeiten, aber unabhängig von den versuchten Einstellungen – und ich habe Dutzende ausprobiert, die alle gut auf VLC abgespielt werden (einschließlich BD-kompatibel, PSP-Profile und andere), sagt der Fernseher nur „nicht abspielbar“.
Hat jemand eine Idee für eine der beiden Routen?
Bei der Suche im Internet habe ich erfahren, dass der Sony Bravia dafür bekannt ist, sehr wählerisch zu sein, aber ich bin sicher, dass jemand den Schlüssel gefunden hat ...? (außer denen bei pavtube, die behaupten, ein kommerzielles Tool zu haben, das den Zweck erfüllt)
FFprobe der funktionierenden m2t-Datei:
Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 384 kb/s
Eigenschaften von funktionierendem m2t von MediaTab:
===================== General =====================
Id : 0 (0x0)
Complete name : D:\ThisWorks.m2t
Format : BDAV
Format info : Blu-ray Video
File size : 2.21 GB
Duration (ms) : 21mn 10s
Overall bit rate mode : Variable
Overall bit rate : 14.9 Mbps
Maximum Overall bit rate : 25.5 Mbps
===================== Video =====================
Id : 4113 (0x1011)
Menu ID : 1 (0x1)
Format : AVC
Format info : Advanced Video Codec
Formatprofile : High@L4
Formatsettings, CABAC : Yes
Formatsettings, ReFrames : 2 frames
Formatsettings, GOP : N=1
Codec Id : 27
Duration (ms) : 21mn 10s
Bit rate mode : Variable
Bit rate : 13.9 Mbps
Maximum bit rate : 20.0 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 25.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Interlaced
Scan type, store method : Separated fields
Scan order : Top Field First
Bits/(Pixel*Frame) : 0.269
Stream size : 2.06 GB (93%)
===================== Audio =====================
Id : 4352 (0x1100)
Menu ID : 1 (0x1)
Format : AC-3
Format info : Audio Coding 3
Mode extension : CM (complete main)
Formatsettings, Endianness : Big
Codec Id : 129
Duration (ms) : 21mn 10s
Bit rate mode : Constant
Bit rate : 384 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Frame rate : 31.250 fps (1536 spf)
Compression mode : Lossy
Stream size : 58.2 MB (3%)
Versuchen
ffmpeg -i in -vf format=yuv420p,setsar=1 -g 25 -c:v libx264 -tune grain -profile:v high -refs 2 -x264opts bluray-compat=1:fake-interlaced=1:nalhrd=vbr:aud=1 -maxrate 20M -bufsize 20M -c:a ac3 -ac 2 out.ts
FFmpeg kann nicht replizieren Scan type, store method : Separated fields
, aber es spielt vielleicht keine Rolle.
fake
fake-interleced
oder interlaced
der Bravia sich weigert, sie abzuspielen :( Gibt es eine Chance, dass die Ausgabe einen tbr von 50 anzeigt?-r 50 -vsync vfr
Eureka!
Nach vielen langen Nächten und viel Suchen gelang es mir, ein ffmpeg-Setup zu erstellen, das ein interlaced 1080i erzeugt, das mein alter (2009) Sony Bravia von meinem NAS streamen kann. Dies ist die Befehlszeile:
ffmpeg -y -i in.mov -c:v libx264 -pix_fmt yuv420p -level 4.0 -refs 1 ^
-x264opts b-pyramid=0:bluray-compat=1:interlaced=1:nal-hrd=vbr:aud=1 -maxrate 20M -bufsize 30M ^
-c:a ac3 -b:a 384k -f mpegts out.m2ts
Ich denke, eines der kritischen Elemente war die Einstellung des richtigen Pegels. Der Fernseher kann mit -refs 1 und 2 umgehen.
Ich kann nicht sagen, dass ich die volle Tiefe aller Einstellungen und Optionen verstehe, und Verbesserungsvorschläge sind mehr als willkommen!
Die von ffmpeg generierten m2ts haben einen tbr von 25:
Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1[0x101](eng): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, stereo, fltp, 384 kb/s
... während die ursprüngliche "funktionierende m2t-Datei" einen tbr von 50 hatte. Ich weiß nicht, was das bedeutet, und zumindest scheint es keinen Unterschied zu machen
Die Eingabe ist ein 1080i dnxhd von Davinci Resolve (leider hat DR nur sehr wenige Optionen für die Bereitstellung von Interlaced-Ausgaben).
Gyan
ffmpeg -i file.m2t
von einer der funktionierenden VideoStudio-Dateien frei.KiDy
KiDy