Разница между DirectShowSource() и FFmpegSource2() в AviSynth

Для источников аудио/видео, отличных от .avi (таких как .mp3, .mp4 и т. д.), есть (по крайней мере) 2 возможности чтения этих медиафайлов в AviSynth (в Windows):

Каковы их преимущества и недостатки?
Что более надежно, с точностью до кадра/выборки и т. д.?


person MarianD    schedule 07.01.2018    source источник
comment
@Mulvya, большое спасибо - ваша ссылка также дает мне еще одну полезную информацию.   -  person MarianD    schedule 07.01.2018
comment
Привет, кажется, это вопрос о разработке программного обеспечения, поэтому я голосую за перенос его в Stackoverflow. Там вы получите лучшие ответы, здесь это не совсем по теме.   -  person timonsku    schedule 18.01.2018


Ответы (1)


DirectShowSource() использует кодеки, установленные и включенные в настоящий момент для определенного типа файлов. в вашей системе. Обычно это означает те же кодеки, которые запускаются при открытии этого видеофайла в медиаплеере, включая аудиопоток. Если у вас включены некоторые специальные параметры постобработки, они также будут действовать.

FFmpegSource2(), как вы упомянули, не зависит от системы кодеки и вместо этого использует FFMPEG. По умолчанию он также игнорирует звук, даже если он присутствует в исходном контейнере.

Заметным отличием является то, что DirectShowSource() не имеет поиска с точностью до кадра, что становится критичным, если вы пытаетесь выполнить обрезку с точностью до кадра или, скажем, смешать две записи одного и того же события, чтобы каждый кадр совпадал. . FFMPEG имеет возможность генерировать файлы .ffindex для улучшения возможностей поиска (по умолчанию она включена).

Однако, по моему опыту, при открытии некоторых чересстрочных потоков HDTV, закодированных в H264, FFmpegSource2 создает двойную частоту кадров, поэтому вам, возможно, придется следить за этим.

Существует также внешний подключаемый модуль с именем DSS2, исправляющий неточный выпуск оригинала.

Лично я обычно использую DirectShow/DSS2, если мне не нужен поиск с точностью до кадра, поскольку FFMS может занять некоторое время для индексации при первом запуске.

person Seedmanc    schedule 18.01.2018