Benutzer:Tkroenert/Videoschnitterfahrung: Unterschied zwischen den Versionen
(→Zeit) |
(neues jahr - neues glueck) |
||
(14 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
= Hardware = | = Hardware = | ||
+ | == 2009 == | ||
Eine Uebersicht von dem, was z.Zt. bei mir im Zimmer fuers Videoschneiden fuer den Javakurs 2009 werkelt. | Eine Uebersicht von dem, was z.Zt. bei mir im Zimmer fuers Videoschneiden fuer den Javakurs 2009 werkelt. | ||
− | == boxen == | + | === boxen === |
* PC_1 mit 120 GB zum Schneiden/filehosting | * PC_1 mit 120 GB zum Schneiden/filehosting | ||
* PC_2 als encodiermaschine I | * PC_2 als encodiermaschine I | ||
− | |||
* Notebook_1 als encodiermaschine II / avi2flv-encoder | * Notebook_1 als encodiermaschine II / avi2flv-encoder | ||
− | * Notebook_2 als filehoster | + | * <del>Notebook_2 als filehoster</del> |
− | == HDDs == | + | === HDDs === |
− | * 80 GB zum Auslagern | + | * S/N.:''54'' 80 GB zum Auslagern |
− | * 80 GB fuer roh-daten von LE01 | + | * S/N.:''0000'' 80 GB fuer roh-daten von LE01 |
− | * 80 GB fuer roh-daten von LE02 | + | * S/N.:''0000'' 80 GB fuer roh-daten von LE02 |
− | * 80 GB fuer experiemente/tests | + | * S/N.:''51'' 80 GB fuer experiemente/tests |
− | * 500 GB als zwischenspeicher fuer die verlustfreien Videos | + | * 40GB fuer roh?? Daten von LE01 |
+ | * <del> 500 GB als zwischenspeicher fuer die verlustfreien Videos </del> | ||
− | == Zeit == | + | === Zeit === |
* 1. Von der Kamera auf den PC: (echtzeit) 50min | * 1. Von der Kamera auf den PC: (echtzeit) 50min | ||
** 1b. Screencasts umwandeln: 2h | ** 1b. Screencasts umwandeln: 2h | ||
* 2. zusammenschnippeln 5h | * 2. zusammenschnippeln 5h | ||
* 3. Audio-encodieren ?h | * 3. Audio-encodieren ?h | ||
− | * 4. Video | + | * 4. Video rendern 35h? 50h? 80h? |
+ | ** 4b. Video-encodieren 5h | ||
* 5. avi2flv 4h | * 5. avi2flv 4h | ||
* 6. avi2mkv(h.264) 4h | * 6. avi2mkv(h.264) 4h | ||
Zeile 26: | Zeile 28: | ||
=== Testen & Debuggen === | === Testen & Debuggen === | ||
* Videoschnittprogramme 20h | * Videoschnittprogramme 20h | ||
− | * Encoding | + | * 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 | ||
+ | * <del> 3. Audio-encodieren 10min</del> | ||
+ | * 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 === | ||
+ | * [http://kinodv.org/ dvgrab] consolentool zum (live-)"grabben" von einer DV-Cam: | ||
+ | dvgrab -i -f dv2 <fileName> | ||
+ | |||
+ | * [http://kinodv.org/ Kino] das ganze mit GUI und Vorschaufenster | ||
+ | |||
+ | === ScreenCapturing === | ||
+ | * [http://recordmydesktop.sourceforge.net 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 | ||
+ | * [http://xvidcap.sourceforge.net/ 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 wie kdenlive) | ||
+ | tkroenert@notebook ~/temp $ cat ogv2avi.sh | ||
+ | ffmpeg -i LE$i.ogv -an -threads 2 -sameq LE$i.ogv.2.avi | ||
+ | * Convertieren der Audiospur | ||
+ | time ffmpeg -i jk11-5.ogv -ar 44200 -threads 2 -sameq jk11-5.wav | ||
+ | |||
+ | == Schneiden == | ||
+ | * [http://www.kdenlive.org/ 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! | ||
+ | |||
+ | <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: == | ||
+ | * [http://www.flumotion.net/ flumotion] Java - Audio/Video-Streamserver | ||
= Tipps am rande = | = Tipps am rande = | ||
Zeile 32: | Zeile 121: | ||
** Firewire-Netzwerk scheint nach langzeit-test nicht Stabil... | ** Firewire-Netzwerk scheint nach langzeit-test nicht Stabil... | ||
** ==> Nutzt K E I N Firewire, falls ihr ueber Netzwerk Dateien einbindet | ** ==> Nutzt K E I N Firewire, falls ihr ueber Netzwerk Dateien einbindet | ||
− | * Es gibt auch Bugs in Programmen die keinen BugTracker/Changelog fuehren! | + | |
− | ** ==> neuste Versionen lohnen sich | + | * 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! | ||
+ | |||
* 1min ~ 1GB (verlustfrei) | * 1min ~ 1GB (verlustfrei) | ||
* Festplatten sind die eine Sache, schnelle externe Gehaeuse die andere.. | * Festplatten sind die eine Sache, schnelle externe Gehaeuse die andere.. | ||
Zeile 39: | Zeile 133: | ||
** D.h. auf 50min bis zu 1min Abweichung | ** D.h. auf 50min bis zu 1min Abweichung | ||
** ==> Am besten alles auf einem Geraet aufnehmen als ein video (freej?) | ** ==> Am besten alles auf einem Geraet aufnehmen als ein video (freej?) | ||
+ | |||
* Programme m u e s s e n keine Fehlermeldungen generieren | * Programme m u e s s e n keine Fehlermeldungen generieren | ||
** => wenn ploetzlich 120kb auf Temp frei sind, war/ist Temp zu klein! | ** => 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... |
Aktuelle Version vom 22. März 2011, 09:45 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 wie kdenlive)
tkroenert@notebook ~/temp $ cat ogv2avi.sh ffmpeg -i LE$i.ogv -an -threads 2 -sameq LE$i.ogv.2.avi
- Convertieren der Audiospur
time ffmpeg -i jk11-5.ogv -ar 44200 -threads 2 -sameq jk11-5.wav
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...