问题标签 [avisynth]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ffmpeg - Ffmpeg avs to avi lossless conversion
How to convert avs (Avisynth file) to avi without loss of quality?
Firstly, I'm changing avs to 264:
ffmpeg -i "Source.avs" -c:v libx264 -preset veryslow -crf 24 "Output.264"
Secondly, I'm trying to convert 264 to avi:
ffmpeg -i "input.264" "output.avi"
Final avi should have almost 200MB, but has only 2MB. 264 file has almost 150MB, so it should be good. I think that I should use some codec in second command, but I don't know which. I'm trying to change this for a few days, but without effect.
Or maybe there is a way to lossless conversion without 264, only avs to avi?
Thank you for your help.
Edit:
Thank you for answers. Unfortunatelly, both methods fail. First gives me a video, which is blurry and I can't see anything on it.
Output:
EDIT: Output after PNG command:
avisynth - 移动图像并保持其透明度
我正在尝试移动图像,并保持他的透明度。为此,我有一个透明图像,并使用 Imagesource 将其转换为视频。我将它叠加到由完全透明的图像制作的视频上。最后,我希望生成的视频是透明的,为此我需要合并两个视频的 alpha 通道。现在我不知道该怎么做(我遇到了 MergeRGB 但它不起作用,我也遇到了 Mask 方法,但我不想要我的任何视频的掩码,我不想要我想要移动的图像,我想要移动图像的蒙版)。我做的最好的就是保留视频的掩码。
拜托,你们中的一个人知道如何合并 alpha 通道,所以结果将是移动图像的 alpha 通道?这是我使用的代码:
video - 如何在avisynth中结合图像和avi视频?
我正在尝试将图像与 avi 视频剪辑相结合。
我在用着:
- AviSynth作为帧服务器
- AvsPmod作为编辑器
我有:
- jpg 图像。宽度和高度与视频相同
- avi 视频剪辑
我的代码 main.avs
第一个.avs
第二个.avs
但我有一个错误
我怎么解决这个问题?
ffmpeg - 为什么 avisynth SSIM 和 ffmpeg SSIM 之间(显然)没有相关性?
我曾经使用计算 SSIM 索引的 Avisynth 脚本检查和调整视频编码的质量。出于某种原因,自从迁移到 Windows 10 后,性能要低得多。然后我发现了 ffmpeg ssim 过滤器,它的运行速度至少快了十倍。但我有这些问题:
我找不到这两种方法使用什么算法或有什么区别,
更重要的是,当我为多个视频文件绘制每种方法的结果时,相关性几乎为零。使用 avisynth SSIM,我发现 h.264 CRF 因子之间有很好的相关性(正如预期的那样),但这种相关性在 ffmpeg SSIM 中消失了。
有没有人验证过 ffmpeg SSIM 过滤器是否真的有效?
编辑:我需要进一步调查第二点。实际上,我发现 ffmpeg 在不同视频的小样本上没有相关性,但是,对于单个视频样本,CRF 和 SSIM 之间的两种方法都有很好的相关性。
batch-file - 使用命令行创建批处理 AVISynth 脚本
我已经研究了很长时间使用 CMD AVISynth 示例创建 AViSynth 批处理:
使用这个 Avisynth 模板,只有文件路径、“fps”和“AssumeFPS”会更改每个文件,所以我使用 mediainfo 来获取这些信息(文件夹“NHU”有 13 个 mkv 文件:Vandread 1st Stage 01、Vandread 1st Stage 02、. ..) - 在 CMD 中使用 mediainfo
mediaInfo "C:\Users...\NHU*.mkv" --Inform=file://mau.txt > framerate.txt
使用 mau.txt:
常规;%FileName%
视频;%BFrameRate_Modeg%:%FrameRate/String% \r\n
结果在文件 framerate.txt
之后,我不知道如何创建批处理 Avisynth 脚本,例如:Vandread 1st Stage 01.avs、Vandread 1st Stage 02.avs、...
batch-file - 使用 bat 文件中的 AviSynth 和 X264 对视频进行多重编码
目前我正在使用avisynth和x264通过将.avs文件拖到bat文件上来编码我的视频(vhs恢复)。
这很好用,但我的问题(不是真正的问题,更多的是效率问题)是我必须手动将我的 avs 文件拖到 bat 上才能启动该过程。是否可以让 bat 文件以自动方式一个接一个地转换整个视频目录(可能是 20 个左右)?
除了 AviSource() 行之外,每个视频的 .avs 文件始终相同。
我知道我可以循环播放 .bat 以获取存在的视频数量,但是如何加载具有变量 AviSource() 的 .avs 文件?
我怎么能做到这一点,还是不可能?
谢谢。
ffmpeg - 带有字幕错误的 AviSynth 脚本
Win7
FFmpeg 版本:20170223-dcd3418 win32 共享
AVISynth 版本:2.6
在 Visual Studio 2015 C# Forms 应用程序中调用 ffmpeg 并使用 process.StartInfo.Arguments 传递参数并读取 avs 脚本。工作正常。
avs脚本:
我想使用 avs 脚本添加字幕,但它不起作用。在“返回视频”参数之前添加字幕参数会导致:
结果错误:[avisynth @ 003cdf20] 脚本错误:函数“字幕”的参数无效
使用 video.subtitle 会导致:
没有错误,脚本完成但输出视频上没有字幕。
使用 subtitle(clip) 会导致:
脚本异常退出但没有错误信息。
任何指导将不胜感激。如果我能澄清任何事情,请告诉我。
ffmpeg - Avisynth 总帧数不等于 VirtualDub 总帧数
似乎 Dissolve 和/或 Fade 更改了 .avs 脚本中的总帧数。当我将 avs 脚本中的总帧数相加,然后在 Vdub 中加载 avs 脚本时,总帧数是不同的。下面我的真实示例显示了相同脚本的822 帧与 1368 帧的差异。我进行了一些基本测试,这些测试似乎支持这个假设。当然,我可能正在做一些愚蠢的事情。任何指导将不胜感激。如果我能澄清任何事情,请告诉我。Ffmpeg 也使用相同的脚本,这让我认为这是一个 Avisynth 问题。或者我缺乏 avs 编码技能。
系统规格:Win7,FFmpeg 版本:20170223-dcd3418 win32 shared,AVISynth 版本:2.6
Test1.avs = 200 帧长= 预期行为
Test2.avs with return Dissolve = 195 帧长= 意外行为
Test3.avs with fadeOut(fadeIn = 202 帧长= 意外行为
Test4.avs 溶解和淡入淡出 = 197 帧长= 意外行为
Test5.avs 明确指定溶解和淡入淡出的帧速率 = 197 帧 = 意外行为
realExample = 822 帧长= 预期行为(这就是我想要的)
realExample = 1368帧长
ffmpeg - AviSynth 中 DirectShowSource() 和 FFmpegSource2() 的区别
对于非.avi
A/V 源(如.mp3
、.mp4
等),在 AviSynth(在 Windows 中)中读取这些媒体文件(至少)有 2 种可能性:
- 内置媒体过滤器
DirectShowSource()
,使用微软的 DirectShow媒体架构。 - 使用FFmpeg的 AviSynth 插件
FFmpegSource2()
别名,仅此而已。FFMS2()
它们的优点和缺点是什么?
哪个更可靠,帧/样本准确等?