ffmpeg Bildschirm-Video funktioniert nicht.

Sound, Digitalkameras, TV+Video und Spiele.
Antworten
Benutzeravatar
ottonormal
Beiträge: 3404
Registriert: 20.01.2014 22:25:29

ffmpeg Bildschirm-Video funktioniert nicht.

Beitrag von ottonormal » 05.03.2021 02:08:23

Hallo,

ich habe zu Testzwecken von einem laufenden Video mit ffmpeg eine Bildschirmaufnahme mit diesem Befehl erstellt:

Code: Alles auswählen

ffmpeg -s 1366x768 -r 23.976 -f x11grab -i :0.0+4,218 -f pulse -ar 48000 -ac 2 -i default -vcodec libx264 -b:v 3000k -acodec mp2 -b:a 192k ziel.mkv
Das funktionierte so weit auch ganz gut. Das Ergebnis kann ich auf dem Rechner anschauen, leider aber nicht auf dem Fernseher und auf meinem MultiMedia-Player "Orbsmart-S85". Der Fernseher sagt, daß er den Video-Codec nicht kennt und der Media-Player zeigt nur bunten Farbsalat, spielt den Ton aber ab.

Wieso wird libx264 nicht erkannt? Wenn ich ein x-beliebiges Video konvertiere, mache ich das generell immer mit diesem Codec und immer werden die Ergebnisse anstandslos angezeigt. Warum in diesem Fall nicht?

MediaInfo zeigt mir dieses:

Code: Alles auswählen

General
Unique ID                                : 125617813573309941592532129426937050575 (0x5E811C6209868D3D32F1CAA9417D75CF)
Complete name                            : /media/ottonormal/STICK-32-NTFS/ziel.mkv
Format                                   : Matroska
Format version                           : Version 4
File size                                : 2.04 GiB
Duration                                 : 1 h 33 min
Overall bit rate                         : 3 119 kb/s
Writing application                      : Lavf58.20.100
Writing library                          : Lavf58.20.100
ErrorDetectionType                       : Per level 1

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High 4:4:4 Predictive@L3.2
Format settings                          : CABAC / 4 Ref Frames
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 4 frames
Codec ID                                 : V_MPEG4/ISO/AVC
Duration                                 : 1 h 33 min
Nominal bit rate                         : 3 000 kb/s
Width                                    : 1 366 pixels
Height                                   : 768 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Variable
Chroma subsampling                       : 4:4:4
Bit depth                                : 8 bits
Scan type                                : Progressive
Writing library                          : x264 core 157
Encoding settings                        : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=4 / threads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=abr / mbtree=1 / bitrate=3000 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Default                                  : Yes
Forced                                   : No

Audio
ID                                       : 2
Format                                   : AAC LC
Format/Info                              : Advanced Audio Codec Low Complexity
Codec ID                                 : A_AAC-2
Duration                                 : 1 h 33 min
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 48.0 kHz
Frame rate                               : 46.875 FPS (1024 SPF)
Compression mode                         : Lossy
Writing library                          : Lavc58.35.100 aac
Default                                  : Yes
Forced                                   : No
Und warum ist die

Code: Alles auswählen

Frame rate mode: Variable
wenn ich doch im ffmpeg-Befehl die Frame-rate auf 23.976 fps festgelegt habe?

Das Video läuft zum größten Teil ruckelfrei, an ein paar Stellen aber ist es über mehrere Minuten durchgängig ziemlich ruckelig, obwohl der Inhalt nicht viel anders ist als sonst auch. Was mache ich falsch?

MaGe
Beiträge: 1708
Registriert: 01.06.2014 17:12:16

Re: ffmpeg Bildschirm-Video funktioniert nicht.

Beitrag von MaGe » 05.03.2021 09:35:03

ottonormal hat geschrieben: Was mache ich falsch?
Vieleicht so: Testen

Code: Alles auswählen

 ffmpeg -s 1366x768 -r 23.976 -f x11grab -i :0.0+4,218 -f pulse -ar 48000 -ac 2 -i default -vcodec libx264 -b:v 3000k -vf format=yuv420p -acodec mp2 -b:a 192k ziel.mkv 


gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

wanne
Moderator
Beiträge: 7448
Registriert: 24.05.2010 12:39:42

Re: ffmpeg Bildschirm-Video funktioniert nicht.

Beitrag von wanne » 05.03.2021 14:22:36

Google hat mp2 (zumindest laut Doku) endgültig in die ewigen Jagdgründe geschickt. Nimm Opus! Mittlerweile ist das weiter verbreitet und hat einfach auch sonst nur Vorteile. Im Normalfall finde ich hart Backwardscomparibilität kaputt machen ja scheiße. Aber wenn im Jahr 2020 immer noch Leute neue Filme in MP2 encodieren muss da halt mal jemand mal drauf schlagen. Geräte aus dem Jahr 1980 spielen auch sonst absolut nichts mehr ab weil es damals Weder USB noch Wifi oder DVB gab. Das Ding war veraltet als es spezifiziert wurde, weil man rechenschwache Geräte antizipiert hat, die es nie gegeben hat. Jetzt anzufangen irgend welche Phantasien von vor 40 Jahren aufleben zu lassen ist einfach dumm. Es gab nie Geräte, die nicht wenigstens auch AAC, AC-3 oder mp3 konnten, die um Größenordnungen besser performen. Und mp2 mit 192kiB-Stereo hört sich am Ende auch noch scheiße an.
Daneben kann Android offiziell kein high Profile für h.264. Da das fast überall in Hardware passiert würde ich das jetzt nicht so ernst nehmen, die kann im zweifelsfall mehr. Aber offiziell garantiert wird halt Main 4.1.
Auch hier würde ich schlicht VP8 nehmen. Dank Patentunbehaftetheit und lediglich einem Profil funktioniert das garantiert auch auf zig mal mehr Geräten als h.264 das durch 20 Erweiterungen ins 21 Jahrhundert gehievt wurde.

Code: Alles auswählen

 ffmpeg -s 1366x768 -r 30 -f x11grab -i :0.0+4,218 -f pulse -ar 48000 -ac 2 -i default -vcodec vp8 -crf 25 -acodec opus -b:a 192k ziel.mkv 
Oder wenn du Kompatibilität mit dem Apple universum haben willst.

Code: Alles auswählen

 ffmpeg -s 1366x768 -r 30 -f x11grab -i :0.0+4,218 -f pulse -ar 48000 -ac 2 -i default -c:v libx264 -profile:v main -pix_fmt yuv420p -level 4.1 -crf 22 - -acodec opus -b:a 192k ziel.mkv 
Noch ein paar Sachen: Die Bescheuerten 23.976 sind für Kompatibilität mit alte NTSC-Fernsher. Da du dich in Europa befindest, wären wenn überhaupt 25fps sinnvoll... Aber PAL ist auch ein paar Jahrzehnte tot. Zusammen mit deinem bildschrim der vermutlich 60Hz hat, gibt das auch noch hässliche Artefakte. Nimm 30 oder wenn dus klassisch wie im Analog-Kino haben willst 24. (Was wenig Sinn mach für ne Digital-Bildschirmaufnahme.) Oder wenn du nen Bildschirm für den Europäischen Markt mit 50Hz hast, nimm 25Hz.
vf sind potentiell sehr langsam. (In dem Fall eher nicht.) Zuerst nach yuv420 umwandeln macht wenig Sinn, wenn im Codec eh passieren muss. Über pix_fmt das direkt den Codec machen zu lassen ist sinnvoller.
rot: Moderator wanne spricht, default: User wanne spricht.

Benutzeravatar
ottonormal
Beiträge: 3404
Registriert: 20.01.2014 22:25:29

Re: ffmpeg Bildschirm-Video funktioniert nicht.

Beitrag von ottonormal » 05.03.2021 14:32:22

MaGe hat geschrieben: ↑ zum Beitrag ↑
05.03.2021 09:35:03
Vieleicht so: Testen
Ja, vielen Dank. Damit kommt der Fernseher und auch der Player klar. Leider gibt's damit aber auch eine ziemliche Ruckelei. Allerdings an anderen Stellen als mit der alten Einstellung aber reproduzierbar immer an den gleichen Stellen.
Das ist schon etwas merkwürdig, 15 Minuten ein Superbild ohne Ruckeln und dann eine oder mehrere Minuten mit Zittern und Ruckeln. An der Quelle liegt es nicht, da läuft alles gut.

Muss ich wohl noch etwas weiter experimentieren.

@wanne
Läuft denn Opus auch auf älteren Geräten, die vielleicht schon 10 oder 20 Jahre auf dem Buckel haben? Ansonsten vielleicht auch Vorbis? Oder AAC?
Ich werde das aber testen. Kann denn das einen Einfluss auf die Ruckelei haben?

MaGe
Beiträge: 1708
Registriert: 01.06.2014 17:12:16

Re: ffmpeg Bildschirm-Video funktioniert nicht.

Beitrag von MaGe » 05.03.2021 14:57:42

ottonormal hat geschrieben: Läuft denn Opus auch auf älteren Geräten
Mir ist noch kein TV untergekommen der Opus verarbeiten kann,
wenn schon aac, ac3,mp3,



gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

wanne
Moderator
Beiträge: 7448
Registriert: 24.05.2010 12:39:42

Re: ffmpeg Bildschirm-Video funktioniert nicht.

Beitrag von wanne » 05.03.2021 15:24:01

Sorry, ich habe mal wieder auf absenden statt vorschau gedürckt.
Mein Kommentar wurde verändert. Ließ ihn dir nochmal durch.
Läuft denn Opus auch auf älteren Geräten, die vielleicht schon 10 oder 20 Jahre auf dem Buckel haben? Ansonsten vielleicht auch Vorbis? Oder AAC?
Alles aus den letzten 5 Jahren sollte keine Probleme haben. Vorbis hatte nie wirklich verbreitung. AAC ist auch relativ weit verbreitet aber ähnlich wie AC-3 auch heute nicht unbedingt auf jedem Unterklassegerät zu haben. Am Ende tradest du da halt ein paar ältere durch ein paar neuere Geräte im Schnitt könntest du im Moment mit AAC vermutlich besser fahren.
Aber wie schon oben geschieben: Die ganze Frage nach Codec-Backwardscompatibilität halte ich für absoluten Bullshit: Garantiert wird dir kein Gerät aus dem Jahr 2001 Ansaztweise 1366x768 abspielen. Und schon 7 mal nicht in h.264. Du wirst da auch garantiert keinen DVD-ROM geschweigedenn nen USB-Stick rein stecken können. Und wenn du per Coax oder SCART dran gehst, musst du eh neu analog "encodieren". Es ist einfach absoluter Humbug darüber nachzudenken ob die vielleicht die gleichen Audio-Codecs nutzen könnten.
Real sind vermutlich PS3/XBOX 360 die ersten verbreiteten Geräte auf denen du das ansatzweise sinnvoll abspielen könntest. Da bist du dann bei h.263 und AAC. Aber dann killst du halt die ganzen billigen Androiden von heute.
rot: Moderator wanne spricht, default: User wanne spricht.

wanne
Moderator
Beiträge: 7448
Registriert: 24.05.2010 12:39:42

Re: ffmpeg Bildschirm-Video funktioniert nicht.

Beitrag von wanne » 05.03.2021 15:24:46

MaGe hat geschrieben: ↑ zum Beitrag ↑
05.03.2021 14:57:42
Mir ist noch kein TV untergekommen der Opus verarbeiten kann,
wenn schon aac, ac3,mp3,
Ich bezweifle dass du im Moment einen findest, der es nicht kann. Wollen doch alle Youtube abspielen.
Edit: Halt die ganzen Samsungs ham kein Android drauf und supporten meist weder AAC noch opus, wenns in Dateien liegt. Da muss AC-3. Streamt man ist Opus plötzlich OK.
rot: Moderator wanne spricht, default: User wanne spricht.

MaGe
Beiträge: 1708
Registriert: 01.06.2014 17:12:16

Re: ffmpeg Bildschirm-Video funktioniert nicht.

Beitrag von MaGe » 05.03.2021 16:29:11

wanne hat geschrieben: Ich bezweifle dass du im Moment einen findest, der es nicht kann

Richtigstellung von mir, ab 2018 hat Samsung Opus!
Samsung Smart 2018 TV Video Specifications
https://developer.samsung.com/smarttv/d ... tions.html

Trotz allem ist mir! kein Samsung bekannt der Opus kann.
müßen alles ältere geräte sein :oops:



gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

Benutzeravatar
ottonormal
Beiträge: 3404
Registriert: 20.01.2014 22:25:29

Re: ffmpeg Bildschirm-Video funktioniert nicht.

Beitrag von ottonormal » 05.03.2021 18:52:49

Mein Fernseher ist ein Samsung UE32C8700. Keine Ahnung wie alt der schon ist, 10 Jahre aber mindestens. Der kann schon allerhand abspielen aber eben auch nicht alles.
Dafür habe ich mir nun den neuen MediaPlayer angeschafft. Darauf habe ich den MX-Player installiert, der ja eigentlich alles können sollte. Nur eben nicht meine mit ffmpeg erstellte Datei (siehe oben).
Aber nun habe ich auch noch den VLC-Player installiert und der kommt mit der Datei klar.

Ich habe jetzt noch einen Test gemacht mit diesem Befehl:

Code: Alles auswählen

ffmpeg -s 1366x768 -r 23.976 -f x11grab -i :0.0+6,194 -f pulse -ar 48000 -ac 2 -i default -vcodec libx264 -b:v 2500k -vf format=yuv420p -acodec aac -b:a 192k ziel.mkv
Diesmal auf einem anderen Rechner mit höherer Leistung, besserer Grafik (NVIDIA-Grafikkarte) und NVIDIA-GrafikTreiber. Und AAC-Audio. An Opus traue ich mich noch nicht heran. :wink:

Auch da ist das Ergebnis nicht anders als zuvor. Die Ruckelei macht mich wahnsinnig. Vor allem, weil ich es nicht nachvollziehen kann. Die Frame-Rate ist die der Quelle. Es gibt auch keine ungewöhnlichen Stellen in dem Video, die solche Ruckler erzeugen. Ich bin mit meinem Latein am Ende und glaube inzwischen, dass ffmpeg das einfach nicht kann. Schade!

Dann muss ich mich wohl doch wieder Vokoscreen oder OBS zuwenden. Auch wenn auch die keine 100%igen Ergebnisse liefern, ganz so arg wie ffmpeg allein ist es aber doch nicht.

wanne
Moderator
Beiträge: 7448
Registriert: 24.05.2010 12:39:42

Re: ffmpeg Bildschirm-Video funktioniert nicht.

Beitrag von wanne » 05.03.2021 20:57:42

Nimm mal meinen Befehl. Vollständig....
Danach können wir spekulieren, warum er besser funktioniert
Wenn du zum encodieren nen Rechner mit vieeel Wums hast: VP9 ist deutlich weniger aufwändig zu decodieren als h.264 und vp8. Eventuell willst du das mal ausprobieren. Aber ich kann mir nicht vorstellen, dass die Android Box an ihre Limits kommt.
Der UE32C8700 kam 2011 auf den Markt. Der ist sicher noch keine 10 Jahre. Aber vermutlich annähernd.
Wie um Himmels willen bekommst du denen x11 dazu 23.976 zu machen?
Sonst ist der ffmpeg x11gep auch nicht besonders effizient. Meinen Rechner überfordert das bei mehr als 720p. Da meckert er dann aber auch, dass er überfordert ist.
Ich hatte mir da mal was geschrieben was effizienter ist. Aber jetzt wo es OBS gibt...
rot: Moderator wanne spricht, default: User wanne spricht.

Benutzeravatar
ottonormal
Beiträge: 3404
Registriert: 20.01.2014 22:25:29

Re: ffmpeg Bildschirm-Video funktioniert nicht.

Beitrag von ottonormal » 06.03.2021 00:49:55

wanne hat geschrieben: ↑ zum Beitrag ↑
05.03.2021 20:57:42
Nimm mal meinen Befehl. Vollständig....
Danach können wir spekulieren, warum er besser funktioniert
Ich habe das jetzt getestet. Leider war das Ergebnis aber extrem pixelig, unscharf und ruckelig. Hier ist das, was MediaInfo davon anzeigt:

Code: Alles auswählen

General
Unique ID                                : 264253054332067503104162718785839936028 (0xC6CD497A5D7019C4B813E29D9445B21C)
Complete name                            : /home/ottonormal/ziel.mkv
Format                                   : Matroska
Format version                           : Version 4
File size                                : 18.1 MiB
Duration                                 : 5 min 41 s
Overall bit rate                         : 445 kb/s
Writing application                      : Lavf58.20.100
Writing library                          : Lavf58.20.100
ErrorDetectionType                       : Per level 1

Video
ID                                       : 1
Format                                   : VP8
Codec ID                                 : V_VP8
Duration                                 : 5 min 41 s
Width                                    : 1 366 pixels
Height                                   : 572 pixels
Display aspect ratio                     : 2.40:1
Frame rate mode                          : Constant
Frame rate                               : 30.000 FPS
Compression mode                         : Lossy
Writing library                          : Lavc58.35.100 libvpx
Default                                  : Yes
Forced                                   : No

Audio
ID                                       : 2
Format                                   : Opus
Codec ID                                 : A_OPUS
Duration                                 : 5 min 41 s
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 48.0 kHz
Bit depth                                : 16 bits
Compression mode                         : Lossy
Delay relative to video                  : -7 ms
Writing library                          : Lavc58.35.100 libopus
Default                                  : Yes
Forced                                   : No
Das Ergebnis mit VP9 ist bei mir auch nur, wenn überhaupt, nur minimal besser. Auf jeden Fall aber auch indiskutabel.

Und zur Framerate 23.976:
Nach meinen Erfahrungen muss ich nach Möglichkeit immer die Framerate wählen, die auch das Quellvideo hat. Ruckelfreie Aufnahmen sind nur so möglich, wenn überhaupt. Wenn ich also ein Video mit einer Framerate von 23.976 konvertiere oder auch, wie in diesem Fall, ein Bildschirmvideo davon erstelle und dafür eine "glatte" Framerate von 25 oder 30 wähle, gibt es immer Ruckler. Selbst dann noch, wenn ich ein Rate von 60 FPS wähle.
Jedenfalls ist das bei mir so. Vielleicht bin ich da aber auch nicht mehr auf dem Laufenden. Schön wäre es schon wenn ich das so einfach machen könnte.

wanne
Moderator
Beiträge: 7448
Registriert: 24.05.2010 12:39:42

Re: ffmpeg Bildschirm-Video funktioniert nicht.

Beitrag von wanne » 06.03.2021 03:46:13

Wenn dein Input ein Video ist, dann conveetiere um himmels willen das Video.
Wenn du das über den X11 laufen lässt, konvertierst der das zuerst hoch auf 60fps um dann der ffmpeg wieder runter zu konvertieren. Das wird nur schlimmer. Ganz sicher bekommst du da Ruckler.
Zu verschwomen: Da ist die Qualität zu schlecht. Ich kann leider nicht auswendig, was vernünftige crfs für vp8 in 800p sind. Melde mich da wenn.ich einen.rechner zur hand habe.
rot: Moderator wanne spricht, default: User wanne spricht.

MaGe
Beiträge: 1708
Registriert: 01.06.2014 17:12:16

Re: ffmpeg Bildschirm-Video funktioniert nicht.

Beitrag von MaGe » 06.03.2021 08:53:20

ottonormal hat geschrieben:
Ich habe das jetzt getestet. Leider war das Ergebnis aber extrem pixelig, unscharf und ruckelig.

Und ihr seid sicher das VP8 auf -CRF reagiert
das sagt mir ffmpeg
Bitrate not specified for constrained quality mode, using default of 256kbit/sec
da nimst du besser deine 3000k :THX:




gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

Benutzeravatar
ottonormal
Beiträge: 3404
Registriert: 20.01.2014 22:25:29

Re: ffmpeg Bildschirm-Video funktioniert nicht.

Beitrag von ottonormal » 06.03.2021 10:15:38

Noch mal etwas zur Framerate 23.976 und dem einfachen Umkonvertieren:
Ich habe das ISO einer kürzlich gekauften Blu-ray. Dieses Video hat eben auch diese krumme krumme Framerate. Deshalb habe ich es jetzt testhalber mal "geradegerückt" und dafür 30 FPS gewählt:

Code: Alles auswählen

ffmpeg -i Test-23.976-576p.mkv -vcodec libx264 -r 30.00 -b:v 2500k -s 1024x576 -aspect 16:9 -acodec copy ziel-30-fps.mkv
Und das Ergebnis ruckelt!
Es ist eben wohl doch nicht so einfach und warum sollte ich ein ruckelfreies Video mit krummer Framerate in ein Ruckelvideo mit gerader Framerate wandeln wollen?

Die Framerate 23.976 ist heute bei Blu-rays neben 24 FPS immer noch Standard und kein Relikt von vorgestern. Damit werden wir wohl leben müssen. Genau wie auch mit unterschiedlichen und krummen Maßen, Gewichten usw. Wozu brauchen (manche) Länder z.B. immer noch Zollmaße, sind die nicht auch schon längst überholt?

Benutzeravatar
MSfree
Beiträge: 10686
Registriert: 25.09.2007 19:59:30

Re: ffmpeg Bildschirm-Video funktioniert nicht.

Beitrag von MSfree » 06.03.2021 13:38:51

ottonormal hat geschrieben: ↑ zum Beitrag ↑
06.03.2021 10:15:38
Dieses Video hat eben auch diese krumme krumme Framerate. Deshalb habe ich es jetzt testhalber mal "geradegerückt" und dafür 30 FPS gewählt:

Und das Ergebnis ruckelt!
Das Ruckeln kommt nicht von der "krummen" Bildrate sondern daher, das Die Bildrate des Videos nicht mit der Bildrate deines Bildschirms übereinstimmt. Die Bildrate des Videos zu verändern, geht aber nicht, denn die wurde bei der Aufnahme fest eingestellt. Bei der Änderung von rund 24 Bildern auf 30 Bilder, müssen irgendwie 6 neue Bilder eingefügt werden. Im einfachsten Fall wird jedes 4. Bild zweimal eingefügt. Dadurch hat man alle sechstel Sekunde einen Ruckler. Man kann natürlich die Bilder auch auf der Zeitachse interpolieren und aus zwei Bildern ein neues rechnen, indem man die zwei Bilder links und rechts des aktuellen Zeitpunkt gewichtet mittelt, aber das verschmiert die scharfen Originalbilder und harte Schnitte werden dann weich. Das Resultat ist dann zwar weniger ruckelig aber auch unschärfer.

Die Fernsehanstalten bedienen sich eines anderen Tricks, sie spielen solche Filme einfach zu schnell ab, nämlich mit 25 Bildern pro Sekunde statt mit 23.976. Das fällt so gut wie nicht auf, ausser daß ein 90 Minuten Spielfilm im Fernshen dann nur 86 Minuten und 20 Sekunden dauert, und Menschen mit absolutem Gehör die Anhebung der Tonfrequenzen mitbekommen könnten.

Benutzeravatar
ottonormal
Beiträge: 3404
Registriert: 20.01.2014 22:25:29

Re: ffmpeg Bildschirm-Video funktioniert nicht.

Beitrag von ottonormal » 06.03.2021 16:33:09

MSfree hat geschrieben: ↑ zum Beitrag ↑
06.03.2021 13:38:51
Das Ruckeln kommt nicht von der "krummen" Bildrate sondern daher, das Die Bildrate des Videos nicht mit der Bildrate deines Bildschirms übereinstimmt. Die Bildrate des Videos zu verändern, geht aber nicht, denn die wurde bei der Aufnahme fest eingestellt. Bei der Änderung von rund 24 Bildern auf 30 Bilder, müssen irgendwie 6 neue Bilder eingefügt werden. Im einfachsten Fall wird jedes 4. Bild zweimal eingefügt. Dadurch hat man alle sechstel Sekunde einen Ruckler. Man kann natürlich die Bilder auch auf der Zeitachse interpolieren und aus zwei Bildern ein neues rechnen, indem man die zwei Bilder links und rechts des aktuellen Zeitpunkt gewichtet mittelt, aber das verschmiert die scharfen Originalbilder und harte Schnitte werden dann weich. Das Resultat ist dann zwar weniger ruckelig aber auch unschärfer.
Genau das ist es doch, was ich mit meinen Tests zum Ausdruck bringen wollte. Dass ich eben nicht einfach von 23.976 auf 30 FPS umkonvertieren kann.
Sehr schön und ausführlich hier beschrieben:

https://fotovideotec.de/frameraten/index.html

MaGe
Beiträge: 1708
Registriert: 01.06.2014 17:12:16

Re: ffmpeg Bildschirm-Video funktioniert nicht.

Beitrag von MaGe » 06.03.2021 18:46:09

ottonormal hat geschrieben: Dass ich eben nicht einfach von 23.976 auf 30 FPS umkonvertieren kann.
wenn du die ruckler so stark wahrnehmen kannst
dann ist da aber mehr im Argen!

ich selbst habe keine bluray aber ein demo ISO 260 MB

ich kann bei mir, ohne das mir die Augen aus dem Kopf fallen, das Video von
23.98 fps, auf 30 fps und 50 fps ändern

Code: Alles auswählen

 ffmpeg -i bluray.m2ts -c:v libx264 -r 25 -b:v 2500k -s 720x576 -aspect 16:9 -c:a copy ziel-25-fps.mkv 
Und das selbe mit 30 fps, 50 fps



gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

wanne
Moderator
Beiträge: 7448
Registriert: 24.05.2010 12:39:42

Re: ffmpeg Bildschirm-Video funktioniert nicht.

Beitrag von wanne » 06.03.2021 19:53:42

Genau das ist es doch, was ich mit meinen Tests zum Ausdruck bringen wollte. Dass ich eben nicht einfach von 23.976 auf 30 FPS umkonvertieren kann.
Deine Source hat keine 23.976 sondern zu ~90% 60Hz und zu ~10% 50Hz! Denn deine Source ist eben keine BlueRay sondern ein X11! Wenn du wirklich ein BluRay abspielst dann konvertierst der X11 das auf 60Hz und du wieder zurück auf 23.976. Das ruckelt natürlich mehr wie wenn du nur 23.976 -> 60 -> 30 machst. Aber natürlich willst du das einfach nicht über den X11 laufen lassen und direkt konvertieren, damit es gar nicht ruckelt, weil du 23.976 -> 23.976 konvertierst.
Die Framerate 23.976 ist heute bei Blu-rays neben 24 FPS immer noch Standard und kein Relikt von vorgestern.
Doch natürlich. Die kommen daher weil man kompatibel zu den NTSC-DVDs sein wollte/will, was halt der direkte Vorgänger zur BluRay war.
Und weil BluRays (im Gegensatz zu DVDs) auf der ganzen Welt das gleiche Bild haben kommen die jetzt halt (auch) nach Europa. Hier hat das aber nie Sinn gemacht, weil es nie NTSC sondern nur PAL-DVDs gab.
rot: Moderator wanne spricht, default: User wanne spricht.

Benutzeravatar
ottonormal
Beiträge: 3404
Registriert: 20.01.2014 22:25:29

Re: ffmpeg Bildschirm-Video funktioniert nicht.

Beitrag von ottonormal » 06.03.2021 22:14:12

MaGe hat geschrieben: ↑ zum Beitrag ↑
06.03.2021 18:46:09
wenn du die ruckler so stark wahrnehmen kannst
dann ist da aber mehr im Argen!
Was soll da noch weiter im Argen sein? Ich empfinde bei einem Film selbst sogenannte Microruckler noch als störend. Meine Frau z.B. nimmt die gar nicht wahr und sagt zu mir: "Was du immer hast!"

Diese ganze Diskussion weicht aber doch schon ziemlich vom eigentlichen Thema ab. Es ging und geht doch nur um das Thema einer Bildschirmaufnahme mit ffmpeg von einem laufenden Video. Dafür habe ich immer noch keine Lösung. Hinzu kommt das sehr eigenartige Verhalten der so erstellten Ergebnisse:
Wenn ich das abspiele und dann 15 oder 20 Minuten von hervorragender Qualität sind und daran anschließend mehrere Minuten ein Dauerruckeln, oder besser gesagt ein "Bildzittern" erfolgt, worauf anschließend wieder alles normal ist, dann kann das meiner Meinung nach wohl kaum an der Framerate liegen. Ich tippe eher darauf, das ffmpeg da irgendwelchen Murks macht.
Nachvollziehen könnte ich das noch wenn es im Video lange Zeit ruhig zugeht und dann plötzlich schnelle Szenen mit vielen nervösen Kameraschwenks kommen. Aber genau das ist überhaupt nicht der Fall.

Soweit meine eigene laienhafte Meinung. Vielleicht gibt es aber auch eine ganz andere Erklärung dafür. Da ich das alles in erster Linie auch nur aus reinem technischem Interesse praktiziere, ist das für mich auch nicht wirklich wichtig. Vielleicht probiere ich auch noch mal andere Videos. Von Youtube oder sonst was.
Wie schon gesagt, es gibt ja dafür auch noch OBS und Vokoscreen. ffmpeg hätte mich aber schon gereizt. :wink:

Antworten