valadaptive / ntsc-rs

Free, open-source analog TV + VHS effect. Standalone application + plugin (After Effects, Premiere, and OpenFX).
Other
241 stars 4 forks source link

[Suggestion] Support for interlaced video input and output #7

Closed rgm89git closed 4 months ago

rgm89git commented 6 months ago

There are some input material, like testing and stuff, that it's only available in interlaced.

ntsc-rs only has support for progressive material, as some demodulation filters average the two lines, as in Both, the whole frame is processed, instead of fields.

(Order: Field mode, demodulation filter) Both, Notch: image

Both, 2-line comb: image

I did noticed there's a Upper and Lower field modes, that can do the separation for the two fields. Removing these, we only have Alternating, which it's the same with Upper and Lower, but alternating between the twos. This mode is for progressive sources.

So, for interlaced input, we can use both field modes, and interleave them. Both ntscQT and ntscQT+ have an interleaved interlaced mode.

rgm89git commented 5 months ago

Hi! I'm just wanting to remind you of this issue.

nlolnlolnlolnlo commented 5 months ago

a workaround that i've used is to use ffmpeg to interlace afterwards with a simple script like this:

ffmpeg -i "in.avi" -vf interlace=scan=tff -sws_flags neighbor -c:v ffv1 "out.mkv"

there are some small issues with how framerates are handled which can sorta complicate things (see my issue at https://github.com/valadaptive/ntsc-rs/issues/33) but overall it's seamless enough.

rgm89git commented 5 months ago

a workaround that i've used is to use ffmpeg to interlace afterwards with a simple script like this:

ffmpeg -i "in.avi" -vf interlace=scan=tff -sws_flags neighbor -c:v ffv1 "out.mkv"

there are some small issues with how framerates are handled which can sorta complicate things (see my issue at #33) but overall it's seamless enough.

Good, but... before using ntsc-rs, how i can transform an interlaced video to a way for ntsc-rs to use and not destroy the interlacing (still in ffmpeg)?

valadaptive commented 4 months ago

I've added support for interleaved rendering in the 0.5.0 release. Try it out and let me know if it provides all the functionality you need.

valadaptive commented 4 months ago

Closing this issue since 0.5.0 added support for interlacing; prefer opening new issues for future interlacing-related functionality.

rgm89git commented 4 months ago

Thanks a lot! 💜 👍