• Как понизить латентность h.264 видео в FFMPEG не прибегая к zerolatency?

    XaLBa
    @XaLBa
    Вообще, под задержкой в zerolatency подразумевается разница между тем, когда кадр пришёл на вход энкодеру, и когда он его отдал. Задержка может быть вызвана, что декодер буферизует некоторое количество кадров. Насколько я помню, по умолчанию 40.

    Без буферизации не получится кодировать B-кадры. Также, анализируя кадры из будущего, энкодер более точно распределяет битрейт между кадрами. Количество буферизуемых кадров контролируется параметром rc_lookahead.

    Количество используемых по умолчанию B-кадров — 3, поэтому уменьшать их число или отключать стоит при необходимости в совсем малой задержке.

    Также советую более подробно посмотреть на другие параметры, которые задаются через --tune zerolatency:
    - zerolatency:
        --bframes 0 --force-cfr --no-mbtree
        --sync-lookahead 0 --sliced-threads
        --rc-lookahead 0


    Если же вам нужно уменьшить интервал между I-кадрами, насколько я понял, в ffmpeg это делается опцией -g. Но на задержке это не сказывается. Возможно, даже слегка её увеличивает, поскольку I-кадры сжимаются хуже.
    Ответ написан
    6 комментариев
  • Какой выбрать видеоконвертер?

    XaLBa
    @XaLBa
    Handbrake.
    Ответ написан
    Комментировать
  • Как в VirtualDub "склеить" картинку и файл mp3, чтобы получилось видео для YouTube?

    XaLBa
    @XaLBa
    VirtualDub'у нужно, чтобы видео было той же длины, что и аудио. А у вас одна картинка.

    Для решения этой проблемы можно использовать AviSynth. Это скриптовый язык для редактирования видео. Инсталлятор можно взять на avisynth.nl

    Нужно создать файл с расширением .avs и примерно следующим содержанием.
    ImageSource("image.jpg", 0, 0) # здесь путь до вашей картинки
    AssumeFPS(25) # установим частоту кадров будущего видео в 25
    Loop(N) # тут нужно указать, сколько раз нужно повторить картинку, 
            # чтобы получилось видео нужной длины 
            # (продолжительность аудио в секундах × частота кадров = 25)

    AviSynth-скрипты VirtualDub открывает как обычное видео. Не забудьте настроить сжатие видео (в сети полно мануалов), иначе получится файл очень большого размера.
    Ответ написан
    1 комментарий
  • 4K (3840x2160) или Full HD (1920x1080) если монитор 1440х900

    XaLBa
    @XaLBa
    Если взять два одинаковых видео, у которых отличается только разрешение, и старательно выискивать разницу, то наверняка найдёте. При обычном просмотре — вряд ли догадаетесь, какое было исходное разрешение.
    Ответ написан
    Комментировать
  • Twitter приложение под Android

    XaLBa
    @XaLBa
    Перепробовал несколько, twicca очень нравится
    Ответ написан
    Комментировать