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

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

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

Аватара пользователя
Rodegast
Сообщения: 337
ОС: Linux
Контактная информация:

Re: MKV в AVI

Сообщение Rodegast »

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

Тогда это уже баг Xvid-а.

Уберите из команды -aspect 16:9, он уже задан в параметрах кодека aspect=1.78. Если будите кодировать этим скриптом другие фильмы, то замените его на autoaspect.
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: MKV в AVI

Сообщение sspphheerraa »

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

а что битрейт можно отрицательный задавать?
Sspphheerraa
Спасибо сказали:
Аватара пользователя
Rodegast
Сообщения: 337
ОС: Linux
Контактная информация:

Re: MKV в AVI

Сообщение Rodegast »

У Xvid-а можно :)

bitrate=<значение>
Устанавливает используемый битпоток в кбит/секунду, если <16000 или в битах/секунду, если >16000. Если <значение> отрицательно, Xvid будет использовать его абсолютное значение в качестве размера выходного видео файла (в килобайтах) и вычислит соответствующий битпоток автоматически
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: MKV в AVI

Сообщение sspphheerraa »

Rodegast писал(а):
18.07.2010 16:56
У Xvid-а можно :)

не знал :cool:

К стати,
Rodegast писал(а):
18.07.2010 14:06
> однако, если bitrate=-3000000 сделать то появляются эти "мелькания"!

Тогда это уже баг Xvid-а.

попробуйте отменить многопоточность
Sspphheerraa
Спасибо сказали:
Аватара пользователя
unax
Сообщения: 275
ОС: Linux

Re: MKV в AVI

Сообщение unax »

хотел уже порадоваться.. а нет! последний файл не получается перекодировать :(
в нем видео как-будто ускорено а звук идет как должен быть. Некоторое время процесс кодировки идет а потом вылетает.

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

**********
 повторяющийся(хся) кадр(а/ов)!
Pos: 101.8s   5547f ( 1%)  2.81fps Trem:2137min 1670mb  A-V:-0.034 [1761:320]
1 повторяющийся(хся) кадр(а/ов)!
Pos: 102.0s   5557f ( 1%)  2.81fps Trem:2140min 1673mb  A-V:-0.034 [1760:320]
1 повторяющийся(хся) кадр(а/ов)!
Pos: 102.2s   5567f ( 1%)  2.80fps Trem:2140min 1673mb  A-V:-0.034 [1763:320]
1 повторяющийся(хся) кадр(а/ов)!
Pos: 102.3s   5577f ( 1%)  2.80fps Trem:2141min 1671mb  A-V:-0.034 [1763:320]
1 повторяющийся(хся) кадр(а/ов)!
Pos: 102.5s   5587f ( 1%)  2.79fps Trem:2149min 1674mb  A-V:-0.034 [1763:320]
1 повторяющийся(хся) кадр(а/ов)!
Pos: 102.7s   5597f ( 1%)  2.79fps Trem:2149min 1672mb  A-V:-0.034 [1763:320]
1 повторяющийся(хся) кадр(а/ов)!
Pos: 102.9s   5607f ( 1%)  2.79fps Trem:2154min 1675mb  A-V:-0.034 [1763:320]
1 повторяющийся(хся) кадр(а/ов)!
Pos: 103.1s   5617f ( 1%)  2.79fps Trem:2154min 1674mb  A-V:-0.034 [1764:320]
1 повторяющийся(хся) кадр(а/ов)!
Pos: 103.3s   5627f ( 1%)  2.78fps Trem:2153min 1673mb  A-V:-0.034 [1765:320]
1 повторяющийся(хся) кадр(а/ов)!
Pos: 103.4s   5635f ( 1%)  2.78fps Trem:2158min 1675mb  A-V:-0.031 [1765:320]
Слишком много (4096 в 7340032 байтах) аудиопакетов в буфере!
Возможно Вы проигрываете 'неслоёный' поток/файл или неудачный кодек?
Для AVI файлов попробуйте форсировать 'неслоёный' режим опцией -ni.

Сброс видео кадров.
Запись индекса...
Запись заголовка...
ODML: vprp aspect is 16:9.

Поток видео: 1765.745 кбит/с  (220718 Б/с)  размер: 22824527 байт(а/ов)  103.410 сек.  5635 кадр(а/ов)

Поток аудио:  320.000 кбит/с  (40000 Б/с)  размер: 4156800 байт(а/ов)  103.920 сек.


о файле:
mplayer -vo sdl file.mkv

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

MPlayer SVN-r30554-4.4.4 (C) 2000-2010 MPlayer Team

[matroska @ 0x3068700]Estimating duration from bitrate, this may be inaccurate
[lavf] stream 0: video (mpeg2video), -vid 0, name
[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]  1920x1080  0bpp  59.917 fps  17500.0 kbps (2136.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] 1920x1080 => 1920x1080 Planar YV12
A:   3.1 V:   3.1 A-V:  0.000 ct:  0.047   0/  0 30% 40%  1.4% 11 0
Выходим... (Выход)


Опцию -ni я подставлял.. но может не туда куда надо.
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: MKV в AVI

Сообщение sspphheerraa »

-ni работает только для avi
сделайте сэмпл, - время съкономим
Sspphheerraa
Спасибо сказали:
Аватара пользователя
unax
Сообщения: 275
ОС: Linux

Re: MKV в AVI

Сообщение unax »

Попробовал с помощью ffmpeg... следую указаниям товарища sspphheerraa, Получился файл 11,4 гб и без звука. Зато изображение не идет ускорено и хорошего качества (еще бы). Как вот сделать поменьше битрэйт и самое главное-звук проявить..
Касательно нынешних параметров аудикокодирования -acodec ac3 -ab 640k -newaudio -vtag xvid
Вывод:

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

Seems stream 0 codec frame rate differs from container frame rate: 59.94 (60000/1001) -> 59.92 (719/12)
Input #0, matroska, from './in.mkv':
  Metadata:
    doctype         : matroska
  Duration: 04:12:27.01, start: 0.000000, bitrate: 17948 kb/s
    Stream #0.0(eng): Video: mpeg2video, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 17500 kb/s, 29.97 fps, 59.92 tbr, 1k tbn, 59.94 tbc
    Metadata:
      title           : name
    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
[ac3 @ 0x1de1db0]No channel layout specified. The encoder will guess the layout, but it might be incorrect.
Output #0, avi, to './out.avi':
  Metadata:
    ISFT            : Lavf52.64.2
    Stream #0.0(eng): Video: mpeg4, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 59.92 tbn, 59.92 tbc
    Metadata:
      title           : name
    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: ac3, 48000 Hz, 5.1, s16, 640 kb/s
    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
[mpeg2video @ 0x16fcff0]ac-tex damaged at 21 581929.10 bitrate=5866.7kbits/s
[mpeg2video @ 0x16fcff0]Warning MVs not available
[mpeg2video @ 0x16fcff0]concealing 1200 DC, 1200 AC, 1200 MV errors
[mpeg2video @ 0x16fcff0]invalid cbp at 47 54me=3852.35 bitrate=5740.9kbits/s
[mpeg2video @ 0x16fcff0]Warning MVs not available
[mpeg2video @ 0x16fcff0]concealing 1680 DC, 1680 AC, 1680 MV errors
[mpeg2video @ 0x16fcff0]ac-tex damaged at 21 67=5781.78 bitrate=6047.0kbits/s
[mpeg2video @ 0x16fcff0]Warning MVs not available
[mpeg2video @ 0x16fcff0]concealing 120 DC, 120 AC, 120 MV errors
[mpeg2video @ 0x16fcff0]ac-tex damaged at 30 34=7711.38 bitrate=6225.7kbits/s
[mpeg2video @ 0x16fcff0]concealing 4080 DC, 4080 AC, 4080 MV errors
[mpeg2video @ 0x16fcff0]ac-tex damaged at 97 49=9640.84 bitrate=6379.2kbits/s
[mpeg2video @ 0x16fcff0]concealing 2280 DC, 2280 AC, 2280 MV errors
[mpeg2video @ 0x16fcff0]end mismatch left=922 1C7DAD1.20 bitrate=6408.8kbits/s
[mpeg2video @ 0x16fcff0]concealing 0 DC, 0 AC, 0 MV errors
[mpeg2video @ 0x16fcff0]concealing 1087 DC, 1087 AC, 1087 MV errors08.7kbits/s
[mpeg2video @ 0x16fcff0]end mismatch left=450 56F0136.89 bitrate=6397.9kbits/s
[mpeg2video @ 0x16fcff0]concealing 0 DC, 0 AC, 0 MV errors
[mpeg2video @ 0x16fcff0]qscale == 044863kB time=11837.39 bitrate=6397.9kbits/s
[mpeg2video @ 0x16fcff0]concealing 600 DC, 600 AC, 600 MV errors
[mpeg2video @ 0x16fcff0]00 motion_type at 44 35=12906.98 bitrate=6449.7kbits/s
[mpeg2video @ 0x16fcff0]concealing 120 DC, 120 AC, 120 MV errors
[mpeg2video @ 0x16fcff0]invalid cbp at 85 56ime=13499.18 bitrate=6438.4kbits/s
[mpeg2video @ 0x16fcff0]concealing 1404 DC, 1404 AC, 1404 MV errors
frame=363250 fps= 25 q=3.0 Lsize=11949179kB time=15146.87 bitrate=6462.6kbits/s
video:9905785kB audio:2011709kB global headers:0kB muxing overhead 0.265871%

Спасибо сказали:
Аватара пользователя
Rodegast
Сообщения: 337
ОС: Linux
Контактная информация:

Re: MKV в AVI

Сообщение Rodegast »

> Слишком много (4096 в 7340032 байтах) аудиопакетов в буфере!

Проверьте не используется ли опция -noskip, попробуйте удалить softskip и покажите команду которой кодируйте.
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: MKV в AVI

Сообщение sspphheerraa »

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

[mpeg2video @ 0x16fcff0]ac-tex damaged at 21 581929.10 bitrate=5866.7kbits/s

Не нравится ас-тег, попробуйте его принудительно указать:

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

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 -alang rus -newaudio -atag ac3 -vtag xvid
Sspphheerraa
Спасибо сказали:
Аватара пользователя
unax
Сообщения: 275
ОС: Linux

Re: MKV в AVI

Сообщение unax »

Такая же ерунда. А может перекодировать звук в что нибудь? в мп3..
Так как задать битрэйт не совсем понятно...
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: MKV в AVI

Сообщение sspphheerraa »

дайте сэмпл
Sspphheerraa
Спасибо сказали:
Аватара пользователя
Rodegast
Сообщения: 337
ОС: Linux
Контактная информация:

Re: MKV в AVI

Сообщение Rodegast »

> Так как задать битрэйт не совсем понятно...

-oac mp3lame -lameopts cbr:br=128

> дайте сэмпл

Присоединяюсь, так всем будет проще.
Спасибо сказали:
Аватара пользователя
unax
Сообщения: 275
ОС: Linux

Re: MKV в AVI

Сообщение unax »

Я вроде добился чего хотел, но весьма извращенным способом :rolleyes:
1) сначала, как товарищ sspphheerraa рекомендовал командой:

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

ffmpeg -i ./in.mkv -vcodec mpeg4 -s 1280x720 -qscale 3 -acodec copy -map 0:0 -map 0:1 -map 0:2 ./tmp.avi -acodec ac3 -ab 640k -alang rus -newaudio -atag ac3 -vtag xvid

получаем файл с видео хорошего качества, без субтитров (что немаловажно) но без звука :( как не пытался я звук чтоб перекодировался, не получилось.
2) затем из исходного файла вырезаем обе звуковые дорожки

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

ffmpeg -i in.mkv -vn -ac 2 -map 0:1 in1.wav  && ffmpeg -i in.mkv -vn -ac 2 -map 0:2 in2.wav

3) склеиваем их в одну:

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

sox in1.wav in2.wav audio_stream.wav

вот насчет склеивания не уверен, хорош ли такой способ..
4) ну и уже mencoder-ом привожу все в желаемый вид - еще ужимаю видео и добавляю звуковую дорожку перекодировав ее в mp3

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

mencoder tmp.avi -ffourcc XVID -ni -vf softskip,scale=1280:720, -aspect 16:9 -ovc xvid -xvidencopts bitrate=1800: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 -audiofile  audio_stream.wav -oac mp3lame -lameopts cbr:br=320 -srate 48000 -o result.avi

вот так по дурацки))

И еще у меня вопрос.. по первому этапу. Из команды убрать бы то что касается попыток звук преобразовать, чтоб ffmpeg только видео и пережал. Сам попробовал пару раз, он поругался.. не получилось вообщем. Можно же такое сделать?
Спасибо сказали:
Аватара пользователя
unax
Сообщения: 275
ОС: Linux

Re: MKV в AVI

Сообщение unax »

Rodegast писал(а):
26.07.2010 17:33
> Так как задать битрэйт не совсем понятно...
-oac mp3lame -lameopts cbr:br=128

я про видео говорил в том способе перекодирования с применением ffmpeg.
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: MKV в AVI

Сообщение sspphheerraa »

QUOTE писал(а):И еще у меня вопрос.. по первому этапу. Из команды убрать бы то что касается попыток звук преобразовать, чтоб ffmpeg только видео и пережал. Сам попробовал пару раз, он поругался.. не получилось вообщем. Можно же такое сделать?

Если только видео, то все просто:

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

ffmpeg -i ./in.mkv -vcodec mpeg4 -s 1280x720 -qscale 3 -an ./tmp.avi -vtag xvid

но с ac3 дорогой рискуете получить рассинхрон

QUOTE писал(а):2) затем из исходного файла вырезаем обе звуковые дорожки

:huh: вы их в PCM@WAV разжимаете? а потом клеете одну в конец другой?

зы Звуковые дороги извлекайте с помощью mkvextract
Sspphheerraa
Спасибо сказали:
Аватара пользователя
unax
Сообщения: 275
ОС: Linux

Re: MKV в AVI

Сообщение unax »

Попробую, спасибо)
sspphheerraa писал(а):
27.07.2010 23:35
:huh: вы их в PCM@WAV разжимаете? а потом клеете одну в конец другой?

зы Звуковые дороги извлекайте с помощью mkvextract

Получаю один большой wav файл он потом перекодируется mencoder-ом..
каюсь... это я протупил насчет склеивания. Думал что эти дорошки это просто хитро разделенный звук по каналам да по диапазонам. А оказалось что там дорожки с двумя разными переводами О_О, поэтому беру себе одну дорожку и все.
sspphheerraa писал(а):
27.07.2010 23:35
зы Звуковые дороги извлекайте с помощью mkvextract

а чем этот вариант замечателен?
Спасибо сказали:
Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: MKV в AVI

Сообщение sspphheerraa »

unax писал(а):
28.07.2010 07:02
sspphheerraa писал(а):
27.07.2010 23:35
зы Звуковые дороги извлекайте с помощью mkvextract

а чем этот вариант замечателен?

Простотой, т.к. делается все одной коммандой:

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

mkvextract tracks "a in.mkv" 2:audio.ac3 3:audio.dts -c UTF-8 4:subs.srt
Sspphheerraa
Спасибо сказали:
Аватара пользователя
unax
Сообщения: 275
ОС: Linux

Re: MKV в AVI

Сообщение unax »

sspphheerraa писал(а):
27.07.2010 23:35
Если только видео, то все просто:

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

ffmpeg -i ./in.mkv -vcodec mpeg4 -s 1280x720 -qscale 3 -an ./tmp.avi -vtag xvid

а можно как-либо битрейт ограничить при кодировании таким способом?
Спасибо сказали:
Ответить