- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
似乎 Dissolve 和/或 Fade 更改了 .avs 脚本中的总帧数。当我将 avs 脚本中的总帧数相加,然后在 Vdub 中加载 avs 脚本时,总帧数是不同的。下面我的真实示例显示了 的差异822 帧 vs 1368 帧 对于相同的脚本。我进行了一些基本测试,这些测试似乎支持这个假设。当然,我可能正在做一些愚蠢的事情。任何指导将不胜感激。如果我能澄清任何事情,请告诉我。 Ffmpeg 也使用相同的脚本,这让我认为这是一个 Avisynth 问题。或者我缺乏 avs 编码技能。
系统规范:
WIN7,
FFmpeg 版本:20170223-dcd3418 win32 共享,
AVISynth 版本:2.6
Test1.avs = 200帧 long = 预期行为
LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\VSFilter.dll")
v1=ImageReader("1.png", fps=24, start=1, end=100)
v2=ImageReader("2.png", fps=24, start=1, end=100)
video = v1 + v2
return video
LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\VSFilter.dll")
v1=ImageReader("1.png", fps=24, start=1, end=100)
v2=ImageReader("2.png", fps=24, start=1, end=100)
return Dissolve(v1, v2, 5)
LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\VSFilter.dll")
v1=ImageReader("1.png", fps=24, start=1, end=100)
v2=ImageReader("2.png", fps=24, start=1, end=100)
fadeOut(fadeIn(v1 + v2, 60), 60)
LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\VSFilter.dll")
v1=ImageReader("1.png", fps=24, start=1, end=100)
v2=ImageReader("2.png", fps=24, start=1, end=100)
v3 = Dissolve(v1, v2, 5)
fadeOut(fadeIn(v3, 60), 60)
LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\VSFilter.dll")
v1=ImageReader("1.png", fps=24, start=1, end=100)
v2=ImageReader("2.png", fps=24, start=1, end=100)
v3 = Dissolve(v1, v2, 5, 24)
fadeOut(fadeIn(v3, 60, $000000, 24), 60, $000000, 24)
LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\VSFilter.dll")
v1=ImageReader("1.png", fps=24).trim(1,106)
v3=ImageReader("3.png", fps=24).trim(1,471)
v9=ImageReader("9.png", fps=24).trim(1,58)
v10=ImageReader("10.png", fps=24).trim(1,35)
v11=ImageReader("11.png", fps=24).trim(1,152)
video = v1 + v3 + v9 + v10 + v11
return video
LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\VSFilter.dll")
v1=ImageReader("1.png", fps=24).trim(1,106)
v3=ImageReader("3.png", fps=24).trim(1,471)
v9=ImageReader("9.png", fps=24).trim(1,58)
v10=ImageReader("10.png", fps=24).trim(1,35)
v11=ImageReader("11.png", fps=24).trim(1,152)
d1 = Dissolve(v1, v3, 5)
d3 = Dissolve(v3, v9, 5)
d9 = Dissolve(v9, v10, 5)
d10 = Dissolve(v10, v11, 5)
fadeOut(fadeIn(d1 + d3 + d9 + d10,60),60)
最佳答案
你说你的一些结果给出了“意外的行为”,但你没有具体说明你期望它们是什么,所以不清楚你认为什么是错误的以及你的误解在哪里。 (在讨论问题时,你应该总是说明你得到了什么结果以及你期望得到什么结果。)
在您的 Dissolve
例如( Test2.avs
),你说 195 帧是出乎意料的,但这对我来说听起来是正确的。将两个剪辑“溶解”在一起意味着一个剪辑的结尾与第二个剪辑的开头重叠,因为一个剪辑逐渐淡入另一个剪辑;这与淡出第一个剪辑然后淡入第二个剪辑不同。重叠意味着结果必须短于剪辑的各个长度的总和。您组合了两个 100 帧剪辑并指定了 5 帧重叠,因此 100 + 100 - 5 = 195。
在您的 FadeOut
例如(Test3.avs
),你说 202 帧是出乎意料的,但这对我来说也是正确的。 FadeIn
/ FadeOut
的文档状态:
An additional color frame is added at the start/end, thus increasing the total frame count by one (or for FadeIO, by two).
FadeIn
和一个电话到
FadeOut
在
test3.avs
,添加了两个额外的帧。如果你不想要这个,那么你可以使用
FadeIn0
/
FadeOut0
(或
FadeIO0
,因为您同时使用两者),但请注意,使用这些功能,第一帧/最后一帧不会完全是黑色的。如果你想要精确,那么在使用正常的
FadeIn
之前只需剪掉第一帧和/或最后一帧。/
FadeOut
/
FadeIO
功能。
Dissolve
的版本显着增加了帧数,因为它多次组合相同的剪辑:
d1 = Dissolve(v1, v3, 5)
d3 = Dissolve(v3, v9, 5)
...
fadeOut(fadeIn(d1 + d3 + d9 + d10,60),60)
d1
和
d3
每个都包含
v3
的副本剪辑,然后你拼接
d1
和
d3
最后一起,意思是
v3
包含两次。 (对于
v9
和
v10
也是如此。)
video = Dissolve(v1, v3, 5)
video = Dissolve(video, v9, 5)
video = Dissolve(video, v10, 5)
video = Dissolve(video, v11, 5)
video = FadeOut(FadeIn(video, 60), 60)
video = FadeIO(Dissolve(v1, v3, v9, v10, v11, 5), 60)
FadeIO
的 2 帧)。
video = FadeIO0(v1, 60) \
+ FadeIO0(v3, 60) \
+ FadeIO0(v9, 60) \
+ FadeIO0(v10, 60) \
+ FadeIO0(v11, 60)
关于ffmpeg - Avisynth 总帧数不等于 VirtualDub 总帧数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43704692/
我在msys2上使用mingw64编译ffmpeg --enable-avisynth 提示错误 ffmpeg make ERROR: avisynth/avisynth_c.h avisynth/a
我已经阅读了很多关于如何在 AviSynth 中叠加图像的教程,但想知道是否有办法在特定时间位置在视频上放置多个图像。我已经能够用透明的 png 标志渲染视频,但没有找到任何教程如何在不同的帧位置放置
Win7 FFmpeg 版本:20170223-dcd3418 win32 共享 AVISynth 版本:2.6 在 Visual Studio 2015 C# Forms 应用程序中调用 ffmpe
如何将音频叠加到其他音频上? 我想为 avisynth 中剪辑的音频 channel 制作 FadeIO(..) 功能。 我有这个脚本 video = DirectShowSource("Z:\vid
我使用 avisynth 编写了一个简短的脚本。它需要大量视频,将它们堆叠起来,然后添加一些文本。 我可以在 virtualDub 中打开脚本文件并从那里将其保存为 avi 文件,但我想要的是一种无需
似乎 Dissolve 和/或 Fade 更改了 .avs 脚本中的总帧数。当我将 avs 脚本中的总帧数相加,然后在 Vdub 中加载 avs 脚本时,总帧数是不同的。下面我的真实示例显示了 的差异
我有一堆单独的文件,我希望每个文件都通过 Avisynth 运行。但是,一个 AVS 文件只能创建一个视频。据我所知,无法从命令行声明变量的值。 我知道您可以创建一个脚本来生成一堆 AVS 文件,然后
我使用 avisynth 将视频与音频分离。当我使用 x = "m.mkv" ffvideosource(x) 它工作正常,但是当我将视频文件名更改为 UTF-8 文件名并将脚本更改为: x =
我在互联网上搜索过,但没有找到解决方案。我希望这个问题不会重复出现。 我在同一文件夹中有以下文件: ffmpeg.exe(32 位版本) IN.mp4(视频编解码器 - AVC,音频编解码器 - PC
对于非 .avi A/V 源(如 .mp3、.mp4 等)在 AviSynth(在 Windows 中)中(至少)有两种读取这些媒体文件的可能性: 内置介质过滤器DirectShowSource()
我想将 avi 文件的音频流提取为 wav 文件,虽然我只想复制流,但它确实很慢(~4-5fps)。 这是我要提取的流类型(ffprobe 信息):Stream #0:1: Audio: pcm_s1
我需要执行看似简单的任务,将 3 个文件彼此相邻堆叠。它们都是相同的:.avi 容器、320x240、4:3、25 fps、GeoVision Advanced MPEG-4 GEO 编解码器。 我安
我是一名优秀的程序员,十分优秀!