Код: Выделить всё
#!/bin/bash
mencoder video.dv\
-sws 9\
-vf kerndeint,scale,harddup\
-ovc x264\
-x264encopts deblock:trellis=1:subq=6:partitions=all:8x8dct:me=umh:frameref=6:bframes=4:b_pyramid:weight_b:bime:mixed_refs:brdo:direct_pred=auto:keyint=750:qp=20\
-nosound\
-of rawvideo\
-o compressed-video.264
я жму в один проход задавая значение квантизера (qp=20 - для наглядности, его я меняю в зависимости от материала).
Что смущает - так это то что при кодировании фильтры открываются в обратной последовательности, чем я написал (см. последние три строчки):
Код: Выделить всё
$ sh x264-script.sh
MEncoder dev-SVN-rUNKNOWN-4.1.2 (C) 2000-2007 MPlayer Team
CPU: AMD Athlon(tm) 64 Processor 3000+ (Family: 15, Model: 47, Stepping: 0)
CPUflags: Type: 15 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
success: format: 0 data: 0x0 - 0x22e84780
libavformat file format detected.
[lavf] Video stream found, -vid 0
[lavf] Audio stream found, -aid 1
VIDEO: [dvsd] 720x576 0bpp 25.000 fps 28800.0 kbps (3515.6 kbyte/s)
[V] filefmt:35 fourcc:0x64737664 size:720x576 fps:25.00 ftime:=0.0400
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1; -1, osd: 1, aspect: 0.000000, round: 1
Opening video filter: [harddup]
Opening video filter: [scale]
Opening video filter: [kerndeint]
...
Просто в манах пишут, что harddup надо ставить в самом конце, а вот деинтерлейс-фильтр наоборот в начале...
В манах описаны опции определяющие последовательность фильтров, но нужного эффекта с помощью них добиться не удалось
Буду признателен, если кто-нибудь объяснит в чем здесь дело.
По поводу упаковки в mp4 - все равно ругается, но файл создает нормальный (во всяком случае mkvmerge видео из него выдирает).
Код: Выделить всё
$ mp4creator -create=compressed-video.264 -rate=25 compressed-video.mp4
Error decoding sei message
$
Может стоит попробовать ffmpeg для этого
Код: Выделить всё
$ ffmpeg -i compressed-video.264 -an -vcodec copy -f mp4 compressed-video.mp4
FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-static --enable-shared --cc=x86_64-pc-linux-gnu-gcc --disable-altivec --disable-debug --disable-v4l --disable-v4l2 --disable-network --disable-opts --enable-libmp3lame --enable-libvorbis --enable-libogg --enable-dc1394 --enable-xvid --enable-x11grab --enable-libogg --enable-x264 --enable-gpl --enable-pp --disable-strip
libavutil version: 49.4.0
libavcodec version: 51.40.2
libavformat version: 51.11.0
built on Apr 17 2007 23:18:42, gcc: 4.1.1 (Gentoo 4.1.1-r3)
Input #0, h264, from 'compressed-video.264':
Duration: N/A, bitrate: N/A
Stream #0.0: Video: h264, yuv420p, 720x576, 25.00 fps(r)
Output #0, mp4, to 'compressed-video.mp4':
Stream #0.0: Video: h264, yuv420p, 720x576, q=2-31, 25.00 fps(c)
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop encoding
frame= 4067 fps=1157 q=8853316.0 Lsize= 26248kB time=162.7 bitrate=1321.5kbits/s
video:26185kB audio:0kB global headers:0kB muxing overhead 0.241991%
$
здесь в роде все ок
в манах упоминается, но как-то поверхностно...
а можно этот самый текст где много букаф