Beiträge von mbc

    N`Abend

    bräuchte mal nen kleinen Tipp welches Programm ich verwenden kann.

    Ich hab DVDs mit verschiedenen Tracks drauf und möchte alle davon nach x264 (cli) umwandeln.

    Dabei möchte ich aber ein komplett eigenes AVISYNTH-Skript verwenden.

    Ich suche also ein Programm, welches die DVDs analysiert und die einzelnen Titel automatisch umwandelt. Beim Umwandeln jeden Titels soll ein eigenes AVS-Skript verwendet werden. Kodiert werden soll dann in x264(cli).

    Bei einigen wohl gängigen Programmen geht entweder kein eigenes Avisynthskript, oder eben nur wenn man die DVDs vorher selber "präpariert".

    Gibts ein Tool was alles in einem kann ?(Vermutlich finde ich es selber sobald ich den Thread hier abgeschickt habe ... wie meistens :hm:)

    MFG
    Marco

    Ich hatte den PCH und leider nur Probleme damit, weil der wirklich nur vernünftig funktioniert wenn man über LAN zieht und nicht über USB.

    Desweiteren ist es immer fraglich was die Hersteller implementieren werden. Bei PCH & CO bist du auf die Firma angewiesen, das die Geräte closed sind. Selber kann man da nix machen.

    Fehlt ein Feature hängt es davon ab wie profitabel das letztendlich für den Hersteller ist zu implementieren. Und implenemtiert wird eh nur das was "schnell geht" und gefragt ist.

    Die alte Xbox1 ist immer noch eines der besten Player die man (für SD) kriegen kann. Das liegt einfach daran, das die Software dafür von Leuten geschrieben wurde, die keine finanziellen Hintergründe hatte.

    Ein wirklich erfolgreiches Gerät wird eines der fertigen Produkte nie sein können. Richtige "Killergeräte" haben eine Hardwarebasis mit freier Software.

    Deshalb würde ich warten bis es den ION gibt. Mit einem freien BS könnte man da ein absolut feines Teil draus machen.

    PCH rentiert sich nur, wenn Du unbedingt LAN benötigst oder aber mit dem Linux-teil davon rumfrickeln möchtest.

    Für etwas weniger Ansprüche tut es dann auch der viel günstigere WD-TV

    Meine Meinung.

    Mal ne bescheidene Frage:

    Wie (bzw.) WO komme ich an "Average" welches von Srestore ggf. benutzt wird?
    Ich finds nirgends mit Google ... :seher:

    Problem Nummer 2:

    Meine Quelle hier hat quasi ein benötigtes Frame welche jedoch nur Blended vorliegt, also in 2 Frames stecken quasi 3 Frames (das 2te (welches ich benötige) ist geblendet in Frame 1 und Frame 3).

    Nehme ich da die blendings raus, fehlt mir quasi ein Frame und es ruckelt leicht, kann man da noch was retten ? (ich persönlich glaube eher nicht, oder ?)

    Any Chance ?

    MFG

    Zitat

    Okay, wusste nicht, dass Du auch Avisynthfilter nutzen willst.

    Nun, TemporalSoften() macht da recht gute Arbeit, die Stellen werden größtenteils dadurch schon kompensiert und zudem hat man da ja eh wieder unnötig viel Noise beigefügt. Ich werde wohl nie verstehen was das njnendlich zum FIlm oder Felling beitragen soll. Etwas rauschen ist ja ok, aber hier ist es ja teilweise recht heftig ...

    Ist ja aber kein Thema, hab ja wieder was dazu gelernt, hab das pipen seit damals nicht mehr probiert, schön zu wissen das es jetzt geht ... kann für die Zukunft ja mal hilfreich sein :ja:

    Zitat

    Eventuelles filtern kann übrigens auch der Grund für Deine Probleme sein.


    Also mit Filter wirds irgendwie besser ... deshalb hab ich sie jetzt drin gelassen. Durch weniger Rauschen wird halt auch weniger "fehlberechnet". Ist zwar nicht ganz weg aber immerhin ... die deadzone hat das dann noch weiter minimiert ... da kann man (ich) mit leben, perfekt kriegt man sowas eh nicht hin und ich bin auch kein "pixelfanatikerperfektionist" ... über die eine stelle kann man hinweg gucken.
    Wo man an der einen Stelle besser schraubt, wirds an der anderen wieder schlechter ... Quelle ist halt auch nicht optimal, "shit happens"

    So wie es aussieht ist hat der große TFT einen stärkeren Kontrast, das ruft diesen Fehler natürlich weiter hervor, zudem scheint der Player (PCH) das wohl auch nicht unbedingt gut kaschieren zu können, oder eben er macht seine Arbeit zu gut ... :hm: nun ja ... aufm PC (und dessen TFT) siehts besser aus ... zumindest nicht ganz so sichtbar.

    Zitat

    ffmpegSource


    Google ich nach ...

    Zitat

    "wenn wohl leider auch nicht mehr ganz aktuell" -> nein, leider nicht, aktuell wenig Zeit da ich mich mit sx264 beschäftige in der Freizeit.

    Kenne ich nur zugut ... hab Dein Programm gesehen, nicht schlecht, bastel gerade auch an etwas ""ähnlichem"", aber auch da komme ich nicht wirklich weit, zudem ich jetzt ja noch mit dem "Avisynth-kram" hinterherhinke ... und der Rechner ist auch nicht der Schnellste was das encoden angeht ... :hm: :nein:

    Zitat

    Schraub auch mal psy-rd auf 1:1 hoch.


    Hab ich jetzt gemacht.

    BTW: Ich nutze ja noch AVISYNTH-Filter, wie krieg ich die in Verbindung mit ffmpeg oder mencoder (sind hier ja nur reine Decoder fürs pipen).

    Ich kann zwar mit ffmopeg oder mencoder das Avisynth-Skript öffnen, was aber nur etwas bringt, wenn ich die beiden als encoder einsetze, weil ansonsten ja wieder DS durch AVISYNTH verwendet wird ...

    Der Recher ist ausgelastet (bin noch mit scharfis_brain`s-Sache anderweitig beschäftigt).

    Soweit schonmal kurz:

    DANKE fürs Testencoden !!! Problem, sieht auf dem PC gut aus, auf dem großen TFT aber nicht viel besser als meine Variante.

    Ich habe mir jetzt aber mal Deine "man x264 0.0.9" runtergeladen und mich über deadzone informiert (finde im Netz nur sehr wenig).

    Hier sagst Du Wert runter für mehr Rauscherhaltung, im PDF steht "Wert hoch für mehr Erhaltung" und im Netzt kommte ich nur soviel finden das es anscheind doch der kleinere Wert ist, also wirds im PDF wohl falsch sein.

    BTW: KLasse Sache mit dem PDF wirklich sehr gut und verständlich erklärt, vor allem mit Beispielen und Angaben welche Werte nun was bezwecken. Für "Noobs" wie mich sehr hilfreich (wenn wohl leider auch nicht mehr ganz aktuell) !!! So ausführlich beschrieben hab ich das noch nirgends gefunden.

    Ja, mit dem pipen durch ffmpeg oder mencoder hatte ich "damals" auch schon versucht klappte aber nie so wie es sollte ...
    Hat anscheind vorteile gegenüber DirectShow, machs jetzt mal zusätzlich auch damit ...

    MFG

    Also:

    1. Jop, ist die 1069 (von x264.nl), also recht aktuelles Build.

    2. Mit ähnlichen Werten hatte ich auch schon rumgespielt, brachte aber leider überhaupt nichts :nein:

    3. Jop, 15Mbit sind absolut vergleichbar mit der Original-Quelle. BTW: VC1 macht das nicht wirklich "besser", es verschleiert es nur, dadurch wirkt es optisch besser. X264 verstärkt dort an zwei Stellen das Rauschen unheimlich und das erkennt dann sogar ein blinder als " :hm:

    3a) Nein, es wurde ein anderer Encoder verwendet (Mainconcept), es wurde zudem direkt die Quelle (MKV) geladen. Also keine direkt exakt vergleichbare Situationen ... mir kam es aber nur darauf an, ob dort etwas besseres oder schlechteres raus kommt.

    4. Bis damals quasi nur das Öffnen der MKV-Quell-Datei in Avisynth, keine Filter oder sonstwas, nix. Geöffnet über DirectShow:

    Code
    DirectShowSource("D:\HD\FILM\video.mkv", audio=false)

    5. Jop, ist aber leider ca. 68 MB groß ...

    6. Als Decoder ist in FFDshow (VFW-Decoder) wmv9 eingestellt. Wüßte nicht wo man da dann noch nach dem Deblocking schauen könnte ... Die Quelle ist eigentlich nicht direkt verblockt. Sieht überall recht "ordentlich" aus ...

    Zum Sample-Clip:

    Es kommt ein Szenenwechsel drin vor, zur Einfachheit:
    - Alles bis zu dem Szenenwechsel = Szene 1
    - Alles nach dem Szenenwechsel (wo man dann das Fenster sieht) = Szene 2

    Probleme hatte ich in Szene 1 links oben, neben dem kleinen Kamin und habe in Szene 2 links neben dem Fenster an der schrägen Wand.

    Im nachhinein habe ich dann noch den TemporalSoften(1, 4, 6,mode=2,scenechange=5) eingesetzt, der hat die Probleme in Szene 1 zufriedenstellend gelöst, in Szene 2 bleibt das Problem aber trotzdem SEHR deutlich weiter bestehen, zwar etwas minimiert aber immernoch deutlich vorhanden.

    Die dunklen Stellen an der roten Tapete vergrößern sich und "wandern" obwohl da nicht sonderliches stört (außer dem Noise), auch der TemporalSoften kann das nicht beheben.

    Die Stellen die x264 da stört sind mir extrem aufgefallen, sind viel extremer als im original, alles andere im Video ist super mit den Einstellungen, nur hier an dieser Tapete scheitert es irgendwie.

    Würde den Effekt von TemporalSoften gerne behalten (es sei denn es gibt da noch etwas besseres), in Verbindung mit LimitedSharpen() ist das Ergebnis sehr gut (Quelle ist recht unscharf).

    Wenn es da noch etwas anderes gibt ... her damit :ja: ;)


    Sample (ca. 68 MB):

    Passwort: doom9

    MFG

    Ein kleines Problem hier:

    Hab folgenden Bildausschnitt und ein Problem mit x264:
    s. Anhang

    Das Problem ist, das das Bildrauschen x264 dazu veranlaßt, die Fläche teilweise im größerem Umfang zu verfärben, es pumpt also zwischen heller uind dunkler der Flächen, mal werden teilweise die helleren Flächen dunkler und mal umgekehrt.
    Zudem pumpt das ganze Bild leicht, so eine Art "flackern".

    Quasi so wie eine art von "Artefakten", nur das es eben keine sind, sondern Veränderungen der Farbe.

    In einer anderen Einstellung ist das sogar ganz extrem auffällig. Als wenn Flecken auf der Wand sind, die wie von Geisterhand größer und/oder kleiner werden ... sehr unschön ...

    Hab zum Test mal in VC1 mit 15Mbit kodiert und da gibt es dieses Problem komischerweise nicht, obwohl da 6 mal schneller kodiert wird.

    Ich verwende folgende Einstellungen für x264:

    Code
    x264-1069.exe --crf 20 --level 4.1 --keyint 24 --min-keyint 1 --ref 3 --psy-rd 0.2:1.0 --trellis 1 --aq-mode 1 --aq-strength 1.0 --no-fast-pskip --subme 7 --partitions p8x8,b8x8,i8x8 --8x8dct --vbv-bufsize 25000 --vbv-maxrate 30000 --mixed-refs --b-adapt 2 --bframes 3 --b-pyramid --direct auto --weightb --scenecut 40 --me umh --merange 16 --sar 1:1 --threads auto --thread-input --progress --no-psnr --no-ssim --nr 0 --stats "D:\HD\FILM\stats.log" --output "D:\HD\FILM\output.264" "D:\HD\HD0.avs"

    Geht schon ordentlich langsam das Kodieren, aber zufrieden bin ich dennoch nicht mit dieser Szene ... wo hab ich die falschen Einstellungen oder Kombinationen ? Wie gesagt, VC1 sieht an dieser Stelle wesentlich besser aus.

    Habs auch schon mit --aq-strength 0.5 versucht, bringt aber auch keine Abhilfe ...

    Irgendwelche Tips ? Bin mit meinem Latein am Ende.

    MFG

    Eigentlich war mein Ansinnen folgendes:
    Aus einer DVD (VOB / IFO-Dateien) EINEN Stream (AVI/ XVID) zu machen, in dem ich zwei Tonspuren habe. Z.B. den Deutschen Ton als AC3 und den englischen Ton als MP3.

    Genau das kann Nero eigentlich auch (natürlich nur als mp4-Container).

    Wenn Du beide TOnspuren (deutschenglisch) als ac3 bemixt und dir der MPC dann auch nur die erste Tonspur anzeigt liegt ein felher in MPC vor (oder es fehlt was).

    Wie gesagt, probiere mal mit NeroShowtime das abspielen und prüfe ggf. mit MediaInfo ob auch tatsächlich 2 Ausiostreams vorhanden sind.

    Nero kann das nämlöich ziemlich definitiv.

    Hast du mal mit Neros Showtime abgespielt, der MUß das korrekt abspielen können.

    Imho wäre ich mit NeroDigial SEHR vorsichtig, seit einer der 7.5er Versionen weisen alle Nachfolgeersionen irgendwelche gravierenden Bugs auf.

    Zuteltzt hatte ich eine 9er Version getestet, welche aber auch unbrauchbar war.

    Wie es mit einer ganz aktuellen Version aussieht kann ich nicht sagen, aber dennoch zur Vorsicht raten, die fertigen Files GUT überprüfen (Audio und Video)!

    SOOOO, ein kurztest sieht schonmal SEHR gut aus :daumen:

    Hatte jetzt zwar noch nen Combed-Frame, aber da hab ich nochmal den TFM hintergehangen und jetzt ist zumindest diese Stelle SUPER !!!!!

    Das dürfte 99% der Fehler beheben, es sei denn es tauchen vermehrt stellen auf, wo Vollframes zwischen den Combed liegen, da gibts dann noch Doppelbilder, aber ich hoffe das das nicht all zuviele Stellen sind, ansonsten dürften die paar Fehler sehr tragbar sein.

    Ich lß das jetzt nochmal 4 Stunden durchrattern und schau mir morgen mal das Ergebnis am großen TFT an ... bin echt gespannt ... SmartDecimate ist ja wahnsinnig schnell !

    Da haste recht, gibt unschöne "Farbverschmierungen", wieder was dazu gelernt und zum Googeln gefunden.

    Nochmal zum TDecimate zurück:

    Hab jetzt mal ne komplette Folge durchlaufen lassen, soweit recht gut, aber jetzt macht TDecimate "Mucken".

    Nach jedem Szenenwechsel mit einem Patternbruch, wird zwar das erste Frame genommen, das zweite aber ausgelassen (ab dem 3ten gehts dann wieder normal). Das wär mir anders herum lieber.

    Ich hab in TDecimate mal die Debug-Info eingeblendet und habe ja normalerweise das Muster 3 - 2 - 3 - 2 - 3 - 2 welches man an der "useframe"-Anzeige ja mitzählen kann.

    Der Patternbruch wird korrekt behandelt, aber danach macht TDecimate einen Sprung von 5 Frames, es wird also eines zuviel ausgelassen. Dadurch entsteht ein komischer "Speed-Up" direkt nach (leider vielen) Szenenwechseln. Es gibt leider sehr viele orphaned Fields in dieser Serie.

    Ist irgendwie zum verrückt werden :wall:
    Kann man an dem Sampel auch erkennen, da fehlt nachher eines ...

    Und ich merke gerade, ads ich das Thema "Deibnterlacen" immer unterschätzt habe ... :ratlos:

    1080p, das Maximum halt, auch wenn die Quelle eigentlich nur upscaled wurde und eigentlich auch 720p ausreicht. Da spätere Folgen richtiges HD sind würde ich gerne durchgehend die 1080 beibehalten. --> OK, etwas schwachsinnig, aber nun ...

    Zitat

    btw.: bei der wandlung vom Quellformat in das Sample-XVid ist die Farbe auf der strecke geblieben...
    Vewrmutlich hast Du es progressive encodiert...

    Da liegst Du (erstaunlicherweise) richtig, habs auf die Schnelle progressiv kodiert. Benutze XVID eigentlich nie, ging sich ja jetzt nur um einen Testclip.
    Oder hat das bei Dir so Probleme bereitet oder etwas umständlicher gemacht ?

    Könnte aber "vermutlich" auch daran liegen, das ich im AVIsynth-Skript noch ConvertToYV12 aktiviert habe. Später kodier ich nämlich mit x264cli und der braucht ja YV12 als Input.
    Hab das Skript einfach mit VDub geladen.

    Das fertige X264 sieht von den Farben her OK aus, dürfte also wohl OK sein, oder irre ich mich da mit meiner Vorgehensweise ?

    War mir bei dem XVID-Sample auch schon aufgefallen, irgendwie waren die Farben so schön kräftig .... :eek:

    Sah auf dem LCD irgendwie garnicht mal sooo schlecht aus ...

    MFG

    Dem Problem wieder etwas weiter auf der Spur ... glaube ich zumindest :grübeln:

    Die Bilder zu zählen ist schwierig, bei Einblendungen (von schwarz) sowie wenig Bewegung, ...

    Im LOG ist aber auch das Muster "cccpp" zu erkennen,
    "c" bedeutet Vollbild
    "p" bedeutet Combed (also 2 Halbbilder pro Vollbild)

    Also eigentlich fast durchgehend ein Verhältnis 3:2, das ist wohl zu mind. 97% des Videos so, ist somit ja ne recht saubere Wandlung, Probleme sind meistens nur bei den Szenenwechseln oder in schwarzen Blends, die nachträglich eingefügt oder verlängert wurden. Da hakt dann auch TFM, denn zu 97% läufts mit TFM sauber.

    Vorlage war definitiv FILM

    Also ich habe mit AssumeTFF().SeparateFields() (sind ja die Halbbilder):
    ("A" "B" "C" "D" steht für die originales Einzelbilder (welche ja einmal Vollbilder waren)

    A-Top A-Bottom
    A-Top B-Bottom
    B-Top C-Bottom
    C-Top C-Bottom
    D-Top D-Bottom

    usw... das ist bis auf die Szenenwechsel auch so und entspricht ca. wohl 97% des Videos.

    Das ist ja eigentlich reines Telecine 3:2 (2:3 mit Frameshift), oder ? 10 Halbbilder (5 FullFrames) aus ehemals 4 Vollbildern.

    Beim Szenenwechsel hier liegen die Bilder ja aber so vor:

    A-Top A-Bottom
    A-Top B-Bottom
    -- Szenenwechsel --
    C-Top D-Bottom
    D-Top D-Bottom
    E-Top E-Bottom

    Das entspricht nicht ganz der Norm wenn ich richtig liege, denn es fehlen 2 Halbbilder (B-Top und C-Bottom).
    Das erkennt TFM aber wie gesagt alles einwandfrei, aber das letzendliche Handling klappt in Verbindung mit TDecimate nicht so wie es sollte.

    TFM ersetzt hier mit meinen Einstellungen: B-Bottom durch A-Bottom und C-Top durch D-Top. So entstehen (vermutlich) die Doppelframes. Wodurch eines der beiden entstehenden Doppelbilder dann durch TDecimate entfernt wird.

    Ich kriege es nicht hin, das TFM beide fehlenden Halbbilder interpoliert. Das muß ja bei einem solchen Szenenwechsel pasieren, da die GegenFields ja fehlen.

    Steh da echt auf dem Schlauch ...

    EDIT:
    Verdammt, da war der Profi schneller ... ich glaub wir Beide liegen richtig, nur ich kann mich nichtso professionell ausdrücken, ursache ist aber gefunden: zwei Fehlende Gegenfields am Szenenwechsel welche durch TFM aber ordentlich erkannt werden (aber halt nicht verarbeitet).

    Zielformat soll HD (x264) sein (aber natürlich mit den richtigen 23,976 Frames ohne Interlacing ...)

    Darf ich stören ? :D

    Hab noch bis spät in die Nacht rumprobiert (sowas läßt mich dann nicht locker :nein:)

    Folgendes Ergebnis:

    Video ist definitiv TTF.
    TFM macht eine SUPER Job ! Lob an den Entwickler, tolles "Teil" :ja:

    Hab mal Infos und OutPut aktiviert und es kommen tolle Dinge bei raus, es wird alles korrekt erkannt und mit den Infos kann man alles korrigieren.

    Das Problem ist: WIE ? TFM macht hier nämlich entweder einen Fehler, oder aber ich habe die falschen Einstellungen (das vermute ich):

    Im Anhang ist die OUTPUT-Datei der Analyse von TFM (nach *.txt umbenennen):

    Das hier gepostete Sample entspricht im Szenenwechsel den Bildern:
    7127 und 7128

    Man erkennt das 7127 eine "kopie" von 7126 und 7128 eine "kopie" von 7129 ist.

    Es gibt also durch TFM beim Deinterlacen 2 Doppelbilder (2*2 identische).
    TDecimate entfernt nun eines der ersten Beiden, um die Framerate anzupassen. Dadurch bleibt jedoch ein Dopppelbild über.

    TFM erkennt den Szenenwechsel aber korrekt (mit "SC") (kann ich im Display erkennen, steht nicht hier im LOG).

    TFM müßte nun diese beiden als "SC" erkannten Frames per blend zusammenmischen und wenn TDecimate dann eines der beiden entfernt ist alles korrekt. Kein Doppelbild mehr, die passende korrekte Framerate und ein sauberer Blend.

    Das wäre absolut perfekt.

    Die neue "Stolperszene die ich meine ist bei den Bildern 7962-7964 dort erkennt man das eingeschobene "C"-Frame (Vollbild). Wenn man dieses entfernen würde, wäre auch diese Szene perfekt.

    Problem:
    Wie kriegt man das automatisch hin, so ganz blick ich durch die Möglichkeiten bzw. der Verbindung zwischen TFM und TDecimate bzgl. der Informationen die TFM findet nicht durch.


    MFG

    Das könnte natürlich sein ... ist schon wiedermal ne wilde sache ....


    Bin aber gerade noch auf etwas anderes gestoßen :D

    TFM liefert im Display-Modus schon sehr gute Werte.

    Man kann anhand der c,p,n,u - Erkennung quasi schon erkennen ob sichein Frame verdoppelt. Zumindest glaube ich das das funktionieren könnte. Ich habe das noch nicht so ganz verstanden wie das alles zusammenhängt.

    Die Erkennung Combed und FullFrame geht 1A, auch dieses ZwischenVollbild hier wird ordentlich erkannt.

    Wenn ich nun eine p- bzw. u-Erkennung habe müßte ich nur diese Frames "blenden" lassen und hätte somit einen "weichen" Szenenübergang und kein verlorenes Frame. Das könnte vermutlich funktionieren, aber ich hab den ganzen TFM-Kram noch nicht verstanden. Diese ""Fachgesimpel"" dann noch zusätzlich auf Englisch macht es nicht gerade leichter zu verstehen ;)

    MFG
    Marco

    Langsam werd ich hier zum Alleinunterhalter :);)

    Also, spätestens jetzt hasse ich diese verflixten Label, nix können die vernünftig.

    Hab den Stolperstein bei der Szene gefunden, welche nach dem hier gestellten Muster kommt und worüber TFM dann ""stolpert"":

    Das Muster 3/2 geht hier nicht ganz auf, wenn ich die VOLLBILDER betrachte sehe ich meistens:

    3 Vollbilder gefolgt von 2 Combed-Bildern, so ist es ja auch richtig laut Telecine.

    Jetzt habe ich gefunden:

    3 Vollbilder, 1 Combedbild, 1 Vollbild, 2 Combedbilder, 3 Vollbilder, 2 Combedbilder, 3 Vollbilder, ...

    Ne Chance das Vollbild zwischen den drei Combedbildern zu entfernen?

    Muß revidieren, irgendwie seltsam

    Hatte es jetzt so hingekriegt, das die Szene hier sauber lief, dafür kommt ein paar Szenen weiter genau dieselbe Konstelation --> Szenenwechsel in den Combed-Frames.

    Jetzt paßen die Einstellungen zwar für einen Szenenwechsel, dafür aber nicht mehr für den nächsten.

    Also mal wieder mit SerarateFields gearbeitet und es ist ein durchweg sauberes "vorwärts", also die Fields vertauschen sich nicht in der Reihenfolge, das ist soweit absolut sicher.

    TTF ist korrekt, keine Rückwärtssprünge. Das Pattern sit soweit wirklich sauber.

    Ich kriege sie aber nicht Decimated ohne dabei diese Doppelbilder zu erzeugen, wie kann man das umgehen ?
    TFM erzeugt beim Deinterlacen tatsächlich diese Doppelbilder die dem nächsten Vollbild gleichen ...