[gelöst]Probleme mit .avi Video (fraps)

Message
Author
User avatar
McFlow
Posts: 12
Joined: 05. Dec 2006 15:06

[gelöst]Probleme mit .avi Video (fraps)

#1 Post by McFlow »

Hallo!
Ich benutze nun schon seit einiger Zeit Linux (Ubuntu Dapper Drake).
Nun wollte ich mich ans Video Editing machen....
Dafür habe ich mit Fraps Szenen aus einem Spiel aufgenommen, da ich diese bearbeiten, zusammenschneiden möchte.
Allerdings sind diese Filme unter Windows aufgenommen.... hab nicht genug Speicher frei um die Bearbeitung unter Win durchzuführen ;) /bzw. keine Lust dazu :p .
Nur diese .avi Filme lassen sich nicht mit "Totem" wiedergeben... ich habe zwar Sound, aber kein Bild!
Nach meinen Erfahrungen unter Windows schließe ich auf ein Codec Problem, was ich durch folgende Aktion als bestätigt ansehe:

Code: Select all

mcflow@McFlow:~$ ffmpeg -sameq -i /home/mcflow/Desktop/g3.avi new.mpeg
[fraps @ 0xb7e8f164]This file is encoded with Fraps version 2. This codec can only decode version 0 and 1.

(diese Zeile wiederholt sich etliche male)
ich benutze wie gesagt den "Totem video player" und die version des installierten codecs ist laut "synaptic" 3:20060612-0.1

in cinelerra habe ich übrigens auch nur Ton :(

hat jemand ne Idee was ich tun kann? bei google hab ich kaum was gefunden.... und schlagwörter nach denen ich suchen könnte fehlen mir auch....
ich hoffe ihr könnt mir Helfen....

mfg,
Flo
Last edited by McFlow on 06. Dec 2006 16:50, edited 1 time in total.

User avatar
Lateralus
prolinux-forum-admin
Posts: 1238
Joined: 05. May 2004 7:35

#2 Post by Lateralus »

Versuche es mit mplayer bzw. mencoder. Die Option -vo regelt die Videoausgabe. Ließ die entsprechenden Abschnitte in der manpage. mplayer konnte bei mir bis jetzt noch alles abspielen.

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#3 Post by Janka »

mplayer/mencoder können fraps *dekodieren*, wenn man den passenden MS-Windows-Codec benutzt. Ist seit MPlayer 1.0pre8 dabei.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

User avatar
McFlow
Posts: 12
Joined: 05. Dec 2006 15:06

#4 Post by McFlow »

jo thx :) hat geklappt mit dem encodieren.... allerdings ist der Qualitätsverlust doch deutlich sichtbar.....
gibts ne Möglichkeit das ganze ohne Qualitätesverlust zu machen? wär echt cool wenn mir das jemand sagen könnte!

aber dickes Dankeschön schonmal :)

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#5 Post by Janka »

Qualitätsverlust gibt es beim Umkodieren von Videos immer. Insbesondere, wenn das Ausgangsformat ein verlustloses ist wie Fraps. Welches Zielformat benutzt du denn? Es gibt es für jedes Format etliche Optionen, die die Qualität beeinflussen.

$ man mencoder

Nicht von der Menge erschlagen lassen! Videokodierung ist nunmal eine Wissenschaft, und das liegt es in der Natur der Sache, dass man erstmal rumprokeln muss. Die besten Einstellungen zu finden ist selbst mit gut eingrichtetem Werkzeug (z.B. VirtualDub war da mal berühmt für) nicht trivial.

Das Beste ist es, das Farbformat der Einzelbilder nicht zu ändern, dann gibt es die geringsten Verluste, weil die Keyframes nicht angefasst werden müssen.

Laut http://wiki.multimedia.cx/index.php?title=Fraps benutzt Fraps V2 YUV420 als Farbkodierung. Das Zielformat sollte das also auch tun.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

User avatar
McFlow
Posts: 12
Joined: 05. Dec 2006 15:06

#6 Post by McFlow »

ich habe es wie folgt gemacht:

Code: Select all

mencoder /home/mcflow/Desktop/g3.avi -ovc xvid -xvidencopts bitrate=900 -oac copy -o /home/mcflow/new.avi
ich weiß eben nur nicht was ich bei bitrate setzen muss.... naja hab ja Zeit, werde mit allem mal ein wenig rumspielen.....
aber dafür, dass die größe des Videos von 520mb auf 32 mb gesunken ist, ist der Qualitätsverlust sehr gering :)


hab mir die man page grad mal angeschaut.... bzw. bin noch dabei...

unter windows gab es ja die Möglichkeit, mit speziellen Programmen ein Video als "uncompressed .AVI" zu encodieren....

ist das mit dem mencoder auch möglich? weil ich will das video ja nicht komprimieren... die 500MB Größe kann es ruhig behalten ;)

naja ich "kämpf" mich erst mal weiter durch die manpage ;)

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#7 Post by Janka »

McFlow wrote:ich habe es wie folgt gemacht:

Code: Select all

mencoder /home/mcflow/Desktop/g3.avi -ovc xvid -xvidencopts bitrate=900 -oac copy -o /home/mcflow/new.avi
ich weiß eben nur nicht was ich bei bitrate setzen muss.... naja hab ja Zeit, werde mit allem mal ein wenig rumspielen.....
aber dafür, dass die größe des Videos von 520mb auf 32 mb gesunken ist, ist der Qualitätsverlust sehr gering :)


hab mir die man page grad mal angeschaut.... bzw. bin noch dabei...
Es gibt noch mehr Doku:

http://www.mplayerhq.hu/DOCS/HTML-singl ... -feat-xvid

unter windows gab es ja die Möglichkeit, mit speziellen Programmen ein Video als "uncompressed .AVI" zu encodieren....
ist das mit dem mencoder auch möglich? weil ich will das video ja nicht komprimieren... die 500MB Größe kann es ruhig behalten ;)
Ähm. Dann kannst du gleich bei Fraps bleiben. Das ist ja "near uncompressed" AVI.

libavcodec bietet für diesen zweck huffyuv, ljpeg und ffv1 an. Beschreibung hier:
http://www.mplayerhq.hu/DOCS/HTML-singl ... libavcodec

huffyuv ähnelt Fraps. Wenn es dir also nur darauf ankommt, eine breitere Zuschauerbasis für das Video zu bekommen ist das sicher auch geeignet.


Ein Alternativformat, das wirklich überall funzen dürfte, und ohne große Verluste arbeitet ist MJPEG, da werden nur die Einzelbilder nach dem JPEG-Verfahren komprimiert. Das heißt, es gibt keine Interframes, sondern nur Keyframes. Für schnelle Bewegungen wie bei Spielen ist das gut geeignet. Das kann man auch mit libavcodec kodieren.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

User avatar
Scory
Posts: 188
Joined: 16. Apr 2004 12:36

#8 Post by Scory »

Die Wahl der Bitrate ist abhängig von der Auflösung. Für ein Video 320x240 (nur als Beispiel) wird 900 kb/s gut sein, aber ich denke mal, Du hast PAL Format, sprich 720x576.

Da solltest Du für wirklich gute Bilder mind. 1500 wählen, ggf. auch 2000. Das Format xvid finde ich gut gewählt, das läuft sogar auf vielen DVD-Playern wenn man es als .avi auf CD oder DVD brennt. Ist ein sehr MPEG4 "Advanced Simple Profile" Format (mind. so gut wie DIVX) und ist auch ziemlich verbreitet.

User avatar
McFlow
Posts: 12
Joined: 05. Dec 2006 15:06

#9 Post by McFlow »

Janka wrote: Ähm. Dann kannst du gleich bei Fraps bleiben. Das ist ja "near uncompressed" AVI.
ne eben nicht... da ich ja die Szenen von Gothic3 zusammen schneiden will... mit cinelerra hab ich bei dem Video ja nur Ton...

lHast mir aber schonmal sehr geholfen! ich guck mir den ganzen Kram mal in Ruhe an :)


vielen lieben Dank... das mit dem mjpeg klappt genau so wie ich es haben wollte :)

@scory:

die Auflösung des Videos ist 1024*768

xvid wähle ich allein schon deshalb weil ich das Format irgendwie "liebe"... ich weiß net... das sagt mir einfach zu :D

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#10 Post by Janka »

Ach stimmt ja, das war ja noch was. Tut mir leid, manchmal vergesse ich einfach den Aufhänger der Frage.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

haggis
Posts: 5
Joined: 25. Sep 2008 23:08

#11 Post by haggis »

hallo!
das topic hat mir schon sehr viel geholfen, danke! allerdings habe ich trotzdem ein problem:

die originaldateien von fraps kann ich zb mit mplayer oder xine wiedergeben...habe dabei aber nur sound und kein bild.

ich wandle das file um mit
mencoder AgeOfConan\ 2008-09-25\ 00-55-31-83.avi -ovc xvid -xvidencopts bitrate=1500:vhq=2:bvhq=1:chroma_opt:quant_type=mpeg -oac copy -o new.avi

das bildergebnis ist ok, aber ton ist immer noch keiner dabei. ansich ist das auch nicht schlimm, da ich sowieso musik einfügen möchte (dennoch wäre es unter umständen wünschenswert). wenn ich diese datei nun in kino importiere, erhalte ich im terminal folgende fehlermeldung:

[dvvideo @ 0xb7e206e8]Can't process DV frame #12. Insufficient audio data or severe sync problem.

zu beginn der encodierung durch kino steht da auch, dass die audiospur nur 0,5sek lang sei:
Audio stream: 1536.000 kbit/s (192000 B/s) size: 96000 bytes 0.500 secs


dadurch hat dann das importiere file auch nur eine gesamtspielzeit von 0,48sek.


ich habe im kino-diskussionsboard zwar einen workaround gefunden, der einfach eine leere sounddatei in die avi einfügt, aber das ist natürlich nicht akzeptabel da ich so für jede datei eine leere sounddatei erzeugen muss, die genauso lang wie das video ist. funktiniert aber rein prinzipiell :)

also wie könnte ich die originaldatei gleich so umwandeln, dass der originalsound dabei ist? unter windows wird er ganz normal wiedergegeben.

falls das was zur sache tut: betriebssystem ist ubuntu 8.04 hardy heron


viele grüße,
haggis


edit:
beim genaueren betrachten ist mir aufgefallen, dass es beim encodieren mit mencoder zu einem fehler wegen fehlender frapsvid.dll kam. also habe ich noch w32codecs installiert.

starte ich nun mencoder, kommt folgende ausgabe:
mencoder AgeOfConan\ 2008-09-25\ 00-55-31-83.avi -ovc xvid -xvidencopts bitrate=1500:vhq=2:bvhq=1:chroma_opt:quant_type=mjpeg -oac copy -o new5.avi
MEncoder 2:1.0~rc2-0ubuntu13 (C) 2000-2007 MPlayer Team
CPU: Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz (Family: 6, Model: 15, Stepping: 11)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
success: format: 0 data: 0x0 - 0x23454eb8
AVI file format detected.
[aviheader] Video stream found, -vid 0
[aviheader] Audio stream found, -aid 1
Detected NON-INTERLEAVED AVI file format.
AVI Ogg : Initial audio header is too small !!!!!
VIDEO: [FPS1] 800x600 24bpp 25.000 fps 61503.5 kbps (7507.8 kbyte/s)
[V] filefmt:3 fourcc:0x31535046 size:800x600 fps:25.00 ftime:=0.0400
xvid: using library version 1.1.2 (build xvid-1.1.2)
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1
==========================================================================
Opening video decoder: [vfw] Win32/VfW video codecs
Loading codec DLL: 'frapsvid.dll'
Called unk__strnicmp
Loaded DLL driver frapsvid.dll at 10000000
VDec: vo config request - 800 x 600 (preferred colorspace: Packed YUY2)
[PP] Using codec's postprocessing, max q = 9.
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
VDec: using BGRA as output csp (no 0)
Opening video filter: [flip]
Movie-Aspect is undefined - no prescaling applied.
SwScaler: reducing / aligning filtersize 1 -> 4
SwScaler: reducing / aligning filtersize 1 -> 4
SwScaler: reducing / aligning filtersize 1 -> 1
SwScaler: reducing / aligning filtersize 9 -> 8
[swscaler @ 0x880f730]SwScaler: BICUBIC scaler, from rgb32 to yuv420p using MMX2
[swscaler @ 0x880f730]SwScaler: using 4-tap MMX scaler for horizontal luminance scaling
[swscaler @ 0x880f730]SwScaler: using 4-tap MMX scaler for horizontal chrominance scaling
[swscaler @ 0x880f730]SwScaler: using 1-tap MMX "scaler" for vertical scaling (YV12 like)
[swscaler @ 0x880f730]SwScaler: 800x600 -> 800x600
Opening video filter: [expand]
Expand: -1 x -1, -1 ; -1, osd: 0, aspect: 0.000000, round: 1
videocodec: XviD (800x600 fourcc=44495658 [XVID])
xvid: par=0/0 (vga11), displayed=800x600, sampled=800x600
xvid: CBR Rate Control -- bitrate=1500kbit/s
Selected video codec: [fraps] vfm: vfw (FRAPS: Realtime Video Capture)
==========================================================================
audiocodec: framecopy (format=fffe chans=6 rate=48000 bits=16 B/s=576000 sample-12)
Writing header...
ODML: vprp aspect is 4:3.
Setting audio delay to 0.040s.
Writing header...
ODML: vprp aspect is 4:3.
Setting audio delay to 0.040s.
Pos: 14.6s 368f (20%) 22.91fps Trem: 1min 14mb A-V:0.040 [1462:0]
danke fürs lesen :P


edit2:
ich gehe jetzt mal stark davon aus, dass es am audio-codec liegt.
verwende ich nämlich statt "-oac copy" "-oac faac", dann nimmt er schonmal 0.880sek ton auf. auch meldet avidemux, dass kein passender audio-dekodierer gefunden wurde.

edit3:
ffmpeg -i video.avi hat mir
Stream #0.1: Audio: pcm_s16le, 48000 Hz, 5:1, 4608 kb/s
ausgegeben.

also habe ich mal die option " -oac lavc -lavcopts acodec=pcm_s16le" probiert.
ergebnis:
Audio stream: 224.000 kbit/s (27999 B/s) size: 576000 bytes 20.571 secs
immherhin schonmal 20sek! das video ist aber 78sek lang ;)
zudem bekomme ich jede menge "1 duplicate frame(s)!" meldungen und der ton ist total abgehackt.

wahrscheinlich ists nur ne kleine änderung und ich sehs nicht, weil es das erste mal ist, dass ich ein video nicht mit einem one-click-tool encodiere :/

edit4:
ok..ich habe jetzt eine etwas umständliche lösung gefunden:

1. Audiospur extrahieren
ffmpeg -i video.avi -vn sound.wav

2. Video encodieren und mit der wav muxen:
mencoder video.avi -ovc xvid -xvidencopts bitrate=1500:vhq=2:bvhq=1:chroma_opt:quant_type=mpeg -channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384 -audiofile sound.wav -o new.avi

außerdem habe ich keine möglichkeit gefunden den 5.1 sound in stereo umzuwandeln. ffmpeg sagt bei "-ac 2" dass ein resampeln mit mehr als 2 channels nicht möglich ist. schade :/

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#12 Post by Janka »

Erst mal sehr schön, dass du den Lösungsweg hier dokumentiert hast. Danke!

Um die Audiospuren umzuformen solltest du "sox" verwenden, das ist bei Audio das Mittel der Wahl für alle möglichen Verknautschungen.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

haggis
Posts: 5
Joined: 25. Sep 2008 23:08

#13 Post by haggis »

hi janka!
sox kannte ich noch nicht...sieht auch sehr umfangreich aus. aber trotzdem bietet es leider keine möglichkeit 5.1 sound auf stereo downzumixen.

beispiel 1: 1 channel extrahieren:
sox sound.wav -c 1 sound_left.wav avg -l

output:
sox sox: Effect `avg' is deprecated; see sox(1) for an alternative
sox mixer: Can't average 6 channels into 1 channels

beispiel 2: 5.1 direkt in stereo umwandeln:
sox sound.wav -c 2 sound_stereo.wav

output:
sox mixer: You must specify at least one mix level when using mixer with an unusual number of channels.


wenn ich google benutze kommt es mir so vor, als sei ich der einzige mensch der 5.1 in stereo umwandeln will :(

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#14 Post by Janka »

Beachte
http://sox.sourceforge.net/sox.html
und vor allem "remix" in
http://sox.sourceforge.net/soxeffect.html
Der default-Mixer "mixer" kann nur mit Quadrophonie umgehen, nicht mit Center und Subwoofer.

Ich habe jetzt auch keine 5.1-Datei greifbar, aber es müsste so gehen:

Code: Select all

$ sox sound.wav -c 2 stereo.wav remix 1 2 0 0 0 0 
Hier nimmt er z.B. die beiden ersten Kanäle von sound.wav und stopft sie in die beiden ersten Kanäle von stereo.wav, den Rest verwirft er.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

haggis
Posts: 5
Joined: 25. Sep 2008 23:08

#15 Post by haggis »

ja super, jetzt gehts!

musste aber zuerst die neuen quellen (14.1.0) von SF laden, weil bei der version aus den ubuntu repos (14.0.0) hats gezickt und wollte nicht.

befehl war:
sox sound.wav -c 2 stereo.wav remix 1-2,2-3
(in der annahme dass ch 1 = vorne link, ch 2 = center, ch 3 = vorne rechts)

danke für die hilfe! :)

Post Reply