правильно вычислить рассинхрон аудио/видео

Начало Форум Видео Конвертирование видео правильно вычислить рассинхрон аудио/видео

В этой теме 25 ответов, 2 участника, последнее обновление  Rodegast 8 года/лет, 4 мес. назад.

Просмотр 15 сообщений - с 1 по 15 (из 26 всего)
  • Автор
    Сообщения
  • #742

    EsTaF
    Участник

    [dvd]дорожка видео mpg2 — 4790640ms
    дорожка звука ac3 — 4789760mc[/dvd]

    При этом, если смотреть такой оригинал, то рассинхрона не наблюдается.

    Если видео пережать в h264 поток и засунуть в матрешку, то наблюдается рассинхрон. Тупо ставить audiodelay 880 ms не получится. Звук наоборот чуточку начнет отставать. То бишь дорожку аудио нужно срезать в начале и вполне возможно, что и в конце, а может! быть в конце и не срезать а делать стретчинг остатка оконцовки, а может быть начала)))))))

    >Как правильно проанализировать материал<, что бы затем сделать правильный обрез/стретчинг звука в mkvmerge.

    Кто-нибудь занимался темой?

    #886

    Rodegast
    Участник

    Чем кодируешь?

    #887

    EsTaF
    Участник

    x264

    вероятней всего, в потоке видео изначальном есть некие «черные кадры», которые кодер обошел.

    Кодировал по статье «Полезность многопроходного сжатия»

    #893

    Rodegast
    Участник

    Звук как кодируется? Покажи всю команду.

    #894

    EsTaF
    Участник

    звук вообще не кодируется, а лишь изымается.

    time mplayer dvd://»${dvdn}» -dvd-device $ss -aid 128 -dumpaudio -dumpfile audio-ru2.ac3

    #895

    EsTaF
    Участник

    MeGUI.. странно. безошибочно все сам делает. Настраивается момент компрессии и все. То есть, никаких сдвигов звука.
    gdindex>avisynth>mpeg2/ac3>x264>сборка в mkv средствами, встроенными в megui.

    #897

    Rodegast
    Участник

    Здесь нет ничего странного ;)» title=»Wink» />

    Если копировать звук, а не кодируйте его то будет работать не правильно встроенный в mencoder механизм автосинхронизации, именно из-за этого у вас был рассинхрон и пропуск кадров.

    #898

    EsTaF
    Участник

    А, если я не хочу кодировать звук. Зафига кодировать звук, если это экономия лишь всего-навсего 100 метров. Тем более, что все это дело mkv спокойно всасывает в свой конейнер.

    Кстати. Если пережать звук в faac, то он начинает проигрываться в 2 раза быстрее. Что-то, похожее не на ускоренноеx2 воспроизведение.

    mkfifo audiodump.wav;
    (time faac -q 80 audiodump.wav -w -o audio-ru6.mp4 & mplayer -quiet -vc 0 -vo null -ao pcm:fast -dvd-device $ss dvd://»${dvdn}» -channels 6 -aid 128);

    #899

    Rodegast
    Участник

    > А, если я не хочу кодировать звук.

    Тогда моешь поймать рассинхрон, а можешь и не поймать это как повезёт.

    > Если пережать звук в faac, то он начинает проигрываться в 2 раза быстрее

    На вашем DVD 6 каналов? И не нужно изымать звук подобным образом! Кодируйте всё сразу mencoder-ом.

    #905

    EsTaF
    Участник

    [quote:3b26s646][b:3b26s646]Rodegast написал:[/b:3b26s646]
    образом! Кодируйте всё сразу mencoder-ом.[/quote:3b26s646]

    дык, он в avi собирает. зачем оно мне.
    потом пересобирать в матрешку. так, я снова могу поймать рассинхрон.

    #911

    Rodegast
    Участник

    Мультиплексировать в матрёшку он тоже умеет :)» title=»Smile» />

    -of lavf -lavfopts format=matroska

    #913

    EsTaF
    Участник

    да, но
    1. подергивания несколько кадров назад/несколько кадров вперед+1 при проигрывании такого файла, потом.

    2. меняется соотношение сторон с какой-то радости. Если добабвлять, скажем, -vf scale «нужное:соотношение», то толку тоже ноль. smaplayer показыват потом нормально все (правда, все с той же дерготней), а mplayer наоборот — дерготни кадров взад вперед нет, но соотношение чуть ли не 5:4, когда видео есть 720:576.

    3. титры забиваются в поток видео, а не отдельным моментом. речь не про титры «рядом с файлом» отдельным файлом. о\то бишь, понадобится -nosub Опция и затем отдельное выдергивание титров и снова mkvtoolnix.

    ?

    #916

    Rodegast
    Участник

    > подергивания несколько кадров

    Покажи полностью команду которой кодируешь.

    > меняется соотношение сторон с какой-то радости

    Явно задай аспект. К примеру: -aspect 16/9

    С титрами проблема. :(» title=»Sad» /> Но я не думаю что mkvtoolnix вызовет рассинхрон.

    #918

    EsTaF
    Участник

    [code:16p1pqhl]dvdn=2
    sss="/srv/movies/005/";
    mencoder dvd://$dvdn -dvd-device $sss -o out -ovc x264 -x264encopts crf=16.0:keyint=750:keyint_min=25:bframes=16:b_adapt=2:b_pyramid=normal:ref=16:rc_lookahead=250:aq_mode=1:partitions=all:direct=auto:weightp=2:me=umh:merange=32:subme=10:trellis=2:nofast_pskip:nodct_decimate:threads=auto:psnr:ssim -oac faac -faacopts br=256:mpeg=4:object=2 -channels 2 -srate 48000 -ofps 25 -of lavf -lavfopts format=matroska -vf scale=720:576 -ss 600 -endpos 30;
    [/code:16p1pqhl]

    [i:16p1pqhl]Явно задай аспект. К примеру: -aspect 16/9[/i:16p1pqhl]

    Если при воспроизведении люди будут задавать аспект, то я пас на счет такого кодирования.
    Если при кодировании, то это бестолку задавать. делал.

    аспект нужно вбивать именно для опции «format=matroska», а не глобально.
    Голая опция «format=matroska» чудеса чудит.

    Из мана:
    FFmpeg libavformat muxers (-lavfopts) (also see -of lavf)
    delay=<value>
    Currently only meaningful for MPEG[12]: Maximum allowed distance, in seconds, between the reference timer of the
    output stream (SCR) and the decoding timestamp (DTS) for any stream present (demux to decode delay). Default is
    0.7 (as mandated by the standards defined by MPEG). Higher values require larger buffers and must not be used.

    format=<container_format>
    ..
    matroska
    ..

    muxrate=<rate>
    Nominal bitrate of the multiplex, in bits per second; currently it is meaningful only for MPEG[12]. Sometimes
    raising it is necessary in order to avoid «buffer underflows».

    o=<key>=<value>[,<key>=<value>[,…]]
    Pass AVOptions to libavformat muxer. Note, a patch to make the o= unneeded and pass all unknown options through
    the AVOption system is welcome. A full list of AVOptions can be found in the FFmpeg manual. Note that some op‐
    tions may conflict with MEncoder options.
    ..

    Про аспект ни слова.

    Но, на выходе:
    [code:16p1pqhl]
    mediainfo out
    General
    Complete name : out
    Format : Matroska
    File size : 9.66 MiB
    Duration : 30s 40ms
    Overall bit rate : 2 698 Kbps
    Writing application : Lavf52.84.0
    Writing library : Lavf52.84.0

    Video
    ID : 1
    Format : AVC
    Format/Info : Advanced Video Codec
    Codec ID : V_MPEG4/ISO/AVC
    Duration : 30s 40ms
    Width : 720 pixels
    Height : 576 pixels
    Display aspect ratio : 5:4
    Frame rate : 25.000 fps
    Standard : PAL
    Language : English

    Audio
    ID : 2
    Format : AAC
    Format/Info : Advanced Audio Codec
    Format version : Version 4
    Codec ID : A_AAC
    Duration : 30s 40ms
    Channel(s) : 2 channels
    Sampling rate : 16.0 KHz
    Video delay : -40ms
    Language : English[/code:16p1pqhl]

    да еще и рывки.

    Ты точно уверен, что это вменяемый метод кодирования.
    Зачем же тогда пол инета советует многоприемные подходы.

    Ну и без отдельных субтитров, внутри mkv — это тоже не дело, согласись.

    #922

    Rodegast
    Участник

    Не используйте вместе с -x264encopts параметры которых нет в мане. Если вы хотите задействовать новые возможности х264 делайте так: -ovc x264 x264enc и далее строка с параметрами.

    > аспект нужно вбивать именно для опции «format=matroska», а не глобально.

    Нет. Туда автоматически записывается «глобальный» аспект.

    >Ты точно уверен, что это вменяемый метод кодирования.

    Конечно.

    > Зачем же тогда пол инета советует многоприемные подходы.

    Многопроходное кодирование чуть-чуть сильнее сжимает чем однопроходное. Использовать его стоит если тебе надо уложиться в определённый размер, во всех других случаях нет не какого смысла его использовать.

Просмотр 15 сообщений - с 1 по 15 (из 26 всего)

Для ответа в этой теме необходимо авторизоваться.