Hi there,
I’ve been trying to apply a lowpass filter to a video because after transforming the layer into a smaller size the video shows a lot of moire and line artifacts (it looks fine at full screen).
I’m using 2.3.3 so the command would be something like this:
I tried with and without the ‘=1’
PLAY 1-5 "900 VIS NIEVE" MIX 4 Linear RIGHT LOOP vf lowpass=1
But Caspar complains, I don’t know if it is because it thinks lowpass is an audio filter only?
>
> [2023-02-28 12:38:15.863] [error] [ffmpeg] [Parsed_lowpass_0 @ 00000159E1098980] Media type mismatch between the 'Parsed_lowpass_0' filter output pad 0 (audio) and the 'Parsed_bwdif_1' filter input pad 0 (video)
> [2023-02-28 12:38:15.863] [error]
> [2023-02-28 12:38:15.863] [error] [ffmpeg] [AVFilterGraph @ 00000159FE866A40] Cannot create the link lowpass:0 -> bwdif:0
> [2023-02-28 12:38:15.863] [error]
> [2023-02-28 12:38:15.865] [error] Exception: C:\Program Files (x86)\Jenkins\workspace\casparcg-server-dep\master\src\modules\ffmpeg\producer\av_producer.cpp(274): Throw in function auto __cdecl caspar::ffmpeg::Filter::{ctor}::<lambda_d79b8799ceb78889645191682b959f2b>::operator ()(void) const
> [2023-02-28 12:38:15.865] [error] Dynamic exception type: class boost::exception_detail::clone_impl<struct caspar::ffmpeg::ffmpeg_error_t>
> [2023-02-28 12:38:15.865] [error] [struct boost::errinfo_api_function_ * __ptr64] = avfilter_graph_parse2(graph2, filter_spec.c_str(), &inputs, &outputs)
> [2023-02-28 12:38:15.865] [error] [struct boost::errinfo_errno_ * __ptr64] = 22, "Invalid argument"
> [2023-02-28 12:38:15.865] [error] [struct caspar::ffmpeg::tag_ffmpeg_errn_info * __ptr64] = -22
> [2023-02-28 12:38:15.865] [error] [struct caspar::tag_stacktrace_info * __ptr64] = 0# 0x00007FF6E86BA37E in casparcg
> [2023-02-28 12:38:15.865] [error] 1# 0x00007FF6E86E9690 in casparcg
> [2023-02-28 12:38:15.865] [error] 2# 0x00007FF6E88EC37B in casparcg
> [2023-02-28 12:38:15.865] [error] 3# 0x00007FF6E88F6327 in casparcg
> [2023-02-28 12:38:15.865] [error] 4# 0x00007FF6E88F70C0 in casparcg
> [2023-02-28 12:38:15.865] [error] 5# 0x00007FF6E88F0825 in casparcg
> [2023-02-28 12:38:15.865] [error] 6# 0x00007FF6E8A838E3 in casparcg
> [2023-02-28 12:38:15.865] [error] 7# configthreadlocale in ucrtbase
> [2023-02-28 12:38:15.865] [error] 8# BaseThreadInitThunk in KERNEL32
> [2023-02-28 12:38:15.865] [error] 9# RtlUserThreadStart in ntdll
> [2023-02-28 12:38:15.865] [error]
> [2023-02-28 12:38:15.865] [error]
> [2023-02-28 12:38:15.865] [error] 0# 0x00007FF6E86BA37E in casparcg
> [2023-02-28 12:38:15.865] [error] 1# 0x00007FF6E86B9CAF in casparcg
> [2023-02-28 12:38:15.865] [error] 2# 0x00007FF6E8C38ED7 in casparcg
> [2023-02-28 12:38:15.865] [error] 3# 0x00007FFD5FF01030 in VCRUNTIME140
> [2023-02-28 12:38:15.865] [error] 4# is_exception_typeof in VCRUNTIME140
> [2023-02-28 12:38:15.865] [error] 5# RtlCaptureContext2 in ntdll
> [2023-02-28 12:38:15.865] [error] 6# 0x00007FF6E88F0825 in casparcg
> [2023-02-28 12:38:15.865] [error] 7# 0x00007FF6E8A838E3 in casparcg
> [2023-02-28 12:38:15.865] [error] 8# configthreadlocale in ucrtbase
> [2023-02-28 12:38:15.865] [error] 9# BaseThreadInitThunk in KERNEL32
> [2023-02-28 12:38:15.865] [error] 10# RtlUserThreadStart in ntdll
> [2023-02-28 12:38:15.865] [error]
I also tried to apply the yadif filter and this one didn’t throw any errors but it probably doesn’t help my specific issue.
PLAY 1-10 "900 VIS NIEVE" MIX 8 Linear RIGHT LOOP vf yadif=1
Is it possible that ‘lowpass’ is not working/implemented in this version of ffmpeg? Or am I doing something else wrong?
Thanks!