Weblog.bastian.bittorf: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
K (noch nicht fertig) |
K (→kompatibles konvertieren von Videodaten: .mov in mpeg4 / h.264: +speichern) |
||
Zeile 38: | Zeile 38: | ||
<pre> | <pre> | ||
− | # dateiname festlegen | + | # dateiname festlegen und qualitaet festlegen |
− | FILE="/ | + | FILE="/pfad/zum/movie.mov" |
+ | QUALI="normal" # niedrig,normal,gut | ||
+ | |||
+ | # ab jetzt nur noch copy&paste | ||
+ | # Qualitaetsparameter ermitteln | ||
+ | if [ "$QUALI" = "niedrig" ]; then | ||
+ | BITRATE=400 | ||
+ | FPS=10 | ||
+ | elif | ||
+ | BITRATE=700 | ||
+ | FPS=20 | ||
+ | else | ||
+ | BITRATE=1000 | ||
+ | FPS=25 | ||
+ | fi | ||
# variablen in die shell verfuegbar machen | # variablen in die shell verfuegbar machen | ||
eval $( mplayer -frames 0 -identify -vo null "$FILE" 2>/dev/null | grep ID_ ) | eval $( mplayer -frames 0 -identify -vo null "$FILE" 2>/dev/null | grep ID_ ) | ||
+ | # optionen: hoehen/seitenverhaeltnis erzwingen | ||
+ | O1="-aspect $( awk -v w=$ID_VIDEO_WIDTH -v h=$ID_VIDEO_HEIGHT 'BEGIN{ print w/h }' )" | ||
+ | |||
+ | # optionen: aufloesung erzwingen | ||
+ | O2="-vf scale=${ID_VIDEO_WIDTH}:${ID_VIDEO_HEIGHT},harddup" | ||
+ | |||
+ | # | ||
mencoder -aspect $ASPECT -vf scale=$SCALE,harddup -ovc x264 -x264encopts \ | mencoder -aspect $ASPECT -vf scale=$SCALE,harddup -ovc x264 -x264encopts \ | ||
bitrate=$BITRATE:threads=auto:pass=1:turbo=2:frameref=1:bframes=3:nob_pyramid:\ | bitrate=$BITRATE:threads=auto:pass=1:turbo=2:frameref=1:bframes=3:nob_pyramid:\ |
Version vom 8. Mai 2008, 18:28 Uhr
.mov-2-mpeg4
kompatibles konvertieren von Videodaten: .mov in mpeg4 / h.264
Gerade Fotoapparate bieten neuerdings die Moeglichkeit auch ein Video aufzunehmen. Diese werden dann als .mov gespeichert, sind richtig grosse Dateien, die sich schlecht per Mail verteilen lassen. Selbst ein hochladen zu diversen Videoportalen - damit es die lieben Verwandten anschauen koennen - wird zur Geduldsprobe. Beispiel:
bastian@terastar:~$ ls -sh video.mov 866M video.mov bastian@terastar:~$ mplayer -frames 0 -identify -vo null video.mov 2>/dev/null | grep ID_ ID_VIDEO_ID=0 ID_AUDIO_ID=1 ID_FILENAME=video.mov ID_DEMUXER=mov ID_VIDEO_FORMAT=jpeg ID_VIDEO_BITRATE=0 ID_VIDEO_WIDTH=640 ID_VIDEO_HEIGHT=480 ID_VIDEO_FPS=30.000 ID_VIDEO_ASPECT=0.0000 ID_AUDIO_FORMAT=raw ID_AUDIO_BITRATE=0 ID_AUDIO_RATE=8000 ID_AUDIO_NCH=1 ID_LENGTH=633.00 ID_VIDEO_CODEC=ffmjpeg ID_AUDIO_BITRATE=64000 ID_AUDIO_RATE=8000 ID_AUDIO_NCH=1 ID_AUDIO_CODEC=pcm
Zusammenfassend:
- 850 Megabyte und
- gerade mal etwas ueber 10 Minuten lang
- Audiospur unkomprimiert
Da sollte also noch was gehen. Die Erfahrung sagt in etwa: 90 Minuten gute Spielfilmqualitaet sind ca. 700 Megabyte. Ergo sollten in unserem Fall deutlich weniger als 7,5 Megabyte / Minute moeglich sein. Folgendes Anleitung kann man einfach auf der Kommandozeile copy&pasten.
# dateiname festlegen und qualitaet festlegen FILE="/pfad/zum/movie.mov" QUALI="normal" # niedrig,normal,gut # ab jetzt nur noch copy&paste # Qualitaetsparameter ermitteln if [ "$QUALI" = "niedrig" ]; then BITRATE=400 FPS=10 elif BITRATE=700 FPS=20 else BITRATE=1000 FPS=25 fi # variablen in die shell verfuegbar machen eval $( mplayer -frames 0 -identify -vo null "$FILE" 2>/dev/null | grep ID_ ) # optionen: hoehen/seitenverhaeltnis erzwingen O1="-aspect $( awk -v w=$ID_VIDEO_WIDTH -v h=$ID_VIDEO_HEIGHT 'BEGIN{ print w/h }' )" # optionen: aufloesung erzwingen O2="-vf scale=${ID_VIDEO_WIDTH}:${ID_VIDEO_HEIGHT},harddup" # mencoder -aspect $ASPECT -vf scale=$SCALE,harddup -ovc x264 -x264encopts \ bitrate=$BITRATE:threads=auto:pass=1:turbo=2:frameref=1:bframes=3:nob_pyramid:\ direct_pred=auto:partitions=all:8x8dct:subq=1:mixed_refs:nodct_decimate \ -nosound -ofps $FPS -noskip -of rawvideo -o /dev/null mf://$PATH/*.$EXT -mf fps=$FPS mencoder -aspect $ASPECT -vf scale=$SCALE,harddup -ovc x264 -x264encopts \ bitrate=$BITRATE:threads=auto:pass=2:frameref=5:bframes=3:nob_pyramid:\ direct_pred=auto:partitions=all:8x8dct:subq=6:mixed_refs:nodct_decimate \ -nosound -ofps $FPS -noskip -of rawvideo -o output.264 mf://$PATH/*.$EXT -mf fps=$FPS
Tags: convert, mplayer, mov, mpeg4, h264 18:07, 8. Mai 2008 (CEST)