Beiträge von monarc99

    @monarch
    wie lautet der Befehl das er Tonspur 1 oder besser 2 nehmen soll?
    hab noch ne gesplittete Aufnahme gefunden und das anfügen geht, nur womit wandelt man diese ACM Audiospur die nun im mkv ist eigentlich wieder um? (avidemux macht da zumindest nichts und lässt die Tonspur nach dem schneiden weg)


    Wenn du willst, dass er bestimmte Streams kopieren soll, musst du sie alle einzeln in der Kommandozeile angeben.


    Zuerst rausfinden, welche IDs die Streams haben. Einmal in ffmpeg einlesen.


    ffmpeg -i 001000.mpg


    Code
    1. ... am Ende Stream #0:0[0x8e]: Audio: aac_latm (LC), 48000 Hz, stereo, fltp Stream #0:1[0x8d]: Video: hevc (Main), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 50 tbc Stream #0:2[0x8f]: Audio: aac_latm (LC), 48000 Hz, stereo, fltp Stream #0:3[0x90]: Subtitle: dvb_teletext, 492x250


    Jeder Stream bekommt eine ID (diese 0:0 oder 0:1). Und jeden Stream, den du kopieren willst, gibst du jetzt mit -map in der Kommandozeile an.


    z.B. der Videostream ist 0:1 und der erste Audiostream ist 0:0


    Code
    1. ffmpeg -i 001000.mpg -c:v copy -c:a copy -sn -dn -map_metadata 0 [COLOR='#FF0000']-map 0:1 -map 0:0[/COLOR] 001000.mkv


    Aber einfacher ist es auf jeden Fall, wenn du dich nach einer Gui umsieht.


    Die Frage ist nur, ob das anhängen der gesplitteten files mit den mkv nachher synchron bliebt, müsste ich dann bei der nächsten Aufnahme nächste Woche mal austesten. (kommt ja diese Woche nix gescheites im TV)


    Oder du gehst - wie schon vorgeschlagen - mit der Datei zum Autor von mkvmerge. Wenn mkvmerge die Datei einlesen kann, hättest du automatisch ne GUI und du kannst in mkvmerge auch Dateien zusammenfügen.


    Also mit der 000800 kann ffmpeg nichts anfangen, aber die 001000 kopiert er.


    Habe mal alle Untertitel-, Datenstreams entfernt und ffmpeg jeweils einen Video- und Audiostream wählen lassen:

    Code
    1. ffmpeg -i 001000.mpg -c:v copy -c:a copy -sn -dn -map_metadata 0 001000.mkv


    https://www.file-upload.net/do…-12459642/001000.mkv.html


    Wie würdest du denn mit so einer Datei klarkommen?

    Dauert bei mir ein bißchen länger, kein Großrechner bei mir zuhause ;)
    Ja, aber bei mir ähnlich.


    Code
    1. ffmpeg -y -loglevel fatal -threads 4 -ss 00:00.042 -i froscon16-1696-eng-Voctomix_hd.mp4 -t 11.358 -map 0:0 -an -sn -f yuv4mpegpipe - | vpxenc --codec=vp9 --row-mt=1 --passes=1 --pass=1 --end-usage=cq --cq-level=25 --target-bitrate=1000 --threads=4 --tile-columns=2 -o test.vp9 -v -(5.14 fps)


    Code
    1. ffmpeg -y -loglevel fatal -threads 4 -ss 00:00.042 -i froscon16-1696-eng-Voctomix_hd.mp4 -t 11.358 -map 0:0 -an -sn -f yuv4mpegpipe - | x265 --y4m - --crf 23 -o test.h265 (20.52 fps)


    Wobei ich noch am Testen der diversen Parameter bin. z.B. ffmpeg scheint wohl andere default Werte zu verwenden. Und bei vpxenc muss ich immer ne Bitrate setzen, damit es eine Wirkung hat. Bei ffmpeg geht auch -b:v 0 und crf Wert ändern.
    Was mir noch nicht klar ist, wieso immer in allen Beispielen 2pass gemacht wird. Also auch beim Constant Quality Modus (-b:v 0 und -crf 25)


    Code
    1. ffmpeg -loglevel info -hide_banner -nostdin -y -ss 00:00.042 -threads 4 -i froscon16-1696-eng-Voctomix_hd.mp4 -t 11.358 -map 0:v:0 -threads 4 -c:v libvpx-vp9 -tile-columns 2 -row-mt 1 -frame-parallel 0 -b:v 0 -crf 25 -auto-alt-ref 1 -lag-in-frames 25 -g 128 -pix_fmt yuv420p -f webm froscon16-1696-eng-Voctomix_hd.webmframe= 284 fps= 18


    Code
    1. ffmpeg -loglevel info -hide_banner -nostdin -y -ss 00:00.042 -threads 4 -i froscon16-1696-eng-Voctomix_hd.mp4 -t 11.358 -map 0:v:0 -c:v libx265 -crf 23 -pix_fmt yuv420p froscon16-1696-eng-Voctomix_hd.mkv
    2. frame= 284 fps= 20

    Danke fürs Beileid ... einen guten Nebeneffekt hat die Sache. Es wird schön warm in der Bude.


    Ich teste gerade row-mt=1 (neu in 1.6.1), ob es was bringt.


    Code
    1. With the improved threading scheme, VP9 encoder can achieve:
    2. >100% speed improvement for 720p/1080p videos by allowing the encoder to use more than 4 threads;
    3. fast encoding by enabling multi-threads for small resolution videos;
    4. >10% speed improvement even when there is no change of number of encoding threads.

    Ja ist für Youtube.
    Youtube hat was doe Fps angeht zwei verschiedene Encoding Einstellungen.
    Einmal alles bis 30 Fps, das bekommt dann eine geringere Bitrate.
    Und dann noch von 41 - 60 Fps, hierbei wird dann das HFR Encoding freigeschaltet, was eine deutliche Steigerung der Bitrate zur Folge hat.


    Kann man denn nur x264 als 10bit Format bei Youtube hochladen? Oder gibts noch andere 10bit Formate, die Youtube nimmt.
    Kann mich erinnern, dass man früher auch keine x26410bit Videos hochladen konnte. Was geht denn inzwischen? (VP9 10bit Profile 2/3?)


    Zu den 60 fps: Du meinst jetzt, wie Youtube es umrechnet. Da hast du sicher Recht, aber das war nicht mein Gedanke.
    Youtube wird hauptsächlich auf Monitoren, Displays gesehen. Die laufen fast alle auf 60hz. Und auch TVs in Europa können 60hz.
    Du produzierst also Content, der dann hauptsächlich auf 60hz Geräten konsumiert werden soll. Daran würde ich mich automatisch anpassen.


    Andernfalls würden mir dann so Fragen einfallen: wenn ich eine flüssige Bewegung mit 50fps aufnehme und mit 60hz (ohne irgendwelche Filter) abspiele, wird sie dann noch 100% flüssig dargestellt?



    Dadurch das der eigene Encoder von MeGui schneller ist, habe ich bei 8 Bit eine Performance Steigerung.
    Mit 10 Bit sieht es dann natürlich etwas anders aus.


    Interessant. Weil es gibt eigentlich nur x264 als Encoder ... bei ffmpeg ist x264 nur eincompiliert ins ffmpeg Binary.



    Ich nutze ein *.bat, mit dem Inhalt:


    Das geht auch mit nur einem ffmpeg Aufruf, dann muss die Datei nur einmal dekodiert werden, anstatt 3x mal.


    zB.

    Code
    1. ffmpeg -ss 00:10:00 -t 00:05:00 -i input -acodec pcm_s16le -map 0:1 "audio1.wav" -acodec pcm_s16le -map 0:2 "audio2.wav" -f yuv4mpegpipe -map 0:v - | x264 - --demuxer y4m --preset veryfast --crf 18 --output "video.mkv"




    Die Audiodateien die ausgespuckt werden, sind in der länger und der Synchronität zum Video aber in Ordnung.
    Kann ich das einfach ignorieren oder muss da noch was geändert werden?


    Die Warnungen machen mir eigentlich keine Sorgen. Da ich ffmpeg gewohnt bin, ffmpeg spuckt sehr viele Warnungen aus.


    Wo ich mir aber nicht sicher bin:
    In den 8h Aufnahme wird es hin und wieder vorkommen, dass der Rechner nicht genug Ressourcen hat, um durchgängig 50 oder 60 fps aufzunehmen. (vielleicht hast du dann eine variable Framerate in der Aufnahme?)
    Ob das bei deiner Methode dann synchron bleiben wird, kann ich nicht sagen.

    Code
    1. Video
    2. Frame rate : 50.000 FPS
    3. Bit depth : 8 bits


    Sind die Aufnahmen denn für Youtube gedacht? Dann würde ich eher mit 30 oder 60 fps capturen.
    Deine Aufnahmen sind 8 Bit. Bringt das denn viel, wenn du dann mit der 10bit Variante von x264 arbeitest?
    (Youtube wird sie dann ja wieder neu umrechnen)


    Ich hab jetzt aber gerade mal ffmpeg und Avisynth / MeGui verglichen, was die Geschwindigkeit angeht.
    ffmpeg: 195 fps
    MeGui: 90


    ffmpeg -i "input.mkv" -f yuv4mpegpipe - | x264-10bit - --demuxer y4m --qp 0 -o "output.264"


    Rein Interessehalber: verlierst du denn Performance, wenn du pipst?
    also reines ffmpeg gegenüber ffmpeg | x2648bit



    Bicubic tut es eigentlich recht gut. Manche empfehlen noch b= -0.5 und c=0.25 speziell fürs Downscalen. Weiß aber nicht, wie (ob?) man b und c bei ffmpeg einstellt.


    Also Parameter kann man setzen, ob sie auch was bewirken, bin ich überfragt.


    -vf scale=854x356:flags=bicubic+print_info:param0=-0.5:param1=0.25


    Dann gibt es noch den zscale Filter -> http://ffmpeg.org/ffmpeg-filters.html#zscale



    Gibt es eine Möglichkeit UT Video in ffmpeg zu sagen wie viele Threads er nutzen darf?


    Ja, kannst du durch den -threads (0=auto) Parameter tun, du musst aber beachten, wo in der Kommandozeile er steht.


    ffmpeg -threads 0 -i input.avi -threads 1 output.mp4


    Steht er vor dem -i Parameter, gilt er für die Inputdatei also den Decoder (also hier 0 für automatisch).
    Der zweite beschränkt die Anzahl der Encoderthreads auf 1 für die folgende Ausgabdatei.

    Aber das erklärt immer noch nicht das Problem mit mehreren Workern.


    Werden denn die Daten vom avs Script zum Encoder gepipet? Dürften dann ja kopiert werden (?) und könnten ein Flaschenhals sein.
    Bei Auflösungen bis 1080p fällt das nicht ins Gewicht, aber bei 4K habe ich schon häufiger gelesen, dass es bei einigen, die das getestet haben, zu Performanceverlusten kommt.


    Nicht unbedingt wahrscheinlich, könnte man aber mal mit purem ffmpeg testen:


    z.B.

    Code
    1. ffmpeg -threads 0 -i input_datei.mkv -vcodec libx264 -preset medium -x264opts crf=18:direct=auto:aq-mode=3:force-cfr=1:b-adapt=2:rc-lookahead=60:stitchable=1 -map_metadata 0 -movflags faststart -threads 0 output_datei.mkv


    Der Stream ist von der CPU Auslastung her nicht das Problem, sondern eher die Aufnahme, da es 2048x1152 ist und hier dann schon bei DOOM zum Beispiel mit einem Preset von Very Fast die CPU zu 100% ausgelastet ist, nur mit der Aufnahme alleine.


    Ist denn Doom dann Vollbild (2560x1440), oder lässt du dann Doom z.B. im Fenster mit 2048x1152 laufen und nimmst nur das Fenster auf?
    Skalieren kostet auch CPU und Quali, das solltest du irgendwie vermeiden.


    GPU ist halt so eine Sache...
    Es bringt halt schlechtere Ergebnisse bei gleicher Bitrate, wodurch für den Stream schon mal nicht zu gebrauchen ist.
    Gerade versucht die Aufnahme über AMD VCE laufen zu lassen, wie beim letzten Test, alles über 1080p startet nicht.


    Welche Auflösung hast du denn auf dem Bildschirm? Und wieviel Bandbreite zum Streamen?


    Und schon mal lossless für die Aufnahme probiert? Da du dass sowieso weiter verarbeiten wirst, wird dass dann später noch klein gerechnet.
    Brauchst halt nur viel Plattenplatz und musst hoffen, wenn die Dateien zu groß werden, du sie noch öffnen kannst.

    Ja, in der Richtung gibt es wohl leider nix mehr. Schaut auch nicht sehr danach aus, als ob es da in Zukunft viel geben wird.


    Ich hab jetzt auch nur sowas (wie https://www.mailpile.is/ ) gefunden, dass man zumindest in einem Browser (über localhost) aufrufen kann. Integriert ist er dann natürlich nicht.

    Wenn du nicht bei jedem Film prüfen willst, würde ich es bei 50fps lassen.


    Gibt Filme, die werden mit echten 50fps ausgestrahlt. Gibt Filme, wo jeder Frame verdoppelt wurde.
    Und es gibt Filme die teils teils sind. Also z.B. Film 25fps auf 50fps verdoppelt, aber Abspann echte 50fps.
    (wenn du den Abspann dann auf 25fps runterrechnest, ruckelt das böse)


    Ich würde es in der fps lassen, in der es ausgestrahlt wurde. Selbst wenn jeder Frame doppelt ist, sparst du nur 10-15% Dateigröße, wenn du die rausfilterst.

    Ja...ich weiß. Opus ist schon genial! Habe selbst schon damit experimientiert!
    ...aber das ist WIRKLICH "inkompatibel". Das läuft auf dem PC nur im VLC, und auf Android mit Spezial-Player - an sonsten ist damit echt "Essig"...


    Womit möchtest du denn Opus Dateien abspielen?
    Ich vermute du meinst mit PC Windows? Dort denn einen Decoder installiert?
    z.B. https://github.com/Nevcairiel/LAVFilters/releases



    Eigentlich reicht doch MP3 als "etabliertes" Format, AAC als "etablierte Fortentwicklung" und neuerdings OPUS.
    ...und FLAC als Lossless...
    Mehr braucht die Welt eigentlich nicht...


    Warum noch die alten Codecs wie MP3 oder AAC verwenden, wenn es auf Kompatibilität nicht ankommt?


    Jetzt gibts mal den "EierlegendeWollMilchSau"-Audio-Codec. Du musst nicht nachdenken, ob der Codec bei einer bestimmten Bitrate gut oder schlecht ist.
    Weil er in jedem Bitratenbereich ganz vorne dabei ist. Du musst nicht nachdenken, ob du das richtige Profile erwischt hast und du dir gerade die Quali killst.
    Im Grunde ist es der ideale Codec für alle die, die es hassen, dass alle paar Jahre irgendwas Neues kommt.


    Den einzigen Nachteil den Opus hat, ist seine Verbreitung und Abspielgeräte. Aber das liegt bei den Users, ob sie ihn verwenden oder nicht.
    (deshalb bißchen Werbung von mir ;) )



    Grade bei kommerziellen DVD-/Bluray-Standards "mussten" es ja immer die hoch lizensierten Formate sein...
    Wie wäre es mit einem Bluray-Standard auf Audio-Basis von Vorbis/Opus und FLAC gewesen - NAAAIIIN, da verdient ja keiner was dran...:hm:


    Für Apple&Co zählt vermutlich nur, woran sie Patente besitzen und Geld verdienen. ;)



    Ich finde auch dass es wenig Sinn macht da noch weiter Entwicklungsarbeit reinzustecken - viel mehr kann man Audio doch gar nicht mehr sinnbringend "eindampfen".
    Bei Video ist H.265 vielleicht noch sinnvoll - aber da hat auch alles irgendwann seine Grenze.
    Bei Fotos bleibt man ja auch seit über 20 Jahren bei JPG - was anderes lohnt sich einfach nicht (siehe JPEG2000 usw.)


    Da muss ich dir aber widersprechen. Täglich werden x Milliarden Sounds, Bilder und Videos über die Netze übertragen und als Folge steigt der Bandbreitenbedarf extrem von Jahr zu Jahr.
    Und die User sitzen daheim und schimpfen, dass auf ihrer 100 Leitung gerade mal 40 ankommen, weil die Netze überlastet sind. Wenn man dann weiterhin die 20 Jahren alten Codecs verwendet, wird es nicht besser.



    Eigentlich macht man bei höheren Bitraten (200+) doch mit MP3 nichts falsch, oder? Die großen Unterschiede gibt's doch eher bei kleinen Raten, soweit ich das herausgelesen/getestet habe...


    MP3 VBR gilt so ab 175 bis 245 (bei lame -V3 bis -V0) als transparent.
    Opus so bei 96-128 (VBR)


    Aber das sollte man für sich selbst rausfinden. Mach doch zum Spass einen Blindtest.
    (Natürlich hat jeder das perfekte Gehör, aber es gibt Leute, die bei Blindtests schon Opus bei 64 nichts mehr unterscheiden können. Disko-Generation und so )


    mal eine Grundsatzfrage:
    Was bevorzugt ihr, wenn es nicht auf irgendwelche Kompatibilitäten ankommt (auch in Sachen Video-Encoding)? AAC oder MP3?


    Wenn es nicht auf irgendwelche Kompatibilitäten ankommt, nehme ich Opus.