Zeile 39: |
Zeile 39: |
| 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: | | 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: |
| | | |
− | <pre> | + | <source lang="bash"> |
− | bastian@terastar:~$ ls -sh video.mov | + | bastian@terastar:~$ ls -sh video.mov |
− | 866M video.mov | + | 866M video.mov |
| | | |
− | bastian@terastar:~$ mplayer -frames 0 -identify -vo null video.mov 2>/dev/null | grep ID_ | + | bastian@terastar:~$ mplayer -frames 0 -identify -vo null video.mov 2>/dev/null | grep ID_ |
− | ID_VIDEO_ID=0 | + | ID_VIDEO_ID=0 |
− | ID_AUDIO_ID=1 | + | ID_AUDIO_ID=1 |
− | ID_FILENAME=video.mov | + | ID_FILENAME=video.mov |
− | ID_DEMUXER=mov | + | ID_DEMUXER=mov |
− | ID_VIDEO_FORMAT=jpeg | + | ID_VIDEO_FORMAT=jpeg |
− | ID_VIDEO_BITRATE=0 | + | ID_VIDEO_BITRATE=0 |
− | ID_VIDEO_WIDTH=640 | + | ID_VIDEO_WIDTH=640 |
− | ID_VIDEO_HEIGHT=480 | + | ID_VIDEO_HEIGHT=480 |
− | ID_VIDEO_FPS=30.000 | + | ID_VIDEO_FPS=30.000 |
− | ID_VIDEO_ASPECT=0.0000 | + | ID_VIDEO_ASPECT=0.0000 |
− | ID_AUDIO_FORMAT=raw | + | ID_AUDIO_FORMAT=raw |
− | ID_AUDIO_BITRATE=0 | + | ID_AUDIO_BITRATE=0 |
− | ID_AUDIO_RATE=8000 | + | ID_AUDIO_RATE=8000 |
− | ID_AUDIO_NCH=1 | + | ID_AUDIO_NCH=1 |
− | ID_LENGTH=633.00 | + | ID_LENGTH=633.00 |
− | ID_VIDEO_CODEC=ffmjpeg | + | ID_VIDEO_CODEC=ffmjpeg |
− | ID_AUDIO_BITRATE=64000 | + | ID_AUDIO_BITRATE=64000 |
− | ID_AUDIO_RATE=8000 | + | ID_AUDIO_RATE=8000 |
− | ID_AUDIO_NCH=1 | + | ID_AUDIO_NCH=1 |
− | ID_AUDIO_CODEC=pcm | + | ID_AUDIO_CODEC=pcm |
− | </pre> | + | </source> |
| | | |
| Zusammenfassend: | | Zusammenfassend: |
Zeile 73: |
Zeile 73: |
| 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. | | 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. |
| | | |
− | <pre> | + | <source lang="bash"> |
− | # dateiname festlegen und qualitaet festlegen | + | # dateiname festlegen und qualitaet festlegen |
− | FILE="/pfad/zum/movie.mov" | + | FILE="/pfad/zum/movie.mov" |
− | QUALI="normal" # niedrig,normal,gut | + | QUALI="normal" # niedrig,normal,gut |
| | | |
− | # ab jetzt nur noch copy&paste | + | # ab jetzt nur noch copy&paste |
− | # Parameter fuer Qualitaet, etc. ermitteln | + | # Parameter fuer Qualitaet, etc. ermitteln |
− | if [ "$QUALI" = "niedrig" ]; then
| + | if [ "$QUALI" = "niedrig" ]; then |
− | BITRATE=400
| + | BITRATE=400 |
− | FPS=10
| + | FPS=10 |
− | elif [ "$QUALI" = "normal" ]; then | + | elif [ "$QUALI" = "normal" ]; then |
− | BITRATE=700
| + | BITRATE=700 |
− | FPS=20
| + | FPS=20 |
− | else | + | else |
− | BITRATE=1000
| + | BITRATE=1000 |
− | FPS=25
| + | FPS=25 |
− | fi | + | fi |
| | | |
− | if [ "$( file -bi $FILE )" = "video/quicktime" ]; then | + | if [ "$( file -bi $FILE )" = "video/quicktime" ]; then |
− | TYP="mov"
| + | TYP="mov" |
| | | |
− | # 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 | + | # optionen: hoehen/seitenverhaeltnis erzwingen |
− | O1="-aspect $( awk -v w=$ID_VIDEO_WIDTH -v h=$ID_VIDEO_HEIGHT 'BEGIN{ print w/h }' )" | + | O1="-aspect $( awk -v w=$ID_VIDEO_WIDTH -v h=$ID_VIDEO_HEIGHT 'BEGIN{ print w/h }' )" |
| | | |
− | # optionen: aufloesung erzwingen | + | # optionen: aufloesung erzwingen |
− | O2="-vf scale=${ID_VIDEO_WIDTH}:${ID_VIDEO_HEIGHT},harddup" | + | O2="-vf scale=${ID_VIDEO_WIDTH}:${ID_VIDEO_HEIGHT},harddup" |
| | | |
− | # h264-optionen - erster Durchlauf | + | # h264-optionen - erster Durchlauf |
− | O3a="-ovc x264 -x264encopts bitrate=$BITRATE:threads=auto:pass=1:turbo=2:frameref=1:bframes=3:" | + | O3a="-ovc x264 -x264encopts bitrate=$BITRATE:threads=auto:pass=1:turbo=2:frameref=1:bframes=3:" |
− | O3b="nob_pyramid:direct_pred=auto:partitions=all:8x8dct:subq=1:mixed_refs:nodct_decimate" | + | O3b="nob_pyramid:direct_pred=auto:partitions=all:8x8dct:subq=1:mixed_refs:nodct_decimate" |
− | O3c=" -nosound -ofps $FPS -noskip -of rawvideo -o /dev/null mf://$FILE -mf fps=$FPS" | + | O3c=" -nosound -ofps $FPS -noskip -of rawvideo -o /dev/null mf://$FILE -mf fps=$FPS" |
− | O3="$O3a$O3b$O3c" | + | O3="$O3a$O3b$O3c" |
| | | |
− | # h264-optionen - zweiter Durchlauf | + | # h264-optionen - zweiter Durchlauf |
− | O4a="-ovc x264 -x264encopts bitrate=$BITRATE:threads=auto:pass=2:frameref=5:bframes=3:" | + | O4a="-ovc x264 -x264encopts bitrate=$BITRATE:threads=auto:pass=2:frameref=5:bframes=3:" |
− | O4b="nob_pyramid:direct_pred=auto:partitions=all:8x8dct:subq=6:mixed_refs:nodct_decimate" | + | O4b="nob_pyramid:direct_pred=auto:partitions=all:8x8dct:subq=6:mixed_refs:nodct_decimate" |
− | O4c=" -nosound -ofps $FPS -noskip -of rawvideo -o /dev/null mf://$FILE -mf fps=$FPS" | + | O4c=" -nosound -ofps $FPS -noskip -of rawvideo -o /dev/null mf://$FILE -mf fps=$FPS" |
− | O4="$O4a$O4b$O4c" | + | O4="$O4a$O4b$O4c" |
| | | |
− | # in DixX /mp2 | + | # in DixX /mp2 |
− | OV="-ovc lavc -ffourcc DX50" | + | OV="-ovc lavc -ffourcc DX50" |
− | OA="-oac lavc" | + | OA="-oac lavc" |
− | mencoder "$FILE" $OV $OA -o "${FILE}.dixv" | + | mencoder "$FILE" $OV $OA -o "${FILE}.dixv" |
| | | |
− | # in DivX / faac | + | # in DivX / faac |
− | OV="-ovc lavc -ffourcc DX50" | + | OV="-ovc lavc -ffourcc DX50" |
− | OA="oac faac -faacopts br=64:object=2 -channels 2 -srate 22000" | + | OA="oac faac -faacopts br=64:object=2 -channels 2 -srate 22000" |
− | mencoder "$FILE" $OV $OA -o "${FILE}.dixv" | + | mencoder "$FILE" $OV $OA -o "${FILE}.dixv" |
− | </pre> | + | </source> |
| | | |
| Tags: convert, mencoder, ffmpeg, mov, mpeg4, h264 | 20:01, 8. Mai 2008 (CEST) | | Tags: convert, mencoder, ffmpeg, mov, mpeg4, h264 | 20:01, 8. Mai 2008 (CEST) |