MKV в AVI (помогите с опциями mencoder-a)

Разные проблемы звука, видео, обсуждение разных устройств и т.д.

Модератор: Модераторы разделов

Аватара пользователя
unax
Сообщения: 275
ОС: Linux

MKV в AVI

Сообщение unax »

Товарищи, приветствую!
Задача такая: Есть у меня огромный файл mkv под 30 Gb надо его перекодировать в avi чтоб был не больше 4gb и убрать субтитры.
Так вот, avidemux мне помогает решать схожие задачи с файлами по 12 Gb, а тут я открываю в нем этот файл жму плэй и видео проигрывается подергиваясь и подтормажевая! хотя в vlc и mplayer нормально все..
Ну думаю ладно! перекодировал его в avi думал пройдет это подергивание, не тут то было :angry:
сделать типа такого что-нибудь..

Код: Выделить всё

#!/bin/bash

INPUT=$1
OUTPUT=$2

mencoder "$INPUT" \
    -ffourcc divx \
    -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=... \
    -o "$OUTPUT"

но какие опции точно задать не знаю.. плохо в этом разбираюсь(
Кто-то же решал такую задачу? или может как avidemux избавить от этого "подергивания"?
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: MKV в AVI

Сообщение sspphheerraa »

ffmpeg вам в помощь...
а вообще, покажите для начала вывод 'mplayer file.mkv'
Sspphheerraa
Спасибо сказали:
Аватара пользователя
unax
Сообщения: 275
ОС: Linux

Re: MKV в AVI

Сообщение unax »

sspphheerraa писал(а):
15.07.2010 11:36
а вообще, покажите для начала вывод 'mplayer file.mkv'

Конечно...
$ mplayer -wid 48234912 -slave -vo sdl -ao alsa -framedrop -contrast 0 -brightness 0 -hue 0 -saturation 0 ./file.mkv

Код: Выделить всё


MPlayer SVN-r30554-4.4.4 (C) 2000-2010 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Неудачное открытие поддержки LIRC.
Вы не сможете использовать Ваш пульт управления.

Воспроизведение ./file.mkv.
Обнаружен libavformat формат файла!
[matroska @ 0x29da7a0]Estimating duration from bitrate, this may be inaccurate
[lavf] stream 0: video (mpeg2video), -vid 0, file
[lavf] stream 1: audio (ac3), -aid 0, -alang rus, AC3 6ch 448 kb/s
[lavf] stream 2: audio (dca), -aid 1, -alang rus, DTS 768 kb/s
[lavf] stream 3: subtitle (unknown), -sid 0, -slang rus, Russian Subs
VIDEO:  [MPG2]  1920x1088  0bpp  23.976 fps  17000.0 kbps (2075.2 kbyte/s)
[VO_SDL] Использую драйвер: x11.
==========================================================================
Открываю декодер видео: [mpegpes] MPEG 1/2 Video passthrough
Не могу найти подходящее цветовое пространство - попытаюсь с -vf scale...
Открываю видео фильтр: [scale]
Извините, выбранное устройство видеовывода не совместимо с этим кодеком.
Попробуйте добавить фильтр scale к вашему списку фильтров.
Например, -vf spp,scale вместо -vf spp.
Ошибка инициализации Декодера Видео :(
Открываю декодер видео: [ffmpeg] FFmpeg's libavcodec codec family
Выбран видеокодек: [ffmpeg2] vfm: ffmpeg (FFmpeg MPEG-2)
==========================================================================
==========================================================================
Открываю декодер аудио: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 2 ch, s16le, 448.0 kbit/29.17% (ratio: 56000->192000)
Выбран аудиокодек: [ffac3] afm: ffmpeg (FFmpeg AC-3)
==========================================================================
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
Начало воспроизведения...
Movie-Aspect - 1.78:1 - выполняю предварительное масштабирование
для коррекции соотношения сторон фильма.
VO: [sdl] 1920x1088 => 1934x1088 Planar YV12
A:   6.7 V:   6.7 A-V:  0.000 ct: -0.019   0/  0 27% 54%  1.1% 6 0
Выходим... (Выход)


Вот с чем имею дело..
Спасибо сказали:
Аватара пользователя
Rodegast
Сообщения: 337
ОС: Linux

Re: MKV в AVI

Сообщение Rodegast »

1) Зачем вы скрипт пишите? С этой задачей справится почти любой фронэнд поддерживающий MEncoder.
2) Какие должны быть параметры у результата (Аудио/Видео кодек, разрешение, битрейт звука и т.п.)?
3) Субтитры идут отдельно от видео или они с ним уже закодированы?
Спасибо сказали:
Аватара пользователя
unax
Сообщения: 275
ОС: Linux

Re: MKV в AVI

Сообщение unax »

Я хочу звуковую дорожку оставить как она есть..
А видео чтоб занимало ну скажем 3gb, звуковая дорожка около 700 mb тут, значит хочу обжать этот файл до avi-шника объемом 3,7 - 4 gb.
А насчет суптитров я так думаю они типа как дорожка..
судя по:

Код: Выделить всё

[lavf] stream 0: video (mpeg2video), -vid 0, file
[lavf] stream 1: audio (ac3), -aid 0, -alang rus, AC3 6ch 448 kb/s
[lavf] stream 2: audio (dca), -aid 1, -alang rus, DTS 768 kb/s
[lavf] stream 3: subtitle (unknown), -sid 0, -slang rus, Russian Subs
Спасибо сказали:
math
Сообщения: 293
Статус: Ъ участник
ОС: Artix (= Arch without systemd)

Re: MKV в AVI

Сообщение math »

Я не очень понял, mplayer воспроизводит этот файл или нет?
Если да - надо mplayer'ом выдрать отдельные видео/аудио/субтитры дорожки, потом mencoder'ом нужные обжать, потом чем-нибудь (вот тут не знаю, чем именно) смультиплексировать
Спасибо сказали:
Аватара пользователя
unax
Сообщения: 275
ОС: Linux

Re: MKV в AVI

Сообщение unax »

math писал(а):
15.07.2010 18:31
Я не очень понял, mplayer воспроизводит этот файл или нет?

вопще без проблем! Я бы вообще не парился если бы avidemux мне нормально его пережал.
Выбирал там кодек Xvid и в конфигурациях устанавливал целевой размер, но вот с этим файлом проблема он его пережимает но он дергается и подтормаживает так же как и при воспроизведении в avidemux(
Спасибо сказали:
math
Сообщения: 293
Статус: Ъ участник
ОС: Artix (= Arch without systemd)

Re: MKV в AVI

Сообщение math »

Тогда предлагаю начать с
mplayer file.mkv -vo png:outdir=abcd -ao null
только добавить опцию для выбора дорожки (я её не помню)
а получееную россыпь кадров собрать mencoder'ом
Спасибо сказали:
Аватара пользователя
Rodegast
Сообщения: 337
ОС: Linux

Re: MKV в AVI

Сообщение Rodegast »

> надо mplayer'ом выдрать отдельные видео/аудио/субтитры дорожки, потом mencoder'ом нужные обжать, потом чем-нибудь (вот тут не знаю, чем именно) смультиплексировать

Никогда так не делайте! ЖМИТЕ ВСЁ СРАЗУ! Команда MEncoder-a будет примерно такая:
mencoder -ffourcc XVID -ovc xvid -xvidencopts bitrate=-3000000:min_iquant=2:max_iquant=31:min_pquant=2:max_pquant=31:me_quality=6:quant
_type=mpeg:max_overflow_improvement=5:max_overflow_degradation=5:qpel:gmc:trelli
s:nocartoon:
chroma_me:chroma_opt:aspect=1.78:vhq=1:max_bframes=0 -vf scale=::::::pal,harddup -oac copy -noautosub вход.mkv -o выход.avi
Спасибо сказали:
Аватара пользователя
unax
Сообщения: 275
ОС: Linux

Re: MKV в AVI

Сообщение unax »

спасибо.. запустил, авишник появился и стал набухать.. открыл, качество видео вполне, но звука что-то там еще нет и субтитры остались, посмотрим что в конце будет. Доведем эксперимент до конца :)
Спасибо сказали:
Аватара пользователя
unax
Сообщения: 275
ОС: Linux

Re: MKV в AVI

Сообщение unax »

Получился бесполезный здоровый бегемот)
Файл 6.7 Gb, в нем нет звука... И еще первые пару минут видео нормально идет, а потом начинает мелькать какбудто по кадру вырезают через 100 ms и года он стал такое кривое видео делать в консоле стал писать

Код: Выделить всё

[swscaler @ 0xb11860]Slices start in the middle!
[swscaler @ 0xb11860]Slices start in the middle!
[swscaler @ 0xb11860]Slices start in the middle!
[swscaler @ 0xb11860]Slices start in the middle!
[swscaler @ 0xb11860]Slices start in the middle!
[swscaler @ 0xb11860]Slices start in the middle!
[swscaler @ 0xb11860]Slices start in the middle!
[swscaler @ 0xb11860]Slices start in the middle!
[swscaler @ 0xb11860]Slices start in the middle!

Не знаю, что это он так.
как его еще попробовать конвертить...
Спасибо сказали:
sciko
Сообщения: 1744
Статус: Ъ-участник
ОС: Debian/Ubuntu/etc

Re: MKV в AVI

Сообщение sciko »

unax писал(а):
15.07.2010 00:58
Есть у меня огромный файл mkv под 30 Gb надо его перекодировать в avi чтоб был не больше 4gb и убрать субтитры.
avi как и mkv это тупо контейнеры. А кодируют из одного формата видео в другой.

Учитывая, что ТС так и не раскололся какой формат был у исходного видео и какой должен быть у конечного в общем-то помочь мало чем можно.

Rodegast писал(а):
15.07.2010 20:55
Команда MEncoder-a будет примерно такая:
О_о Вы кодируете в один проход?
Спасибо сказали:
Аватара пользователя
unax
Сообщения: 275
ОС: Linux

Re: MKV в AVI

Сообщение unax »

Ну так и что теперь.. рецепта нет? Так и не видать мне авишника 4х гигового :(
Спасибо сказали:
Аватара пользователя
Rodegast
Сообщения: 337
ОС: Linux

Re: MKV в AVI

Сообщение Rodegast »

>О_о Вы кодируете в один проход?

Очень часто многопроходное кодирование ничего не даёт, а только время отбирает.

>в нем нет звука...

При копировании мог не правильно записаться идентификатор звукового кодека, я думаю стоит перекодировать ещё и звук с большим битрейтом. К стати это может устранить мелькание.

> Получился бесполезный здоровый бегемот)

Попробуйте увеличить значение bitrate до -2500000
Спасибо сказали:
sciko
Сообщения: 1744
Статус: Ъ-участник
ОС: Debian/Ubuntu/etc

Re: MKV в AVI

Сообщение sciko »

Rodegast писал(а):
16.07.2010 10:35
Очень часто многопроходное кодирование ничего не даёт, а только время отбирает.
В ваш любимый кодек добавили поддержку libastral.so?

unax писал(а):
16.07.2010 10:34
Ну так и что теперь.. рецепта нет?
Есть. Но мне нужно знать из какого в какой кодек перекодируем. Надеюсь как смотреть кодек фильма рассказывать не надо?
Спасибо сказали:
Аватара пользователя
Rodegast
Сообщения: 337
ОС: Linux

Re: MKV в AVI

Сообщение Rodegast »

>В ваш любимый кодек добавили поддержку libastral.so?

Всеми любимая libastral тут ни причём. Просто выгода от многопроходного кодирования на высоких битрейтах будет сведена к минимуму.
Спасибо сказали:
Аватара пользователя
unax
Сообщения: 275
ОС: Linux

Re: MKV в AVI

Сообщение unax »

Ну вот..

Код: Выделить всё

[lavf] stream 0: video (mpeg2video), -vid 0, file
[lavf] stream 1: audio (ac3), -aid 0, -alang rus, AC3 6ch 448 kb/s
[lavf] stream 2: audio (dca), -aid 1, -alang rus, DTS 768 kb/s
[lavf] stream 3: subtitle (unknown), -sid 0, -slang rus, Russian Subs

stream 0 это видео поток где mpeg2video кодек вероятно. stream 1 и 2 это звуковые потоки и их можно было бы оставить как есть. stream 3 не особо то и нужен.

>При копировании мог не правильно записаться идентификатор звукового кодека

оооу.. а это где :blush:

пока вот так получается.. да?

Код: Выделить всё

$mencoder -ffourcc XVID -ovc xvid -xvidencopts bitrate=-2500000:min_iquant=2:max_iquant=31:min_pquant=2:max_pquant=31:me_quality=6:quant_type=mpeg:max_overflow_improvement=5:max_overflow_degradation=5:qpel:gmc:trellis:nocartoon:chroma_me:chroma_opt:aspect=1.78:vhq=1:max_bframes=0 -vf scale=::::::pal,harddup -oac copy -noautosub in.mkv  -out.avi
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: MKV в AVI

Сообщение sspphheerraa »

То что хочет автор, и то что почему-то никто не берет во внимание:

1. Исходная матреха содержит дорогу сабов - ее в avi засунуть не получится по определению. Следовательно, сабы надо извлечь отдельно
К сожалению, формат сабов не определен (эх, я не зря попросил вывод именно 'mplayer file.mkv' т.е. без всяких опций)
QUOTE писал(а):[lavf] stream 3: subtitle (unknown), -sid 0, -slang rus, Russian Subs

но суть дела это не меняет. Cкорее всего там SubRip (srt).
Если субтитры нужны, извлечь их можно с помощью mkvtoolnix, комманда примерно такая (вместо 'UTF-8' поставьте нужную кодировку):

Код: Выделить всё

mkvextract tracks "a file.mkv" -c UTF-8 3:subs.srt


2. В исходной матрехе две звуковые дороги. Mencoder на выходе умеет делать только одну, следовательно про него можно сразу забыть, а использовать ffmpeg ;)
Команда примерно такая:

Код: Выделить всё

ffmpeg -i file.mkv -vcodec mpeg4 -qscale 3 -vf "scale=1280:720","crop=100:100:0:0" -acodec copy -map 0:0 -map 0:1 -map 0:2 file.avi -acodec copy -newaudio -vtag xvid

Подберите необходимые значения crop и scale (если они нужны). В данном случае используется показатель quatizer'а вместо битрейта. Подберите значение qscale под необходимый размер выходного видео. Допускаемые значения 1-31. Чем больше цифра, тем хуже качество.
Кодировать в несколько проходов имеет смысл ТОЛЬКО когда надо четко уложиться в определенный размер итогового файла и получить максимальное качество для ДАННОГО размера. Это полезно напр., чтоб на болванку записать под завязку. Если такой цели нет, то лучше использовать показатель quatizer'а.
(www.doom9.org)
Sspphheerraa
Спасибо сказали:
Аватара пользователя
Rodegast
Сообщения: 337
ОС: Linux

Re: MKV в AVI

Сообщение Rodegast »

>оооу.. а это где

Вот отрывок из руководства:
Использование -oac copy для копирования из одного формата в другой может потребовать указания -fafmttag для сохранения тэга аудио формата из оригинального файла. Например, если вы преобразовываете NSV файл со звуком AAC в формат AVI, аудио формат будет неверен и должен быть изменен. Чтобы получить список тэгов аудио формата проверьте codecs.conf.
Пример:
mencoder input.nsv -oac copy -fafmttag 0x706D -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -o output.avi

Чему должен быть равен fafmttag в вашем случае можно посмотреть через MediaInfo. Но я бы всё таки пережал звук:
-oac lavc -lavcopts acodec=ac3:abitrate=320
Спасибо сказали:
Аватара пользователя
Rodegast
Сообщения: 337
ОС: Linux

Re: MKV в AVI

Сообщение Rodegast »

Насколько я понял сабы вообще не нужны и дорожка должна быть только одна (по умолчанию будет первая дорожка, но её можно выбрать при помощи -aid).
Спасибо сказали:
Аватара пользователя
unax
Сообщения: 275
ОС: Linux

Re: MKV в AVI

Сообщение unax »

sspphheerraa писал(а):
16.07.2010 22:57

Код: Выделить всё

ffmpeg -i file.mkv -vcodec mpeg4 -qscale 3 -vf "scale=1280:720","crop=100:100:0:0" -acodec copy -map 0:0 -map 0:1 -map 0:2 file.avi -acodec copy -newaudio -vtag xvid

Что то ругается на команду, ffmpeg не узнает опцию "Unrecognized option 'vf' " в help поискал... что то нет такой опции.
И субтитры я правда хочу убрать вообще..
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: MKV в AVI

Сообщение sspphheerraa »

unax писал(а):
17.07.2010 09:59
sspphheerraa писал(а):
16.07.2010 22:57

Код: Выделить всё

ffmpeg -i file.mkv -vcodec mpeg4 -qscale 3 -vf "scale=1280:720","crop=100:100:0:0" -acodec copy -map 0:0 -map 0:1 -map 0:2 file.avi -acodec copy -newaudio -vtag xvid

Что то ругается на команду, ffmpeg не узнает опцию "Unrecognized option 'vf' " в help поискал... что то нет такой опции.
И субтитры я правда хочу убрать вообще..

упс, это мне вчера надо было идти спать...
спутал, -vf ключ менкодера
Вот так правильнее

Код: Выделить всё

ffmpeg -i file.mkv -vcodec mpeg4 -qscale 3 -s 1280x720 -croptop 100 -cropbottom 100 -cropleft 5 -cropright 5 -acodec copy -map 0:0 -map 0:1 -map 0:2 file.avi -acodec copy -newaudio -vtag xvid
Sspphheerraa
Спасибо сказали:
Аватара пользователя
unax
Сообщения: 275
ОС: Linux

Re: MKV в AVI

Сообщение unax »

Я поставил QEVEN, попробовал им, первые минуты нормально, а потом дергаться начинает!
Поставил DivX Converter version 2.0! и вот какую команду оно вывалило в консоль:

Код: Выделить всё

mencoder ./in.mkv -ffourcc DX50 -vf softskip,scale=1280:720, -aspect 16:9 -ovc lavc -lavcopts vcodec=mpeg4:acodec=libmp3lame:threads=2:vmax_b_frames=0:vme=4:mbd=1:v4mv:lumi_mask=0.05:dark_mask=0.01:precmp=0:cmp=0:subcmp=0:dia=1:last_pred=0:preme=0:qns=0:vlelim=-4:vcelim=9:autoaspect -oac mp3lame -lameopts cbr:br=320 -srate 48000 -passlogfile ./.DivXConverter.log -o ./out.avi

Самое интересное, что дерганья нет! Субтитры остались (что не так приятно) но вот видео не очень качественное получается. Но уже лучше =)
Сейчас буду пробовать то, что уважаемый sspphheerraa рекомендует.
Спасибо сказали:
Аватара пользователя
unax
Сообщения: 275
ОС: Linux

Re: MKV в AVI

Сообщение unax »

sspphheerraa писал(а):
17.07.2010 12:18

Код: Выделить всё

ffmpeg -i file.mkv -vcodec mpeg4 -qscale 3 -s 1280x720 -croptop 100 -cropbottom 100 -cropleft 5 -cropright 5 -acodec copy -map 0:0 -map 0:1 -map 0:2 file.avi -acodec copy -newaudio -vtag xvid

Ой обматерил меня красными буквами почему то.
Metadata:
ISFT : Lavf52.64.2
Stream #0.0(eng): Video: mpeg4, yuv420p, 1270x520 [PAR 115:158 DAR 14605:8216], q=2-31, 200 kb/s, 23.98 tbn, 23.98 tbc
Metadata:
title : file
Stream #0.1(rus): Audio: ac3, 48000 Hz, 5.1, 448 kb/s
Metadata:
title : AC3 6ch 448 kb/s
Stream #0.2(rus): Audio: 0x2001, 48000 Hz, 6 channels
Metadata:
title : DTS 768 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Stream #0.2 -> #0.2
Press [q] to stop encoding
[avi @ 0x1f8e830]st:2 error, non monotone timestamps 4080 >= 4080
av_interleaved_write_frame(): Operation not permitted

Не понравилось что-то в звуковой дорожке что ли.
Спасибо сказали:
Аватара пользователя
Rodegast
Сообщения: 337
ОС: Linux

Re: MKV в AVI

Сообщение Rodegast »

>Самое интересное, что дерганья нет!

Дёрганья нет потому что звук кодируется через лейм. Что бы его не было при копировании отключи автосинхронизацию (-mc 0).
Спасибо сказали:
Аватара пользователя
unax
Сообщения: 275
ОС: Linux

Re: MKV в AVI

Сообщение unax »

Rodegast писал(а):
17.07.2010 13:01
Дёрганья нет потому что звук кодируется через лейм. Что бы его не было при копировании отключи автосинхронизацию (-mc 0).

Да в принципе и пусть перекодируется, звуковая дорожка меньше станет. Или это плохо в mp3lame переводить звук?
Сейчас я качество сделал качество по-лучше, и все таки XVID сделал, как субтитры отрезать так и не пойму.
Вот такая команда получилась:

Код: Выделить всё

mencoder ./in.mkv -ffourcc XVID -vf softskip,scale=1280:720, -aspect 16:9 -ovc lavc -lavcopts vcodec=libxvid:acodec=libmp3lame:vbitrate=1200:threads=2:vmax_b_frames=0:vme=4:mbd=1:v4mv:lumi_mask=0.05:dark_mask=0.01:precmp=0:cmp=0:subcmp=0:dia=1:last_pred=0:preme=0:qns=0:vlelim=-4:vcelim=9:autoaspect -oac mp3lame -lameopts cbr:br=320 -srate 48000 -passlogfile ./DivXConverter.log -o ./out.avi
Спасибо сказали:
Аватара пользователя
Rodegast
Сообщения: 337
ОС: Linux

Re: MKV в AVI

Сообщение Rodegast »

Лучше использовать нормальный XVID (DivX Converter может юзать только lavc и по этому он использует libxvid), acodec=libmp3lame можно не указывать он ни на что не повлияет. И разрешение нужно уменьшить, если этого не сделать или размер будет большой или качество убитое.
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: MKV в AVI

Сообщение sspphheerraa »

unax писал(а):
17.07.2010 12:48
Ой обматерил меня красными буквами почему то.
* * *
Не понравилось что-то в звуковой дорожке что ли.

чего не показываете итоговую комманду и полный вывод ffmpeg?
Какая версия ffmpeg? Флаги сборки? все это ffmpeg пишет :)

Если есть возможность, сделайте сэмпл (отрежьте кусок мег на 50) вашего 30Гб файла.
Делается сємпл так:
QUOTE писал(а):MKVToolnix - открываем mkvmerge GUI, на первой вкладке (Input) жмем кнопку add - открываем нужный файл, переходим во вкладку Global, ставим галочку Enable Splitting, ...after this size - там пишем "50M" (без кавычек). В меню выбираем Muxing -> Start muxing. Ждем пока создастся 5-6 файлов по 50 мб, останавливаем процесс, выбираем понравившийся кусок.

И выложите его куда-нибудь.. (напр. сюда), попробуем побороться с вашим "экземпляром" :)
Sspphheerraa
Спасибо сказали:
Аватара пользователя
unax
Сообщения: 275
ОС: Linux

Re: MKV в AVI

Сообщение unax »

Rodegast писал(а):
17.07.2010 13:28
Лучше использовать нормальный XVID (DivX Converter может юзать только lavc и по этому он использует libxvid), acodec=libmp3lame можно не указывать он ни на что не повлияет. И разрешение нужно уменьшить, если этого не сделать или размер будет большой или качество убитое.

Вы знаете, зато получился файл с вполне приличным качеством всего 2,2 гб! Попробовал, сделать нормальный xvid, как вы советуете, звук есть... также лаймом пережимаю, и что интересно нет мельканий традиционных. Вот команда:

mencoder ./in.mkv -ffourcc XVID -vf softskip,scale=1280:720, -aspect 16:9 -ovc xvid -xvidencopts bitrate=1500:min_iquant=2:max_iquant=31:min_pquant=2:max_pquant=31:me_quality=6:
quant_type=mpeg:max_overflow_improvement=5:max_overflow_degradation=5:qpel:gmc:tr
ellis:nocartoon:chroma_me:chroma_opt:aspect=1.78:vhq=1:max_bframes=0 -oac mp3lame -lameopts cbr:br=320 -srate 48000 -passlogfile ./log.txt -o ./out.avi

однако, если bitrate=-3000000 сделать то появляются эти "мелькания"!

sspphheerraa писал(а):
17.07.2010 14:08
чего не показываете итоговую комманду и полный вывод ffmpeg?
Какая версия ffmpeg? Флаги сборки? все это ffmpeg пишет :)

Вот что я ему писал:

Код: Выделить всё

ffmpeg -i ./in.mkv -vcodec mpeg4 -qscale 3 -s 1280x720 -croptop 100 -cropbottom 100 -cropleft 5 -cropright 5 -acodec copy -map 0:0 -map 0:1 -map 0:2 ./1.avi -acodec copy -newaudio -vtag xvid

и вот что ответил:
FFmpeg version 0.6, Copyright © 2000-2010 the FFmpeg developers
built on Jun 29 2010 23:26:25 with gcc 4.4.4
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-debug --disable-network --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx264 --enable-libxvid --enable-libfaac --enable-nonfree --enable-libdc1394 --disable-indev=oss --disable-indev=jack --disable-outdev=oss --enable-x11grab --enable-pthreads --enable-libfaad --enable-libspeex --enable-libvpx --enable-libopenjpeg --disable-vdpau --disable-altivec --enable-pic --cpu=k8 --enable-gpl --enable-version3 --enable-postproc --enable-avfilter --enable-avfilter-lavf --disable-stripping --enable-hardcoded-tables --disable-doc
libavutil 50.15. 1 / 50.15. 1
libavcodec 52.72. 2 / 52.72. 2
libavformat 52.64. 2 / 52.64. 2
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.19. 0 / 1.19. 0
libswscale 0.11. 0 / 0.11. 0
libpostproc 51. 2. 0 / 51. 2. 0
[matroska @ 0x1e92420]Estimating duration from bitrate, this may be inaccurate
Input #0, matroska, from './in.mkv':
Metadata:
doctype : matroska
Duration: 03:28:19.08, start: 0.000000, bitrate: 17448 kb/s
Stream #0.0(eng): Video: mpeg2video, yuv420p, 1920x1088 [PAR 136:135 DAR 16:9], 17000 kb/s, PAR 138:137 DAR 4140:2329, 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc
Metadata:
title : kino
Stream #0.1(rus): Audio: ac3, 48000 Hz, 5.1, s16, 448 kb/s
Metadata:
title : AC3 6ch 448 kb/s
Stream #0.2(rus): Audio: dca, 48000 Hz, 6 channels, s16
Metadata:
title : DTS 768 kb/s
Stream #0.3(rus): Subtitle: 0x0000
Metadata:
title : Russian Subs
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Stream #0.2 -> #0.2
Press [q] to stop encoding
[avi @ 0x1f8e830]st:2 error, non monotone timestamps 4080 >= 4080
av_interleaved_write_frame(): Operation not permitted


что касается ffmpeg, вот что тут...

Код: Выделить всё

[ebuild   R   ] media-video/ffmpeg-0.6  USE="3dnow 3dnowext X alsa encode faac faad hardcoded-tables ieee1394 jpeg2k mmx mmxext mp3 pic sdl speex ssse3 theora threads v4l v4l2 vaapi vdpau vorbis vpx x264 xvid zlib (-altivec) -amr -bindist -cpudetection -custom-cflags -debug -dirac -doc -gsm -jack -network -oss -rtmp -schroedinger -test" VIDEO_CARDS="-nvidia"


sspphheerraa писал(а):
17.07.2010 14:08
Если есть возможность, сделайте сэмпл (отрежьте кусок мег на 50) вашего 30Гб файла. попробуем побороться с вашим "экземпляром" :)

Да пока, вроде получается же что-то) Вы мне тут и так очень хорошо помогаете! За что огромная благодарность всем.
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: MKV в AVI

Сообщение sspphheerraa »

QUOTE писал(а):>>> Вот что я ему писал:
* * *
>>> и вот что ответил:
* * *

похоже на баг :(
как вариант, можно попробовать пережать DTS в AC3, немного уменьшив битрейт,

Код: Выделить всё

ffmpeg -i ./in.mkv -vcodec mpeg4 -croptop 100 -cropbottom 100 -cropleft 5 -cropright 5 -s 1280x720 -qscale 3 -acodec copy -map 0:0 -map 0:1 -map 0:2 ./1.avi -acodec ac3 -ab 640k -newaudio -vtag xvid

К стати, '-croptop 100 -cropbottom 100 -cropleft 5 -cropright 5' - это опции обрезания соответственно сверху, снизу, слева, справа. Подставляйте свои цифры, я всего лишь пример дал :)
А определить можно так:

Код: Выделить всё

mplayer file.mkv -vf cropdetect

и в выводе будет показываться сколько надо отрезать с каждой стороны (и надо ли вообще)
Sspphheerraa
Спасибо сказали: