Hab mal seedvr2 (3b model) auf suzie los gelassen: https://www.mediafire.com/file/om01w74n8…vr2_3b.mp4/file
Cu Selur
Hab mal seedvr2 (3b model) auf suzie los gelassen: https://www.mediafire.com/file/om01w74n8…vr2_3b.mp4/file
Cu Selur
Ja, uncompressed ist verlustfrei, aber halt ohne flags, da diese nicht zu den eigentliche Videodaten gehören. ![]()
Quoteinterleave zu progressive ist aber sc73+sse oder?
Filternzum Capturen: Ja, da man da Filtern müsste und meist ist ein späteres Filtern zu bevorzugen. (um mehr Kontrolle über das Filtering und die Qualität des Outputs zu haben)
Normalerweise sollte man in ein komprimiertes lossless Format capturen.
Quotesoll später am TV wiedergegeben werden.
Du hast die Wahl:
a. Capture direkt in ein Format was Dein TV oder MediaPlayer versteht, hier fällt lossless und uncompressed i.d.R. raus.
oder
b. Capure in ein intermediate format, idealerweise lossless. (dies wäre dann auch zum Archivieren tauglich) Filtere und reencode das aufgenommene Material in ein Format, was dem Dein TV oder MediaPlayer versteht.
Es gibt i.d.R. zwei Orte für Videotags:
a. im Videostream selber, was bei RAW Video wegfällt
b. im Container, soweit dieser sie unterstützt, avi unterstützt nicht, was du willst
=> Entweder anderen Container (z.B. MKV) oder anderes verlustfreies Videoformat (z.B. ffv1) verwenden, oder selber wissen was wo einzustellen ist bei der Weiterverarbeitung.
An sich schon, aber man müsste quasi die gleichen Werte dort eingeben wie in der Datei, sprich lohnt nicht wirklich.
Falls das noch mehr Benutzer brauchen kann ich da was für schreiben, aber aktuell erscheint es mir ziemlich exotisch. ![]()
Nebenbei: Hybrid erstellt standardmäßig, bereits ein qp-file, wenn die Quelle Kapitelmarken hat und keines manuell gesetzt ist.
(x264->Misc->Automatically->Create qp file for chapters)
Cu Selur
zu 1.:
x264 hat zones und ein qpfile.
--zones <zone0>/<zone1>/... Tweak the bitrate of regions of the video
Each zone is of the form
<start frame>,<end frame>,<option>
where <option> is either
q=<integer> (force QP)
or b=<float> (bitrate multiplier)
--qpfile <string> Force frametypes and QPs for some or all frames
Format of each line: framenumber frametype QP
QP is optional (none lets x264 choose). Frametypes: I,i,K,P,B,b.
K=<I or i> depending on open-gop setting
QPs are restricted by qpmin/qpmax.
Display More
=> Zones setzen keine Frame Typen, dazu würde man ein qpfile nutzen.
Unter "x264->Quantization->Custom qp file" kann man ein eigenes qp file verwenden.
zu 2.:
In Vapoursynth (Avisynth geht vergleichbar), könnte man sowas wie:
1.
black = core.std.BlankClip(clip)
clip = core.std.Splice([
clip[:10], # 0-9 normal
black[10-20], # 1000-19 schwarz
clip[20:59], # 20-49 normal
black[50:100], # 50-99 schwarz
clip[100:] # 100-ENDE normal
])
simple und schnell, aber sowohl schwarze als auch normale Intervalle müssen angegeben werden
oder
2.
black = core.std.BlankClip(clip)
intervals = [
(10, 20),
(50, 100),
]
def turnblack(n, f):
for start, end in intervals:
if start <= n < end:
return black.get_frame(n)
return f
out = core.std.ModifyFrame(clip, clip, turnblack)
Display More
etwas langsamer, aber nur schwarze Intervalle müssen angegeben. Jedoch mit expliziten Start-&EndFrame.
in einer Custom Section verwenden.
Custom Letterboxing könnte man analog machen, erscheint mir aber alles zu exotisch, als dass ich dafür extra UI-Elemente in Hybrid anlegen würde.
Cu Selur
Schlechte Lagerung kann sein.
Eventuell Feuchtigkeit gezogen.
Vielleicht schwankende Bandspannung oder andere Gründe, die dafür sorgen, dass das Band nicht sauber/gleichmäßig läuft.
Mal komplett durchgespult und wieder zurück?
Idee zur Nachbearbeitung würde eine möglichst verlustfreies Sample deiner Aufnahme.
Cu Selur
Die einzigen zwei freien MPEG-2 Encoder die mir so in den Sinn kommen sind x262 und ffmpegs mpeg-2 encoder und wenn ich mich recht entsinne sind beide nicht soo dolle. (+ der Mangel an Wissen rund um Containeroverhead&Co bei MPEG-2 wäre ja immer noch da)
=> MPEG-2 ist für Hybrid nicht geplant ![]()
Quotemir ist aufgefallen, das kein MPEG2 für DVD-Video dabei ist.
wobei, seit ich HD-Videos für hardwareplayer codiere, ich keine DVD mehr erstellt habe...
Ja, mpeg-2 als Output wird nicht unterstützt.
Da ich kaum Ahnung habe, was ein guter freier MPEG-2 encoder ist, wie man ihn ordentlich einstellt und den ContainerOverhead von Audio&Video berechnen würde in unterschiedlichen Containern.
Quoteder codecs wie der VVC codec, sind zwar vorhanden, aber nicht in der auswahl gelistet,
hat das ein grund?
Hatte mal angefangen dafür Code zu schreiben, ihn aber bis dato nicht aktiviert.
Großteil liegt an:
[Blocked Image: https://i.ibb.co/pr0XW1m6/grafik.png]
Hybrid selber ist ca. 30MB groß und dazu kommen ca. 50MB an dlls.
Und falls man dann die Add-ons noch installiert, wird es halt noch größer. ![]()
Der Großteil geht halt vor allem für die GPU basierten Filter und ihre Abhängigkeiten drauf.
=> Problem ist halt zu entscheiden: Was sind 'die gänigsten tools' ?
Cu Selur
Ps.: Mein Hybrid-Ordner mit den AddOns und ein paar anderen Sachen (u.a. mehr modelle für vsgan&vsmlrt) ist entpackt ca. 80GB groß. ![]()
2025.11.09.1:
*fixed*
-> downloads: http://www.selur.de/downloads
Cu Selur
2025.11.08.1:
*changed*
*fixed*
-> downloads: http://www.selur.de/downloads
Cu Selur
Ps.: Dropped Ubuntu package release, created an AppImage which hopefully works.
Also, ich habe eine Quelle
Color space: YUV420P8, Bit depth: 8, Auflösung: 720x480, Framerate: 29.97fps, Scanorder: bottom field first, YUV Luminance scale: limited, Matrix: 470bg, format: mpeg-2
Wenn ich die diese Quelle mit TDeint bob deinterlace
clip = core.tdm.TDeintMod(clip=clip, order=0, mode=1) # new fps: 59.94
# Making sure content is preceived as frame based
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # progressive
habe ich einen clip mit
Color space: YUV420P8, Bit depth: 8, Auflösung: 720x480, Framerate: 59.94fps, Scanorder: progressive, YUV Luminance scale: limited, Matrix: 470bg
bei dem jedes Field (720x480) zu einem Frame (720x480) interpoliert wurde.
Aufgabenstellung:
Wie kann ich dies nun wieder rückgängig machen, also in "Auflösung: 720x480, Framerate: 29.97fps, Scanorder: bottom field first" umwandeln, und möglichst wieder meine original Fields zurückzubekommen? (Ich weiß, dass TDeint die Originalfields auch ändert, aber das vernachlässige ich bewusst und gehe davon aus, es würde dies nicht tun.)
Meine aktuelle Lösung:
# initial clip has 150 interlaced frames with 720x480 @ 30000/1001, scan type: bff
# converting interlaced to full-height progressive for filtering
clip = core.tdm.TDeintMod(clip=clip, order=0, mode=1) # new fps: 59.94
# Making sure content is preceived as frame based
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # progressive
# converting full-height progressive to interlaced before deinterlacing
clip = core.std.SeparateFields(clip=clip, tff=True)
clip = core.std.DoubleWeave(clip=clip, tff=True) # resolution 720x480
clip = core.std.SelectEvery(clip=clip, cycle=4, offsets=[0, 1])
clip = core.std.SelectEvery(clip=clip, cycle=2, offsets=[1])
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_BOTTOM) # bff
clip = core.std.AssumeFPS(clip, fpsnum=30000, fpsden=1001)
#clip = core.std.Interleave([org.text.Text("ORG"), clip.text.Text("Filtered")])
Display More
bzw.
# initial clip has 150 interlaced frames with 720x480 @ 30000/1001, scan type: tff
# converting interlaced to full-height progressive for filtering
clip = core.tdm.TDeintMod(clip=clip, order=1, mode=1) # new fps: 59.94
# Making sure content is preceived as frame based
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # progressive
# converting full-height progressive to interlaced before deinterlacing
clip = core.std.SeparateFields(clip=clip, tff=True)
clip = core.std.DoubleWeave(clip=clip, tff=True) # resolution 720x480
clip = core.std.SelectEvery(clip=clip, cycle=4, offsets=[0, 1])
clip = core.std.SelectEvery(clip=clip, cycle=2, offsets=[1])
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.TOP_BOTTOM) # tff
clip = core.std.AssumeFPS(clip, fpsnum=30000, fpsden=1001)
#clip = core.std.Interleave([org.text.Text("ORG"), clip.text.Text("Filtered")])
Display More
(das einzige, was sich ändert, ist die order bei TDeint und der _FieldBased-Wert bei letzten SetFrameProps)
scheint zu klappen.
=> Frage: Gibt es eine einfachere Methode Bob Deinterlacing 'rückgängig' zu machen? (in Vapoursynth, nicht Avisynth)
Cu Selur
Linux User, bitte mal testen.
Danke
Cu Selur
Der Clip ist nicht interlaced => deinterlacing bringt nix.
Yo, Platte an PC anschließen und IsoBuster ging bei den Sony Recordern, soweit ich micht entsinne.
Liest sich bei https://www.avforums.com/threads/how-to…th-a-pc.886416/ auch so.
Hier gibts auch ein Video:
Kann nicht sagen, dass ich das Problem wirklich kenne.
Mögliche Quellen für das Problem:
Cu Selur
Genau kann man oft vergessen, da je nach Authoringtool und Mensch das DAR nur den aktiven Bereich (= nicht schwarze Ränder oder Overscan) interpretiert wurde,... + Rundungsfehler + Bedienungsfehler. (+ ITU vs General)
=> DAR doof, eher PAR verwenden. ![]()
2025.03.09.1:
*changed*
*fixed*
*added*
-> downloads: http://www.selur.de/downloads
Cu Selur