Benutzer:Tkroenert/Videoschnitterfahrung: Unterschied zwischen den Versionen
(→Software) |
(→Encodieren / Convertieren: add convert-script) |
||
Zeile 83: | Zeile 83: | ||
* AviDeMux mit schoener Gui und pre-sets (mit den eingebauten Filtern ist es sogut wie AviSync) | * AviDeMux mit schoener Gui und pre-sets (mit den eingebauten Filtern ist es sogut wie AviSync) | ||
− | === Nach flv-convertieren === | + | === Nach flv-convertieren 2008/2009 === |
mencoder -forceidx -of lavf -oac mp3lame -lameopts abr:br=56:mode=3 -af volnorm=1 -srate 22050 -ovc lavc -lavcopts vcodec=flv:vbitrate=320:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -vf scale=768:384,harddup -o eigeneAufnahmeH20b4.avi.MKV.flv eigeneAufnahmeH20b4.avi.MKV | mencoder -forceidx -of lavf -oac mp3lame -lameopts abr:br=56:mode=3 -af volnorm=1 -srate 22050 -ovc lavc -lavcopts vcodec=flv:vbitrate=320:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -vf scale=768:384,harddup -o eigeneAufnahmeH20b4.avi.MKV.flv eigeneAufnahmeH20b4.avi.MKV | ||
+ | |||
+ | === Nach mp4-convertieren (mit flashplayer abspielbar) 2010 === | ||
+ | ''Dieses Script fliegt so an einigen Orten im Internet rum! Daher kann ich keine quelle nennen.'' | ||
+ | Zunaechst der Hinweis: qt-faststart _indexiert_ das video, so dass (sofern der webserver es unterstuetzt!!) vorgespult werden kann! | ||
+ | |||
+ | <pre> | ||
+ | #!/bin/sh | ||
+ | |||
+ | infile="input.file.ogv.or.mkv.or.mp4.or....avi" | ||
+ | tmpfile="video_tmp.mp4" | ||
+ | outfile="video_out.mp4" | ||
+ | options="-vcodec libx264 -b 512k -flags +loop+mv4 -cmp 256 \ | ||
+ | -partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 \ | ||
+ | -me_method hex -subq 7 -trellis 1 -refs 5 -bf 3 \ | ||
+ | -flags2 +bpyramid+wpred+mixed_refs+dct8x8 -coder 1 -me_range 16 \ | ||
+ | -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10\ | ||
+ | -qmax 51 -qdiff 4" | ||
+ | |||
+ | ffmpeg -y -i "$infile" -an -pass 1 -threads 2 $options "$tmpfile" | ||
+ | |||
+ | ffmpeg -y -i "$infile" -acodec libfaac -ar 44100 -ab 96k -pass 2 -threads 2 $options "$tmpfile" | ||
+ | |||
+ | qt-faststart "$tmpfile" "$outfile" | ||
+ | |||
+ | </pre> | ||
+ | ggf. die Anzahl der threads veraendern :) | ||
== Hier sind ein paar Tools, die ich dann naechstes Jahr ausprobiere: == | == Hier sind ein paar Tools, die ich dann naechstes Jahr ausprobiere: == |
Version vom 17. Oktober 2010, 15:13 Uhr
Inhaltsverzeichnis
Hardware
2009
Eine Uebersicht von dem, was z.Zt. bei mir im Zimmer fuers Videoschneiden fuer den Javakurs 2009 werkelt.
boxen
- PC_1 mit 120 GB zum Schneiden/filehosting
- PC_2 als encodiermaschine I
- Notebook_1 als encodiermaschine II / avi2flv-encoder
Notebook_2 als filehoster
HDDs
- S/N.:54 80 GB zum Auslagern
- S/N.:0000 80 GB fuer roh-daten von LE01
- S/N.:0000 80 GB fuer roh-daten von LE02
- S/N.:51 80 GB fuer experiemente/tests
- 40GB fuer roh?? Daten von LE01
500 GB als zwischenspeicher fuer die verlustfreien Videos
Zeit
- 1. Von der Kamera auf den PC: (echtzeit) 50min
- 1b. Screencasts umwandeln: 2h
- 2. zusammenschnippeln 5h
- 3. Audio-encodieren ?h
- 4. Video rendern 35h? 50h? 80h?
- 4b. Video-encodieren 5h
- 5. avi2flv 4h
- 6. avi2mkv(h.264) 4h
Testen & Debuggen
- Videoschnittprogramme 20h
- Encoding 114h
2010
Eine Uebersicht von dem, was fuers Videoschneiden fuer den Javakurs 2010 werkelte:
boxen
- PC_1 (x2 250,2GB ram *gaehn*) zum Schneiden/filehosting/encodiermaschine I
- Notebook_1 mit Gentoo(beste ffmpeg-pakete) fuer avi2flv-encoder, screencast umwandeln
HDDs
- S/N.:0000' 80 GB fuers OS + endprodukt (flv,mkv)
- S/N.:0000 80 GB fuer roh-daten von LE01,LE02,LE03
- S/N.:0000 80 GB fuer roh-daten von LE04,LE05,LE06
- S/N.:0000 80 GB fuer ausgabe der roh-videos aus dem Schnittprogramm (je 14GB)
- 40GB auf dem Notebook als zwischenspeicher fuers flv-erstellen...
Zeit
- 1. Von der Kamera auf den PC: (echtzeit) 50min
- 1b. Screencasts umwandeln: 1h
- 2. zusammenschnippeln 2h
3. Audio-encodieren 10min- 4. Video rendern 15h
- 5. avi2flv 3h
- 6. avi2IPOD 20min (auf der graka)
- 7. avi2mkv ??h
Testen & Debuggen
- Videoschnittprogramme 5h
- Encoding (numbercrunch) 25h
Software
Folgende Tools habe ich benutzt bzw. halte ich sinnvoll (stand Anfang 2009).
Aufnahme
DV (Firewire) aufnehmen
- dvgrab consolentool zum (live-)"grabben" von einer DV-Cam:
dvgrab -i -f dv2 <fileName>
- Kino das ganze mit GUI und Vorschaufenster
ScreenCapturing
- recordMyDesktop zum ScreenCapturing unter Linux
recordmydesktop --no-sound --no-cursor -workdir <tmp-dir>/ --fps 25 -v_quality 55 --on-the-fly-encoding -o <fileName>.ogv
- XvidCap ein weiteres Tool auf FFMPEG basis. (! von 2006)
xvidcap --fps 25 --continue yes --cap_geometry 1024x768 --source x11 --gui no --auto --quality 80 --codec mpeg4 --format avi --file <fileName>.avi
- Convertieren von ogv zu avi (vom recordmydesktop-tool zum schnittprogramm)
tkroenert@notebook ~/temp $ cat ogv2avi.sh ffmpeg -i LE$i.ogv -threads 2 -sameq LE$i.ogv.2.avi
Schneiden
- KdeNLive _nur_ qt4! (qt3 wird nichtmehr support => alle meine Bugs wurden wg. "used qt3" geclosed^^)
Encodieren / Convertieren
- FFMPEG & MEncoder (non-plus-ultra!) zwar consolentool, aber es gibt genuegend Beispiele im Netz
- AviDeMux mit schoener Gui und pre-sets (mit den eingebauten Filtern ist es sogut wie AviSync)
Nach flv-convertieren 2008/2009
mencoder -forceidx -of lavf -oac mp3lame -lameopts abr:br=56:mode=3 -af volnorm=1 -srate 22050 -ovc lavc -lavcopts vcodec=flv:vbitrate=320:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -vf scale=768:384,harddup -o eigeneAufnahmeH20b4.avi.MKV.flv eigeneAufnahmeH20b4.avi.MKV
Nach mp4-convertieren (mit flashplayer abspielbar) 2010
Dieses Script fliegt so an einigen Orten im Internet rum! Daher kann ich keine quelle nennen. Zunaechst der Hinweis: qt-faststart _indexiert_ das video, so dass (sofern der webserver es unterstuetzt!!) vorgespult werden kann!
#!/bin/sh infile="input.file.ogv.or.mkv.or.mp4.or....avi" tmpfile="video_tmp.mp4" outfile="video_out.mp4" options="-vcodec libx264 -b 512k -flags +loop+mv4 -cmp 256 \ -partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 \ -me_method hex -subq 7 -trellis 1 -refs 5 -bf 3 \ -flags2 +bpyramid+wpred+mixed_refs+dct8x8 -coder 1 -me_range 16 \ -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10\ -qmax 51 -qdiff 4" ffmpeg -y -i "$infile" -an -pass 1 -threads 2 $options "$tmpfile" ffmpeg -y -i "$infile" -acodec libfaac -ar 44100 -ab 96k -pass 2 -threads 2 $options "$tmpfile" qt-faststart "$tmpfile" "$outfile"
ggf. die Anzahl der threads veraendern :)
Hier sind ein paar Tools, die ich dann naechstes Jahr ausprobiere:
- flumotion Java - Audio/Video-Streamserver
Tipps am rande
- 25% einer 400MBit/s Firewire Verbindung sind mehr als 50% einer 100MBit/s Verbindung
- Firewire-Netzwerk scheint nach langzeit-test nicht Stabil...
- ==> Nutzt K E I N Firewire, falls ihr ueber Netzwerk Dateien einbindet
- Bugs in Programmen
- Es gibt auch Bugs in Programmen die keinen BugTracker/Changelog fuehren!
- ==> neuste Versionen lohnen sich
- Es gibt Bugs die nur auf bestimmten Architekturen/Betriebssystemen auftreten
- ==> Neuer Rechner, neues Glueck!
- Es gibt auch Bugs in Programmen die keinen BugTracker/Changelog fuehren!
- 1min ~ 1GB (verlustfrei)
- Festplatten sind die eine Sache, schnelle externe Gehaeuse die andere..
- Amateur-Video/Audio-Geraeten haben eine Toleranz von ~2%.
- D.h. auf 50min bis zu 1min Abweichung
- ==> Am besten alles auf einem Geraet aufnehmen als ein video (freej?)
- Programme m u e s s e n keine Fehlermeldungen generieren
- => wenn ploetzlich 120kb auf Temp frei sind, war/ist Temp zu klein!
- Bei Parameter-Beispielen aus dem Netz auf das Jahr achten... manche Tools gibts schon sehr lange...