Was genau ist der Shared Texture Hook und woher weiß ich, ob ich diesen verwende und nicht den Framebuffer Hook?
Das ist einfach. Benutzt du OBS benutzt du den shared texture hook. Benutzt du andere Software, benutzt du einen Framebuffer Hook
Mir ist kein anderes Programm bekannt, das ebenfalls shared texture buffer hooking nutzt. Die sind alle Framebuffer.
Shared Texture Hook soll laut OBS entwickler auch sehr schwer zu coden sein, weshalb es wohl überall woanders nur framebuffer hooks sind.
Ich muss auf jeden Fall das Tearing wegkriegen und so wie ich dich verstehe, geht das entweder mit sehr teuren Capture Cards in Kombination mit einem 120/144hz Monitor und VSync an ODER mit einem 1-PC-Setup und einem direkten Hook.
Der Monitor kann 60hz bleiben. Du kannst ohnehin (logischerweise) nur ein Gerät vsyncen, weil du kannst dich ja nur nach einem Gerätetiming anpassen logischerweise.
Wenn du die CC vsyncst (Klonquelle : CC) dann wird der Monitor weiter ohne Vsync laufen, aber die CC dann vsynced. Der Monitor wird also tearen als hättest du keinen Vsync an, die aufgenommenen Videos sind dann aber tearingfrei. Und bei 120/144hz spürste den vsync nimmer im Input.
2560x1440p144 ginge auch mit einer 1000 € Capture Karte von Magewell, statt meiner 2000 € kostenden Datapath. Mein Complex Doom LPT Kollege hat sich nämlich die Magewell vor kurzem geholt und mit der gehen 144hz bei 2560x1440. Bei 1920x1080 natürlich noch weit mehr hertz möglich dann. Streng genommen also in etwa den Preis einer Highend Grafikkarte ;-D Die 1080ti war ja sicher auch nicht ganz günstig 
Der besagte Kollege Jonath hat 'nen GSync 144hz Monitor.
Hatten da Donnerstag Gespräch drüber, weil er sich ja wie gesagt die CC geholt hatte gerade erst:
Was ist der Unterschied zwischen CQP 0 und CQP 1? 0 ist rechnerisch lossless? Und das kann aber in Schnittprogrammen für Probleme sorgen, richtig?
CQP 0 ist mathematisch lossless, ja. Aber im Falle NVEnc musst du das -preset lossless nehmen (in OBS als "verlustfrei" bezeichnet in Qualitätsregulierungmethode)
Lossless H.264 benötigt das High444 Predictive profil, statt nur High oder Main.
TMPGEnc hat ja schon wesentlich bessere Decoder als Vegas und Konsorten, aber high444 predictive kann er leider bisher auch nicht einlesen, nur ausgeben.
Aber CQP 1 ist ebenfalls fast komplett lossless und geht dann überall.
Mein Doom Video ist mit qmin 1, qmax 16. Also eine Quantisierung von 16. Bei besseren Werten läuft mir sonst wegen der Datenrate der -rtbufsize über von ffmpeg.
Das ganze wird dann re-encodet in TMPGEnc mit Konstant Quantisierung mit i-frame 10 und p-frame 19 und ergab dann diese Qualität. Und die ist so immer noch identisch gegenüber einer CQP 1 variante von OBS.
Der Grund dafür ist einfach das du mit 16 immer noch weit über dem Puffer stehst, als das es das Auge anfangen würde zu sehen und der Transcode somit immer noch ausreichend sauberes Material zum Arbeiten hat wo noch nichts passiert.
Und der noch viel entscheidendere Grund ist - Quantizer Encode. Wenn die Effizienz der Kompression sinkt, wird er einfach mehr Dateigröße benutzen. Nicht wie bei Bitrate, wo die Endqualität dann ja wirklich von der Komprimierbarkeit des Materials abhängig ist. Und das definiert dann Quellvideo und Effizienz des Encoders.
Sprich nochmal zusammengefasst:
Feste Quantisierung: Qualität bleibt immer identisch auf der Qualität wie du bestimmt hast. Ist es schwer komprimierbares Material, wird mehr Datenrate eingesetzt.
Bitratencodierung: Datenrate muss am Ende die vom Benutzer geforderte Schnittrate am ende entsprechen. Schwer komprimierbares material oder eine gesunkene encodereffizienz durch schlechtere source oder ein schlechterer encoder => würde mehr datenrate brauchen die nicht erlaubt wird - qualität sinkt.
Kurzum das eine ist ne fixe Datenratenkomprimierung : Encodereffizienz entscheided Endqualität
Das andere eine fixe Qualität : Encodereffizienz entscheided enddateigröße.
Ich hoffe das kam ein bisschen verständlich so rüber ;D