首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DirectShowSource()和FFmpegSource2()在AviSynth中的区别

DirectShowSource()和FFmpegSource2()在AviSynth中的区别
EN

Stack Overflow用户
提问于 2018-01-07 00:47:20
回答 1查看 2.1K关注 0票数 0

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

  • 内置媒体过滤器DirectShowSource(),使用微软的DirectShow媒体体系结构.
  • AviSynth插件FFmpegSource2()别名FFMS2()使用FFmpeg和其他任何东西。

它们的优点和缺点是什么?

哪一个更可靠,框架/样品准确等等?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-18 16:59:33

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

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

一个显著的区别是,DirectShowSource()没有帧精确搜索,如果您试图对每个帧的精度进行一些微调,或者将同一事件的两个记录混合起来,以便每个帧都匹配,那么这一点就变得至关重要了。FFMPEG可以选择生成.ffindex文件,以改进查找功能(默认情况下是打开的)。

然而,根据我的经验,当打开一些以H264 FFmpegSource2编码的交错高清晰度电视流时,会产生双帧速率,因此您可能需要注意这一点。

还有一个名为DSS2的外部插件,它修复了原始插件的框架不准确问题。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48323121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档