Продолжительность аудио и видео не совпадают (Mencoder, DVD2H264 и странная аудиодорожка)

Вопросы, приемы и проблемы обработки видео

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

Аватара пользователя
Mifodix
Сообщения: 373
ОС: Fedora 17 x86_64

Продолжительность аудио и видео не совпадают

Сообщение Mifodix »

Здравствуйте!
Конвертирую DVD в h.264 с помощью mencoder, x264. Вот что говорит mediainfo о исходнике:

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

General
Complete name                    : /media/Data/video/1978-04-22_Peace_Concert,_Kingston,_Jamaica_National_Heroes_Stadium_(DVD_5_x_2)/DVD_1/VIDEO_TS/VTS_01_1.VOB
Format                           : MPEG-PS
File size                        : 1 024 MiB
Duration                         : 20mn 9s
Overall bit rate                 : 7 103 Kbps

Video
ID                               : 224 (0xE0)
Format                           : MPEG Video
Format version                   : Version 2
Format profile                   : Main@Main
Format settings, BVOP            : Yes
Format settings, Matrix          : Default
Format settings, GOP             : M=3, N=13
Duration                         : 20mn 9s
Bit rate mode                    : Constant
Bit rate                         : 6 300 Kbps
Width                            : 720 pixels
Height                           : 576 pixels
Display aspect ratio             : 2.35:1
Frame rate                       : 25.000 fps
Standard                         : PAL
Color space                      : YUV
Chroma subsampling               : 4:2:0
Bit depth                        : 8 bits
Scan type                        : Interlaced
Scan order                       : Top Field First
Bits/(Pixel*Frame)               : 0.608
Stream size                      : 907 MiB (89%)

Audio #1
ID                               : 128 (0x80)
Format                           : AC-3
Format/Info                      : Audio Coding 3
Mode extension                   : CM (complete main)
Duration                         : 20mn 9s
Bit rate mode                    : Constant
Bit rate                         : 224 Kbps
Channel(s)                       : 2 channels
Channel positions                : Front: L R
Sampling rate                    : 48.0 KHz
Bit depth                        : 16 bits
Stream size                      : 32.3 MiB (3%)

Audio #2
ID                               : 129 (0x81)
Format                           : AC-3
Format/Info                      : Audio Coding 3
Mode extension                   : CM (complete main)
Duration                         : 20mn 8s
Bit rate mode                    : Constant
Bit rate                         : 448 Kbps
Channel(s)                       : 6 channels
Channel positions                : Front: L C R, Side: L R, LFE
Sampling rate                    : 48.0 KHz
Bit depth                        : 16 bits
Stream size                      : 64.6 MiB (6%)

Menu

General
Complete name                    : /media/Data/video/1978-04-22_Peace_Concert,_Kingston,_Jamaica_National_Heroes_Stadium_(DVD_5_x_2)/DVD_1/VIDEO_TS/VTS_01_2.VOB
Format                           : MPEG-PS
File size                        : 1 024 MiB
Duration                         : 20mn 9s
Overall bit rate                 : 7 102 Kbps

Video
ID                               : 224 (0xE0)
Format                           : MPEG Video
Format version                   : Version 2
Format profile                   : Main@Main
Format settings, BVOP            : Yes
Format settings, Matrix          : Default
Format settings, GOP             : M=3, N=13
Duration                         : 20mn 9s
Bit rate mode                    : Constant
Bit rate                         : 6 300 Kbps
Width                            : 720 pixels
Height                           : 576 pixels
Display aspect ratio             : 2.35:1
Frame rate                       : 25.000 fps
Standard                         : PAL
Color space                      : YUV
Chroma subsampling               : 4:2:0
Bit depth                        : 8 bits
Scan type                        : Interlaced
Scan order                       : Top Field First
Bits/(Pixel*Frame)               : 0.608
Stream size                      : 907 MiB (89%)

Audio #1
ID                               : 128 (0x80)
Format                           : AC-3
Format/Info                      : Audio Coding 3
Mode extension                   : CM (complete main)
Duration                         : 20mn 9s
Bit rate mode                    : Constant
Bit rate                         : 224 Kbps
Channel(s)                       : 2 channels
Channel positions                : Front: L R
Sampling rate                    : 48.0 KHz
Bit depth                        : 16 bits
Video delay                      : -280ms
Stream size                      : 32.3 MiB (3%)

Audio #2
ID                               : 129 (0x81)
Format                           : AC-3
Format/Info                      : Audio Coding 3
Mode extension                   : CM (complete main)
Duration                         : 20mn 9s
Bit rate mode                    : Constant
Bit rate                         : 448 Kbps
Channel(s)                       : 6 channels
Channel positions                : Front: L C R, Side: L R, LFE
Sampling rate                    : 48.0 KHz
Bit depth                        : 16 bits
Video delay                      : -376ms
Stream size                      : 64.6 MiB (6%)

Menu

General
Complete name                    : /media/Data/video/1978-04-22_Peace_Concert,_Kingston,_Jamaica_National_Heroes_Stadium_(DVD_5_x_2)/DVD_1/VIDEO_TS/VTS_01_4.VOB
Format                           : MPEG-PS
File size                        : 1 024 MiB
Duration                         : 20mn 9s
Overall bit rate                 : 7 103 Kbps

Video
ID                               : 224 (0xE0)
Format                           : MPEG Video
Format version                   : Version 2
Format profile                   : Main@Main
Format settings, BVOP            : Yes
Format settings, Matrix          : Default
Format settings, GOP             : M=3, N=13
Duration                         : 20mn 9s
Bit rate mode                    : Constant
Bit rate                         : 6 300 Kbps
Width                            : 720 pixels
Height                           : 576 pixels
Display aspect ratio             : 2.35:1
Frame rate                       : 25.000 fps
Standard                         : PAL
Color space                      : YUV
Chroma subsampling               : 4:2:0
Bit depth                        : 8 bits
Scan type                        : Interlaced
Scan order                       : Top Field First
Bits/(Pixel*Frame)               : 0.608
Stream size                      : 906 MiB (89%)

Audio #1
ID                               : 128 (0x80)
Format                           : AC-3
Format/Info                      : Audio Coding 3
Mode extension                   : CM (complete main)
Duration                         : 20mn 9s
Bit rate mode                    : Constant
Bit rate                         : 224 Kbps
Channel(s)                       : 2 channels
Channel positions                : Front: L R
Sampling rate                    : 48.0 KHz
Bit depth                        : 16 bits
Video delay                      : -608ms
Stream size                      : 32.3 MiB (3%)

Audio #2
ID                               : 129 (0x81)
Format                           : AC-3
Format/Info                      : Audio Coding 3
Mode extension                   : CM (complete main)
Duration                         : 20mn 9s
Bit rate mode                    : Constant
Bit rate                         : 448 Kbps
Channel(s)                       : 6 channels
Channel positions                : Front: L C R, Side: L R, LFE
Sampling rate                    : 48.0 KHz
Bit depth                        : 16 bits
Video delay                      : -640ms
Stream size                      : 64.6 MiB (6%)

Menu

General
Complete name                    : /media/Data/video/1978-04-22_Peace_Concert,_Kingston,_Jamaica_National_Heroes_Stadium_(DVD_5_x_2)/DVD_1/VIDEO_TS/VTS_01_3.VOB
Format                           : MPEG-PS
File size                        : 1 024 MiB
Duration                         : 20mn 9s
Overall bit rate                 : 7 103 Kbps

Video
ID                               : 224 (0xE0)
Format                           : MPEG Video
Format version                   : Version 2
Format profile                   : Main@Main
Format settings, BVOP            : Yes
Format settings, Matrix          : Default
Format settings, GOP             : M=3, N=13
Duration                         : 20mn 8s
Bit rate mode                    : Constant
Bit rate                         : 6 300 Kbps
Width                            : 720 pixels
Height                           : 576 pixels
Display aspect ratio             : 2.35:1
Frame rate                       : 25.000 fps
Standard                         : PAL
Color space                      : YUV
Chroma subsampling               : 4:2:0
Bit depth                        : 8 bits
Scan type                        : Interlaced
Scan order                       : Top Field First
Bits/(Pixel*Frame)               : 0.608
Stream size                      : 906 MiB (89%)

Audio #1
ID                               : 128 (0x80)
Format                           : AC-3
Format/Info                      : Audio Coding 3
Mode extension                   : CM (complete main)
Duration                         : 20mn 9s
Bit rate mode                    : Constant
Bit rate                         : 224 Kbps
Channel(s)                       : 2 channels
Channel positions                : Front: L R
Sampling rate                    : 48.0 KHz
Bit depth                        : 16 bits
Video delay                      : -640ms
Stream size                      : 32.3 MiB (3%)

Audio #2
ID                               : 129 (0x81)
Format                           : AC-3
Format/Info                      : Audio Coding 3
Mode extension                   : CM (complete main)
Duration                         : 20mn 9s
Bit rate mode                    : Constant
Bit rate                         : 448 Kbps
Channel(s)                       : 6 channels
Channel positions                : Front: L C R, Side: L R, LFE
Sampling rate                    : 48.0 KHz
Bit depth                        : 16 bits
Video delay                      : -704ms
Stream size                      : 64.6 MiB (6%)

Menu

General
Complete name                    : /media/Data/video/1978-04-22_Peace_Concert,_Kingston,_Jamaica_National_Heroes_Stadium_(DVD_5_x_2)/DVD_1/VIDEO_TS/VTS_01_5.VOB
Format                           : MPEG-PS
File size                        : 328 MiB
Duration                         : 6mn 19s
Overall bit rate                 : 7 252 Kbps

Video
ID                               : 224 (0xE0)
Format                           : MPEG Video
Format version                   : Version 2
Format profile                   : Main@Main
Format settings, BVOP            : Yes
Format settings, Matrix          : Default
Format settings, GOP             : M=3, N=13
Duration                         : 6mn 19s
Bit rate mode                    : Constant
Bit rate                         : 6 300 Kbps
Width                            : 720 pixels
Height                           : 576 pixels
Display aspect ratio             : 2.35:1
Frame rate                       : 25.000 fps
Standard                         : PAL
Color space                      : YUV
Chroma subsampling               : 4:2:0
Bit depth                        : 8 bits
Scan type                        : Interlaced
Scan order                       : Top Field First
Bits/(Pixel*Frame)               : 0.608
Stream size                      : 291 MiB (89%)

Audio #1
ID                               : 128 (0x80)
Format                           : AC-3
Format/Info                      : Audio Coding 3
Mode extension                   : CM (complete main)
Duration                         : 6mn 19s
Bit rate mode                    : Constant
Bit rate                         : 224 Kbps
Channel(s)                       : 2 channels
Channel positions                : Front: L R
Sampling rate                    : 48.0 KHz
Bit depth                        : 16 bits
Video delay                      : -512ms
Stream size                      : 10.1 MiB (3%)

Audio #2
ID                               : 129 (0x81)
Format                           : AC-3
Format/Info                      : Audio Coding 3
Mode extension                   : CM (complete main)
Duration                         : 6mn 19s
Bit rate mode                    : Constant
Bit rate                         : 448 Kbps
Channel(s)                       : 6 channels
Channel positions                : Front: L C R, Side: L R, LFE
Sampling rate                    : 48.0 KHz
Bit depth                        : 16 bits
Video delay                      : -544ms
Stream size                      : 20.2 MiB (6%)

Menu

General
Complete name                    : /media/Data/video/1978-04-22_Peace_Concert,_Kingston,_Jamaica_National_Heroes_Stadium_(DVD_5_x_2)/DVD_1/VIDEO_TS/VTS_01_0.BUP
Format                           : DVD Video
Format profile                   : Program
File size                        : 56.0 KiB

Video
ID                               : 224 (0xE0)
Format                           : MPEG Video
Format version                   : Version 2
Bit rate mode                    : Variable
Width                            : 720 pixels
Height                           : 576 pixels
Display aspect ratio             : 16:9
Frame rate                       : 25.000 fps
Standard                         : PAL

Audio #1
ID                               : 128 (0x80)
Format                           : AC-3
Format/Info                      : Audio Coding 3
Channel(s)                       : 2 channels
Sampling rate                    : 48.0 KHz
Language                         : English

Audio #2
ID                               : 129 (0x81)
Format                           : AC-3
Format/Info                      : Audio Coding 3
Channel(s)                       : 6 channels
Sampling rate                    : 48.0 KHz
Language                         : English

Text
ID                               : 32 (0x20)
Format                           : RLE
Format/Info                      : Run-length encoding
Bit depth                        : 2 bits
Language                         : English

Menu
List (Audio)                     : 0 / 1
List (Subtitles 4/3)             : 0
List (Subtitles Wide)            : 0
List (Subtitles Letterbox)       : 0
List (Subtitles Pan&Scan)        : 0

General
Complete name                    : /media/Data/video/1978-04-22_Peace_Concert,_Kingston,_Jamaica_National_Heroes_Stadium_(DVD_5_x_2)/DVD_1/VIDEO_TS/VTS_01_0.IFO
Format                           : DVD Video
Format profile                   : Program
File size                        : 56.0 KiB

Video
ID                               : 224 (0xE0)
Format                           : MPEG Video
Format version                   : Version 2
Bit rate mode                    : Variable
Width                            : 720 pixels
Height                           : 576 pixels
Display aspect ratio             : 16:9
Frame rate                       : 25.000 fps
Standard                         : PAL

Audio #1
ID                               : 128 (0x80)
Format                           : AC-3
Format/Info                      : Audio Coding 3
Channel(s)                       : 2 channels
Sampling rate                    : 48.0 KHz
Language                         : English

Audio #2
ID                               : 129 (0x81)
Format                           : AC-3
Format/Info                      : Audio Coding 3
Channel(s)                       : 6 channels
Sampling rate                    : 48.0 KHz
Language                         : English

Text
ID                               : 32 (0x20)
Format                           : RLE
Format/Info                      : Run-length encoding
Bit depth                        : 2 bits
Language                         : English

Menu
List (Audio)                     : 0 / 1
List (Subtitles 4/3)             : 0
List (Subtitles Wide)            : 0
List (Subtitles Letterbox)       : 0
List (Subtitles Pan&Scan)        : 0

General
Complete name                    : /media/Data/video/1978-04-22_Peace_Concert,_Kingston,_Jamaica_National_Heroes_Stadium_(DVD_5_x_2)/DVD_1/VIDEO_TS/VIDEO_TS.BUP
Format                           : DVD Video
Format profile                   : Menu
File size                        : 6.00 KiB

Video
ID                               : 224 (0xE0)
Format                           : MPEG Video
Format version                   : Version 2
Bit rate mode                    : Variable
Width                            : 720 pixels
Height                           : 576 pixels
Display aspect ratio             : 16:9
Frame rate                       : 25.000 fps
Standard                         : PAL

General
Complete name                    : /media/Data/video/1978-04-22_Peace_Concert,_Kingston,_Jamaica_National_Heroes_Stadium_(DVD_5_x_2)/DVD_1/VIDEO_TS/VIDEO_TS.IFO
Format                           : DVD Video
Format profile                   : Menu
File size                        : 6.00 KiB

Video
ID                               : 224 (0xE0)
Format                           : MPEG Video
Format version                   : Version 2
Bit rate mode                    : Variable
Width                            : 720 pixels
Height                           : 576 pixels
Display aspect ratio             : 16:9
Frame rate                       : 25.000 fps
Standard                         : PAL

Запускаю mencoder в 3 прохода, при этом использую ключ -oac copy, т. е. по идее копирую оригинальную звуковую дорожку (хотя там их две: одна 2-канальная и одна 6-канальная), на выходе получаю жуткий рассинхрон, причём к концу фильма звук вообще пропадает. Продолжительность видео 1:26, а аудио - 1:35. Вот этот момент я совсем не понимаю, т. к.:
1) продолжительность исходного видео, судя по mplayer, 1:26:56
2) если извлечь исходную аудиодорожку и пережать в AAC, то она почему-то 1:34:54! хотя на 1:26:03 mplayer прерывает её воспроизведение.
В общем, какие-то непонятки с аудиодорожками. И при копировании из исходника её размер меняется, и при кодировании в AAC.
Извлекаю и кодирую в AAC так:

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

mkfifo audiodump.pcm; \
(time faac -b 224 -q 100 --tns --mpeg-vers 4 -P -R 48000 -C 2 -X audiodump.pcm -o audio-en2.aac & \
mplayer dvd://$dvdn -dvd-device source -vc dummy -vo null -ao pcm:nowaveheader -channels 2 -aid 128 &>/dev/null);\
(time faac -b 448 -q 100 --tns --mpeg-vers 4 -P -R 48000 -C 6 -X audiodump.pcm -o audio-en6.aac & \
mplayer dvd://$dvdn -dvd-device source -vc dummy -vo null -ao pcm:nowaveheader -channels 6 -aid 129 &>/dev/null);\
Спасибо сказали:

Аватара пользователя
Mifodix
Сообщения: 373
ОС: Fedora 17 x86_64

Re: Продолжительность аудио и видео не совпадают

Сообщение Mifodix »

Продолжаем выступление:)
Если извлечь исходный AC-3 звук, то его продолжительность будет 1:26:03. mmg соединяет ac3-звук и h264-видео и получается...фильм длиной 1:35:))) В общем, чудеса:)
Спасибо сказали:

Аватара пользователя
Minton
Сообщения: 1587
Статус: openSUSE Localization Team
ОС: openSUSE Tumbleweed x86-64

Re: Продолжительность аудио и видео не совпадают

Сообщение Minton »

А вы уверены, что звук там именно 48кГц, а не 44.1? А то очень уж увеличение длины пропорционально :)
Русский раздел на forums.opensuse.org :)

"Настоящие мужчины используют поиск" ©Goodvin
Спасибо сказали:

Аватара пользователя
Mifodix
Сообщения: 373
ОС: Fedora 17 x86_64

Re: Продолжительность аудио и видео не совпадают

Сообщение Mifodix »

Minton писал(а):
11.08.2011 16:21
А вы уверены, что звук там именно 48кГц, а не 44.1? А то очень уж увеличение длины пропорционально :)

Да, если Mplayer и MediaInfo не врут:)
Сейчас попробую уровнять по продолжительности аудио и видеодорожки: добавлю недостающие секунды в аудиодорожку. Посмотрим какой продолжительности будет получаться mkv-фильм:(
Спасибо сказали:

Аватара пользователя
alkesta
Сообщения: 345
ОС: Fedora

Re: Продолжительность аудио и видео не совпадают

Сообщение alkesta »

Mifodix писал(а):
11.08.2011 16:36
добавлю недостающие секунды в аудиодорожку. Посмотрим какой продолжительности будет получаться mkv-фильм:(

В контейнере mkv можно задавать смещение потоков и даже ужать/растянуть по времени один поток относительно другого.
ЗЫ
Может в контейнере mpeg-ps и было смещение аудио по времени (например на момент беззвучной заставки)?

Кстати вот http://www.sch57.msk.ru/~alsu/sound/
Звуковые дорожки DVD (за исключением производственного брака) согласованы с видео по скорости, но могут иметь смещение начала относительно начала показа видео.
Спасибо сказали:

Аватара пользователя
Mifodix
Сообщения: 373
ОС: Fedora 17 x86_64

Re: Продолжительность аудио и видео не совпадают

Сообщение Mifodix »

Итак, ситуация проясняется.
У исходного DVD (сложил продолжительности всех vob-файлов):
1) Продолжительность видео 1:26:56;
2) Продолжительность аудио 1:26:56;
Если извлечь аудио из исходника, то его длина составит 1:26:03.

После кодирования в h264 с копированием аудиодорожки (-oac copy):
1) Продолжительность видео 1:35:43;
2) Продолжительность аудио 1:26:03;

Таким образом и видео, и аудио получаются разной длины. Ума не приложу как такое выходит.
Кодирую таким скриптом:

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

#!/bin/bash
# x264-enc-3p.sh
source="$1"
bitrate="$2"
filters="$3"
name="$(date +%F-%T)".avi
log="$name".log
# 21
e="mencoder "$source" -oac copy -vf kerndeint,scale,pullup,softskip,"$filters"harddup -ovc x264 -x264encopts threads=auto:psnr:ssim:b_adapt=2:deblock:cabac:chroma_me:subq=9:partitions=all:8x8dct:me=umh:nofast_pskip:nodct_decimate:me_range=32:trellis=2:frameref=16:bframes=16:b_pyramid=normal:weight_b:mixed_refs:direct_pred=auto:keyint=750:keyint_min=25:aq_mode=1:aq_strength=1.0:psy_rd=1.0,0.0:bitrate=$bitrate"
(time (\
time $e:pass=1 -o /dev/null && \
time $e:pass=3 -o /dev/null && \
time $e:pass=3 -o "$name" && \
echo "Encoding time:") &> "$log";\
rm -v divx2pass.log*\
) &
tail -f "$log"
Спасибо сказали:

Аватара пользователя
alkesta
Сообщения: 345
ОС: Fedora

Re: Продолжительность аудио и видео не совпадают

Сообщение alkesta »

Кодируешь прямо с DVD? или cat 1.VOB 2.VOB .. > ALL.VOB на винчестер сделал?
Спасибо сказали:

Аватара пользователя
Mifodix
Сообщения: 373
ОС: Fedora 17 x86_64

Re: Продолжительность аудио и видео не совпадают

Сообщение Mifodix »

alkesta писал(а):
11.08.2011 18:15
Кодируешь прямо с DVD? или cat 1.VOB 2.VOB .. > ALL.VOB на винчестер сделал?

Кодирую с копии DVD на жёстком диске.
Спасибо сказали:

Аватара пользователя
alkesta
Сообщения: 345
ОС: Fedora

Re: Продолжительность аудио и видео не совпадают

Сообщение alkesta »

В приведенном выводе mediainfo:

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

Audio #1
Video delay                      : -280ms
Audio #2
Video delay                      : -376ms
Audio #1
Video delay                      : -608ms
Audio #2
Video delay                      : -640ms
Audio #1
Video delay                      : -640ms
Audio #2
Video delay                      : -704ms
Audio #1
Video delay                      : -512ms
Audio #2
Video delay                      : -544ms


PS
Я не знаком с mencoder, но в скрипте есть -vf kerndeint,scale...... Там действительно нужен деинтерлейсинг? И почему scale без параметров?
Спасибо сказали:

Аватара пользователя
Mifodix
Сообщения: 373
ОС: Fedora 17 x86_64

Re: Продолжительность аудио и видео не совпадают

Сообщение Mifodix »

alkesta писал(а):
12.08.2011 10:44
В приведенном выводе mediainfo:

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

Audio #1
Video delay                      : -280ms
Audio #2
Video delay                      : -376ms
Audio #1
Video delay                      : -608ms
Audio #2
Video delay                      : -640ms
Audio #1
Video delay                      : -640ms
Audio #2
Video delay                      : -704ms
Audio #1
Video delay                      : -512ms
Audio #2
Video delay                      : -544ms


PS
Я не знаком с mencoder, но в скрипте есть -vf kerndeint,scale...... Там действительно нужен деинтерлейсинг? И почему scale без параметров?

Как ни крути, все эти задержки не покрывают огромную разницу во времени между продолжительностью аудио и видео.
Деинтерлейс действительно нужен, а фильтр kerndeint работает только в паре со scale для x264 (почему так - не знаю). Ещё я использовал фильтр crop для обрезки чёрных полос.

Сейчас решил внимательно изучить логи. Вот что меня насторожило:

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

1 duplicate frame(s)!
Pos:   0.2s      6f ( 0%)  0.00fps Trem:   0min   0mb  A-V:-0.020 [0:0].00fps Trem:   0min   0mb  A-V:-0.040 [0:0]

1 duplicate frame(s)!
Pos:   0.9s     23f ( 0%)  0.00fps Trem:   0min   0mb  A-V:-0.048 [0:448]

1 duplicate frame(s)!
Pos:   1.3s     33f ( 0%)  0.00fps Trem:   0min   0mb  A-V:-0.048 [0:448]

1 duplicate frame(s)!
Pos:   1.8s     43f ( 0%)  0.00fps Trem:   0min   0mb  A-V:-0.048 [0:448]

2 duplicate frame(s)!
Pos:   2.2s     53f ( 0%)  0.00fps Trem:   0min   0mb  A-V:-0.048 [0:448]

И так практически на протяжении всего лога. Я конечно дилетант и могу сказать глупость, но может быть это из-за этих кадров-дубликатов увеличивается продолжительность видео?:)
Так же с определённой периодичностью появляется:

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

Too many video packets in the buffer: (4096 in 8276783 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
Pos:3794.3s  86237f (66%)  5.12fps Trem: 143min 2108mb  A-V:-0.064 [2674:448]

Спасибо сказали:

Аватара пользователя
alkesta
Сообщения: 345
ОС: Fedora

Re: Продолжительность аудио и видео не совпадают

Сообщение alkesta »

Mifodix писал(а):
12.08.2011 13:40

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

1 duplicate frame(s)!
Pos:   0.2s      6f ( 0%)  0.00fps Trem:   0min   0mb  A-V:-0.020 [0:0].00fps Trem:   0min   0mb  A-V:-0.040 [0:0]

1 duplicate frame(s)!
Pos:   0.9s     23f ( 0%)  0.00fps Trem:   0min   0mb  A-V:-0.048 [0:448]

2 duplicate frame(s)!
Pos:   2.2s     53f ( 0%)  0.00fps Trem:   0min   0mb  A-V:-0.048 [0:448]


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

Too many video packets in the buffer: (4096 in 8276783 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
Pos:3794.3s  86237f (66%)  5.12fps Trem: 143min 2108mb  A-V:-0.064 [2674:448]


защититься от странных пропусков и повторений кадров, Вы можете одновременно использовать опции -mc 0 и -noskip. Это предотвратит любую A/V коррекцию, и будет копировать кадры один в один

http://www.mplayerhq.hu/DOCS/HTML/ru/MPlay...ding-interlaced
http://www.mplayerhq.hu/DOCS/HTML/ru/MPlay...d-mpeg4-av-sync

Возможно имеет смысл попробовать ключи -mc 0 -noskip

Спасибо сказали:

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

Re: Продолжительность аудио и видео не совпадают

Сообщение Rodegast »

Сколько раз можно повторять что ЗВУК И ВИДЕО ДОЛЖНЫ КОДИРОВАТЬСЯ ВМЕСТИ. Своим -oac copy вы просто убивайте автосинхронизацию. Кстати -mc 0 -noskip убъёт её окончательно.
Спасибо сказали:

Аватара пользователя
alkesta
Сообщения: 345
ОС: Fedora

Re: Продолжительность аудио и видео не совпадают

Сообщение alkesta »

Rodegast писал(а):
12.08.2011 16:26
Сколько раз можно повторять что ЗВУК И ВИДЕО ДОЛЖНЫ КОДИРОВАТЬСЯ ВМЕСТИ. Своим -oac copy вы просто убивайте автосинхронизацию. Кстати -mc 0 -noskip делают примерно тоже самое но только без пропуска кадров.

Наверное перепутал с -nosound?:
Не используйте -nosound при кодировании файла с аудио, даже если позже Вы будете отдельно кодировать и мультеплексировать аудио. Хотя это может работать в идеальных случаях, использование -nosound обычно скрывает ряд проблем в Ваших настройках кодирования в командной строке. Другими словами, наличие звуковой дорожки в процессе кодирования гарантирует Вам, что в случае отсутствия сообщений, подобных «Слишком много аудиопакетов в буфере», у Вас будет получена правильная синхронизация.

http://www.mplayerhq.hu/DOCS/HTML/ru/MPlay...dvd-mpeg4-audio

Официальное руководство -oac copy очень даже рекомендует использовать:
Если исходный материал уже содержит AC-3 звук, используйте -oac copy вместо перекодирования.

http://www.mplayerhq.hu/DOCS/HTML/ru/MPlay...ll-pal-ac3-copy
Спасибо сказали:

Аватара пользователя
Mifodix
Сообщения: 373
ОС: Fedora 17 x86_64

Re: Продолжительность аудио и видео не совпадают

Сообщение Mifodix »

alkesta писал(а):
12.08.2011 14:55
Возможно имеет смысл попробовать ключи -mc 0 -noskip

Не знаю как пойдёт дело, если использовать -mc 0 и -noskip с hurddup:) Попробую закодировать с -mc 0 и -hurddup последние 10 минут видео. О результатах отпишусь.

Rodegast писал(а):
12.08.2011 16:26
Сколько раз можно повторять что ЗВУК И ВИДЕО ДОЛЖНЫ КОДИРОВАТЬСЯ ВМЕСТИ. Своим -oac copy вы просто убивайте автосинхронизацию. Кстати -mc 0 -noskip делают примерно тоже самое но только без пропуска кадров.

"ВМЕСТИ" и кодируется:)
Спасибо сказали:

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

Re: Продолжительность аудио и видео не совпадают

Сообщение Rodegast »

> Наверное перепутал с -nosound?

Нет я ничего не перепутал.

> Официальное руководство -oac copy очень даже рекомендует использовать

Скорее оно не рекомендует lavc-ac3

> "ВМЕСТИ" и кодируется

Не вижу. У тебя должно быть что то вроде -oac faac -faacopts br=128
Спасибо сказали:

Аватара пользователя
Mifodix
Сообщения: 373
ОС: Fedora 17 x86_64

Re: Продолжительность аудио и видео не совпадают

Сообщение Mifodix »

Rodegast писал(а):
12.08.2011 19:10
> Наверное перепутал с -nosound?

Нет я ничего не перепутал.

> Официальное руководство -oac copy очень даже рекомендует использовать

Скорее оно не рекомендует lavc-ac3

> "ВМЕСТИ" и кодируется

Не вижу. У тебя должно быть что то вроде -oac faac -faacopts br=128

Ну попробую закодировать звук в AAC, как ты предлагаешь, без -mc 0. Результаты сравним:)
Спасибо сказали:

Аватара пользователя
Mifodix
Сообщения: 373
ОС: Fedora 17 x86_64

Re: Продолжительность аудио и видео не совпадают

Сообщение Mifodix »

Кодировал с 1:20, т. е. в идеале должно получиться видео длиной 6:56. Результаты тестирования:
1) Обычное -oac copy, которое я делал в 1-ый раз. Видео получилось продолжительностью 7:45, аудио - 6:03. В итоге те же самые баги.
2) -oac copy -mc 0. Видео - 6:56, аудио - 6:03. Рассинхрона нет!
3) -oac faac -faacopts br=128 без -mc 0. Видео - 6:56, аудио - 6:03. Рассинхрона нет!
Таким образом и alkesta, и Rodegast оказались правы:)
А вот какая разница (исходя из данных mediainfo) между скопированной аудиодорожкой -mc 0

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

Interleave, duration             : 573 ms (14.32 video frames)
Interleave, preload duration     : 500 ms

и сконвертированной в ACC дорожкой

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

Interleave, duration             : 24 ms (0.61 video frame)
Interleave, preload duration     : 651 ms

Теперь бы понять, что из этого лучше:)
Ещё вопрос: может ли mencoder кодировать две аудиодорожки из DVD и записать их в .avi? Просто в оригинале одна дорожка 2-х канальная, а другая - 6-канальная. В рип хочу записать обе пожатые дорожки.
Спасибо сказали:

Аватара пользователя
Mifodix
Сообщения: 373
ОС: Fedora 17 x86_64

Re: Продолжительность аудио и видео не совпадают

Сообщение Mifodix »

В общем, решл оставить одну 2-канальную аудиодорожку, пережатую в AAC. Жму вместе с видео так:

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

-aid 128 -oac faac -faacopts br=224:quality=100:mpeg=4

Кодировать будет долго, но о результатах обязательно отпишусь:)
Спасибо сказали:

Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: Продолжительность аудио и видео не совпадают

Сообщение sspphheerraa »

Аудио и видео, захваченное с DVB S/T, IVTV и др. (MPEG-TS), или аппаратно кодированное в mpeg2 (MPEG-PS), обычно соодержат ошибки передачи, которые выглядят как пропущенные или дропнутые кадры. Видеоплееры (MPC, MPlayer, xine, VLC...) при воспроизведении постоянно re-sync'кают такие потоки, используя информацию таймингов зашитую в сами потоки. При прямопотоковом копировании такого не происходит. Наряду с постоянным сдвигом, который легко восстановить с помощью фильтра временного сдвига, это может приводить как к растущей, так и к плавающей рассинхнонизации в получаемом файле.
Единственный 100% надежный способ исправить MPEG2 файл - это:
1. Размуксить его на составляющие используя ProjectX. На выходе получаем файл видео *.m2v и несколько аудио *.mp2 файлов (в зависимости от количества звуковых дорожек).

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

$ projectx file.mpeg -demux

2. Смуксить полученные файлы через mplex (входит в состав mjpegtools)

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

$ mplex -f 8 video.m2v audio1.mp2 audio2.mp2 ... -o fixed-mpeg.mpg
Sspphheerraa
Спасибо сказали:

Аватара пользователя
Mifodix
Сообщения: 373
ОС: Fedora 17 x86_64

Re: Продолжительность аудио и видео не совпадают

Сообщение Mifodix »

sspphheerraa писал(а):
13.08.2011 11:09
Аудио и видео, захваченное с DVB S/T, IVTV и др. (MPEG-TS), или аппаратно кодированное в mpeg2 (MPEG-PS), обычно соодержат ошибки передачи, которые выглядят как пропущенные или дропнутые кадры. Видеоплееры (MPC, MPlayer, xine, VLC...) при воспроизведении постоянно re-sync'кают такие потоки, используя информацию таймингов зашитую в сами потоки. При прямопотоковом копировании такого не происходит.

Как определить такое видео? Вот кодирую я и не вижу никаких skip или drop frames, только duplicate frame.
P. S. Параметры DVD указаны в 1-ом посте.
Спасибо сказали:

Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: Продолжительность аудио и видео не совпадают

Сообщение sspphheerraa »

Определить можно только по итогам кодирования. Ваше видео (судя по описанной проблеме) соодержит такие ошибки.
Sspphheerraa
Спасибо сказали:

Аватара пользователя
Mifodix
Сообщения: 373
ОС: Fedora 17 x86_64

Re: Продолжительность аудио и видео не совпадают

Сообщение Mifodix »

Через 3 часа узнаем результаты:)
По крайней мере пока (уже 70% 3 прохода) нет ошибок "Too many video packets in the buffer".
Спасибо сказали:

Аватара пользователя
Mifodix
Сообщения: 373
ОС: Fedora 17 x86_64

Re: Продолжительность аудио и видео не совпадают

Сообщение Mifodix »

УРА! Всё получилось:) Никакого рассинхрона, никакого ратянутого на 9 лишних минут видео.
Выводы:
1) надо кодировать аудио вместе с видео.
2) если уж не хочется кодировать аудио, то необходимо использовать -oac copy -mc 0.
Всем большое спасибо за помощь и низкий поклон!

P. S. На очереди второй DVD для кодирования:)
Спасибо сказали:

Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: Продолжительность аудио и видео не совпадают

Сообщение sspphheerraa »

Mifodix писал(а):
13.08.2011 16:06
1) надо кодировать аудио вместе с видео.
2) если уж не хочется кодировать аудио, то необходимо использовать -oac copy -mc 0.

mencoder умеет обрабатывать только одну аудио дорожку, - а если их несколько?
Sspphheerraa
Спасибо сказали:

Аватара пользователя
alkesta
Сообщения: 345
ОС: Fedora

Re: Продолжительность аудио и видео не совпадают

Сообщение alkesta »

sspphheerraa писал(а):
14.08.2011 10:18
Mifodix писал(а):
13.08.2011 16:06
1) надо кодировать аудио вместе с видео.
2) если уж не хочется кодировать аудио, то необходимо использовать -oac copy -mc 0.

mencoder умеет обрабатывать только одну аудио дорожку, - а если их несколько?

Смуксить потоки из нескольких источников выбрав нужные аудио-потоки, напрмер так:

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

ffmpeg -i Video_and_Audio1.avi -i Video_and_Audio2.avi -map 0:0 -map 0:1 -map 1:1 -vcodec copy -acodec copy -acodec copy video_and_two_audio_streams.avi  -newaudio

наверняка такая возможность есть и у mencoder
Спасибо сказали:

Аватара пользователя
Mifodix
Сообщения: 373
ОС: Fedora 17 x86_64

Re: Продолжительность аудио и видео не совпадают

Сообщение Mifodix »

Есть такая возможность, но жаль, что нельзя сразу всё кодировать:)
Спасибо сказали:

Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: Продолжительность аудио и видео не совпадают

Сообщение sspphheerraa »

alkesta, вообще-то в теме DVD рассматривается в качестве источника, а не avi.
ffmpeg, умеет муксить одновременно несколько дорожек (умеет ли он одновременно несколько дорожек кодировать - хз, не пробовал)
mencoder, на выходе может давать только одну аудио дорожку (не важно, используется copy или кодирование)

Вот вам задачка, аналогичная случаю автора темы: Имеем стандартный DVD с фильмом, в котором 2 аудио дорожки. Надо сделать с него рип с обеими аудио дорожками (используя только линуксовый софт).
После определения нужной "главы" с фильмом, дампаем его:
$ mplayer dvd://1 -dumpstream -dumpfile film.mpg
И вот, непосредственно сам фильм (MPEG2 файл - film.mpg), который, возможно, был закодирован с ошибками передачи.
Ваши действия дальше?





Sspphheerraa
Спасибо сказали:

Аватара пользователя
Mifodix
Сообщения: 373
ОС: Fedora 17 x86_64

Re: Продолжительность аудио и видео не совпадают

Сообщение Mifodix »

Заодно решите ещё одну задачу:)
Mplayer упорно не хочет видеть аудиодорожки 6 трека на DVD. Причём когда воспроизводишь:

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

mplayer  dvd://6 -dvd-device "/media/Data/video/1978-04-22_Peace_Concert,_Kingston,_Jamaica_National_Heroes_Stadium_(DVD_5_x_2)/DVD_2/" -vo xv

звук прекрасно слышен. Но при кодировании звука вообще нет! Пытался извлечь 128 дорожку:

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

mifodix@linux-yusg:~> mplayer  dvd://6 -dvd-device "/media/Data/video/1978-04-22_Peace_Concert,_Kingston,_Jamaica_National_Heroes_Stadium_(DVD_5_x_2)/DVD_2/" -aid 128 -dumpaudio -dumpfile zastavka128.ac3
MPlayer dev-SVN-r33574-4.5-openSUSE Linux 11.4 (x86_64)-Packman (C) 2000-2011 MPlayer Team
Can't open joystick device /dev/input/js0: No such file or directory
Can't init input joystick
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Loading extension-related profile 'vo.vdpau'

Playing dvd://6.
libdvdread: Encrypted DVD support unavailable.
libdvdread: Couldn't find device name.
There are 26 titles on this DVD.
There are 1 angles in this DVD title.
audio stream: 0 format: ac3 (stereo) language: en aid: 128.
audio stream: 1 format: ac3 (5.1) language: en aid: 129.
number of audio channels on disk: 2.
number of subtitles on disk: 0

MPEG-PS file format detected.

Too many video packets in the buffer: (4096 in 8288017 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
MPEG: No audio stream found -> no sound.
dump: 0 bytes written to 'zastavka128.ac3'.
Core dumped ;)

Exiting... (End of file)

Естественно на выходе получается файл размером 0. А если попробовать извлечь 129 дорожку:

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

mifodix@linux-yusg:~> mplayer  dvd://6 -dvd-device "/media/Data/video/1978-04-22_Peace_Concert,_Kingston,_Jamaica_National_Heroes_Stadium_(DVD_5_x_2)/DVD_2/" -aid 129 -dumpaudio -dumpfile zastavka129.ac3
MPlayer dev-SVN-r33574-4.5-openSUSE Linux 11.4 (x86_64)-Packman (C) 2000-2011 MPlayer Team
Can't open joystick device /dev/input/js0: No such file or directory
Can't init input joystick
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Loading extension-related profile 'vo.vdpau'

Playing dvd://6.
libdvdread: Encrypted DVD support unavailable.
libdvdread: Couldn't find device name.
There are 26 titles on this DVD.
There are 1 angles in this DVD title.
audio stream: 0 format: ac3 (stereo) language: en aid: 128.
audio stream: 1 format: ac3 (5.1) language: en aid: 129.
number of audio channels on disk: 2.
number of subtitles on disk: 0

MPEG-PS file format detected.
demux: File doesn't contain the selected audio or video stream.
dump: 4029 bytes written to 'zastavka129.ac3'.
Core dumped ;)

Exiting... (End of file)

И на выходе хрен знает что в пару килобайт.
Спасибо сказали:

Аватара пользователя
Mifodix
Сообщения: 373
ОС: Fedora 17 x86_64

Re: Продолжительность аудио и видео не совпадают

Сообщение Mifodix »

sspphheerraa писал(а):
14.08.2011 18:25
Вот вам задачка, аналогичная случаю автора темы: Имеем стандартный DVD с фильмом, в котором 2 аудио дорожки. Надо сделать с него рип с обеими аудио дорожками (используя только линуксовый софт).
После определения нужной "главы" с фильмом, дампаем его:
$ mplayer dvd://1 -dumpstream -dumpfile film.mpg
И вот, непосредственно сам фильм (MPEG2 файл - film.mpg), который, возможно, был закодирован с ошибками передачи.
Ваши действия дальше?

Скорее всего неверное решение дилетанта: с помощью mencoder закодировал бы с 1-ой дорожкой, потом бы извлёк 2-ую дорожку, закодировал бы её отдельно и добавил бы в контейнер matroska обе дорожки:)
Спасибо сказали:

Аватара пользователя
alkesta
Сообщения: 345
ОС: Fedora

Re: Продолжительность аудио и видео не совпадают

Сообщение alkesta »

sspphheerraa
Дампишь dvd на диск, кодируешь 2 раза видео и аудио (нужные аудио потоки), а потом муксишь из 2-х файлов - одно видео и 2 аудио, как я выше приводил.

Mifodix
Незнаю как это будет в mencoder, но с ffmpeg я бы поступил так

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

ffmpeg -i источник

будет показана информация о файле, потоки будут пронумерованы
0:0 video
0:1 audio
и т.п.
Выбираешь поток через -map 0:x (где x - номер нужного потока) и делай что хочешь.
Спасибо сказали: