LINUX.ORG.RU

Ответ на: комментарий от AEP

тоже так думал, пока не увидело в справке

mencoder -ovc help
MEncoder SVN-r31566-4.3.3 (C) 2000-2010 MPlayer Team

Available codecs:
copy - frame copy, without re-encoding. Doesn't work with filters.
frameno - special audio-only file for 3-pass encoding, see DOCS.
raw - uncompressed video. Use fourcc option to set format explicitly.
lavc - libavcodec codecs - best quality!
vfw - VfW DLLs, read DOCS/HTML/en/encoding-guide.html.
qtvideo - QuickTime DLLs, currently only SVQ1/3 are supported.
xvid - XviD encoding
x264 - H.264 encoding

кроме того, для lavc libx264 есть ряд опций - ildct, ilme, mbd=2 которые по справке должны улучшить качество видео

Sky777
() автор топика
Ответ на: комментарий от Sky777

Эти опции в справке относятся к lavc как целому. Некоторые кодеки (в том числе libx264) их игнорируют, т.к. пользуются своим DCT, своим motion estimation и разбиением на макроблоки. Т.е. по идее должно быть достаточно передать x264 опцию interlaced.

AEP ★★★★★
()
Ответ на: комментарий от AEP

хм, я полагал что надо одновременно флаг -interlaced указать и использовать фильтр деинтерлейсинга yadif или tfields

значит, опцию -interlaced не надо указывать для 576i видео если при сжатии используется yadif или tfields ?

кстати, какой из этих 2 фильтров посоветутете использовать - в плане качества ? В cправке к менкодеру пишут, что yadif - нестабильный, может вызывать креш, но у меня на тестовых роликах крешей с ним не было.

Sky777
() автор топика
Ответ на: комментарий от Sky777

> значит, опцию -interlaced не надо указывать для 576i видео если при сжатии используется yadif или tfields ?

Не надо. После фильтра оно уже не interlaced.

кстати, какой из этих 2 фильтров посоветуете использовать - в плане качества?

yadif, поскольку tfields тупо уменьшает разрешение по вертикали вдвое.

Только ты уверен, что на выходе хочешь получить 576p50? Да, движение будет более плавным, но если нужна максимальная совместимость, лучше сделать 576p25 с помощью -vf pp=fd.

AEP ★★★★★
()
Ответ на: комментарий от redgremlin

Библиотека x264 одна и та же. Поэтому в идеале разницы в наборе доступных опций быть не должно, но де факто она есть в виде разницы настроек по умолчанию. По этому поводу в библиотеке x264 даже есть строка «broken ffmpeg default settings detected» (появляется только если не указать profile), а ffmpeg и lavc - это одно и то же.

AEP ★★★★★
()
Ответ на: комментарий от AEP

Только ты уверен, что на выходе хочешь получить 576p50?


нет, не совсем уверен. Но на первый взгляд 50p лучше, чем 25p.

Да, движение будет более плавным, но если нужна максимальная совместимость, лучше сделать 576p25 с помощью -vf pp=fd.


а разве -vf yadif=0/2 не делает 25р из 50i, а -vf yadif=1/3 50p из 50i ?

yadif=[mode[:field_dominance]]
Yet another deinterlacing filter
<mode>
0: Output 1 frame for each frame.
1: Output 1 frame for each field.
2: Like 0 but skips spatial interlacing check.
3: Like 1 but skips spatial interlacing check.

Sky777
() автор топика
Ответ на: комментарий от Sky777

Действительно, не заметил, что у yadif есть такой режим

а разве -vf yadif=0/2 не делает 25р из 50i, а -vf yadif=1/3 50p из 50i

Все именно так

AEP ★★★★★
()
Ответ на: комментарий от AEP

давайте все-таки рассмотрим -vf yadif=1 в связке с -vf mcdeint=2:0:10
правильно я понимаю, что для него надо указать -fps 50 (именно 50, а не 25 fps , в котором снято исходное 576i@25 PAL видео) и -ofps 50 ?

я именно таки пробовал (как советуют в mencoder рассылке) но получаю на выходе ускоренное на 30-40% видео

Sky777
() автор топика
Ответ на: комментарий от Sky777

Можно и yadif + mcdeint. Из документации действительно следует -fps 50 -ofps 50.

Насчет неверной скорости результирующего видео - хотелось бы увидеть вывод таких команд:

ffmpeg -i input.dv

ffmpeg -i result.avi

(жалобу на неуказанный выходной файл игнорировать)

AEP ★★★★★
()
Ответ на: комментарий от AEP

это файл на выходе, который проигрывается быстрее, чем оригинал

~/dv$ ffprobe out.avi -show_format
FFprobe version SVN-r23891, Copyright (c) 2007-2010 the FFmpeg developers
built on Jun 29 2010 23:04:53 with gcc 4.3.3
configuration:
libavutil 50.19. 0 / 50.19. 0
libavcodec 52.78. 0 / 52.78. 0
libavformat 52.71. 0 / 52.71. 0
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.20. 1 / 1.20. 1
libswscale 0.11. 0 / 0.11. 0
[avi @ 0x9932020] max_analyze_duration reached
Input #0, avi, from 'out.avi':
Metadata:
ISFT : MEncoder SVN-r31566-4.3.3
Duration: 00:00:50.26, start: 0.000000, bitrate: 6073 kb/s
Stream #0.0: Video: h264, yuv420p, 720x576 [PAR 1:1 DAR 5:4], PAR 65536:65535 DAR 16384:13107, 50 fps, 50 tbr, 50 tbn, 100 tbc
Stream #0.1: Audio: aac, 32000 Hz, stereo, s16, 131 kb/s
[FORMAT]
filename=out.avi
nb_streams=2
format_name=avi
format_long_name=AVI format
start_time=0.000000
duration=50.260000
size=38157996.000000
bit_rate=6073696.000000
TAG:ISFT=MEncoder SVN-r31566-4.3.3
[/FORMAT]


это исходный файл захваченный по usb с dv камеры

~/dv$ ffprobe 50.avi -show_format
FFprobe version SVN-r23891, Copyright (c) 2007-2010 the FFmpeg developers
built on Jun 29 2010 23:04:53 with gcc 4.3.3
configuration:
libavutil 50.19. 0 / 50.19. 0
libavcodec 52.78. 0 / 52.78. 0
libavformat 52.71. 0 / 52.71. 0
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.20. 1 / 1.20. 1
libswscale 0.11. 0 / 0.11. 0
Input #0, avi, from '50.avi':
Duration: 00:01:31.48, start: 0.000000, bitrate: 29833 kb/s
Stream #0.0: Video: dvvideo, yuv420p, 720x576, 25 tbr, 25 tbn, 25 tbc
Stream #0.1: Audio: pcm_s16le, 32000 Hz, 2 channels, s16, 1024 kb/s
[FORMAT]
filename=50.avi
nb_streams=2
format_name=avi
format_long_name=AVI format
start_time=0.000000
duration=91.480000
size=341147688.000000
bit_rate=29833641.000000
[/FORMAT]


вот с такими парметрами кодировал

[crf]
profile-desc=«crf»
x264encopts=crf=21:log=2:psnr:ssim::me=dia:subq=6:trellis=0


[default]
ovc=x264=1
oac=faac=1
faacopts=br=128
#vf=yadif=0
#vf=mcdeint=2:1:10
vf=tfields=4
vf=hqdn3d=2:1:2
fps=50
ofps=50
o=out.avi

Sky777
() автор топика
Ответ на: комментарий от Sky777

вторая настройка vf= перебивает первую, что и приводит к неправильной скорости. Надо (если настаиваешь на прописывании в конфиге) писать так: vf=tfields=4,hqdn3d=2:1:2

subq=6:trellis=0 - это кодирует быстрее, чем если бы эти параметры не указывать, но качество будет немного хуже.

AEP ★★★★★
()
Ответ на: комментарий от AEP

>>вторая настройка vf= перебивает первую, что и приводит к неправильной скорости. Надо (если настаиваешь на прописывании в конфиге) писать так: vf=tfields=4,hqdn3d=2:1:2

да, я понял. спасибо.


subq=6:trellis=0 - это кодирует быстрее, чем если бы эти параметры не указывать, но качество будет немного хуже.


а я счас почитал доку - subq=6:trellis=0 - это параметры по умолчанию, так что в моем случае ничего бы не изменилось после удаления из из конфига

Sky777
() автор топика
Ответ на: комментарий от Sky777

> subq=6:trellis=0 - это параметры по умолчанию

Значит, кто-то поменял параметры по умолчанию между нашими версиями mencoder.

AEP ★★★★★
()
Ответ на: комментарий от AEP

у меня свежескомпилированный mencoder, но доку я читал по ссылке
http://www.mplayerhq.hu/DOCS/man/ru/mplayer.1.txt

вполне возможно, она не обновлена

а у вас как выглядят эти параметры по умолчанию ? с trellis=1/2 никак не может быстрее кодировать

Sky777
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.