gpt4 book ai didi

ffmpeg - AviSynth 中 DirectShowSource() 和 FFmpegSource2() 的区别

转载 作者:行者123 更新时间:2023-12-04 23:14:56 28 4
gpt4 key购买 nike

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

  • 内置介质过滤器DirectShowSource() , 使用 Microsoft's DirectShow媒体架构。
  • AviSynth 插件 FFmpegSource2()别名 FFMS2() 使用 FFmpeg没有别的了。

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

    最佳答案

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

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

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

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

    还有一个名为 DSS2 的外部插件这解决了原件的帧不准确问题。

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

    关于ffmpeg - AviSynth 中 DirectShowSource() 和 FFmpegSource2() 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48323121/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com