0

对于非.aviA/V 源(如.mp3.mp4等),在 AviSynth(在 Windows 中)中读取这些媒体文件(至少)有 2 种可能性:

它们的优点和缺点是什么?
哪个更可靠,帧/样本准确等?

4

1 回答 1

1

DirectShowSource()使用当前为系统中特定文件类型安装和启用的编解码器。通常这意味着当您在媒体播放器中打开该视频文件(包括音频流)时会启动相同的编解码器。如果您在那里启用了一些特殊的后处理选项,它们也将生效。

正如您所提到的, FFmpegSource2()不依赖于系统编解码器,而是使用 FFMPEG。默认情况下,即使它存在于源容器中,它也会忽略音频。

一个显着的区别是 DirectShowSource() 没有帧精确的搜索,如果您尝试以每帧精度进行一些修剪,或者说,混合同一事件的两个记录以便每一帧都匹配,这将变得至关重要. FFMPEG 可以选择生成 .ffindex 文件以改进搜索功能(默认开启)。

然而,根据我的经验,在打开一些以 H264 FFmpegSource2 编码的隔行扫描 HDTV 流时会产生双倍帧速率,因此您可能需要注意这一点。

还有一个名为DSS2的外部插件修复了原版的帧不准确问题。

就个人而言,我通常使用 DirectShow/DSS2,除非我需要帧精确的搜索,因为 FFMS 在首次启动期间可能需要一些时间来进行索引。

于 2018-01-18T16:59:33.233 回答