Live data from Hacker News

Ntsc-rs – open-source video emulation of analog TV and VHS artifacts

ntsc.rs

121–130 of 131 posts

Re: Ntsc-rs – open-source video emulation of analog TV and VHS artifacts

#121

Earlier quoted context omitted.

There is, but there isn't one that puts in realistic "teletext sparkles" at the top. I'd donate heavily to one that would actually let you send decodable teletext pages in the output ;-)

like the ones in Holland in the 90s? I don't remember if i noticed it in other countries at that time, but for sure there was like whole text areas on TV channels you could go to, and i think someone at the time told me there was interactive chat through the TV too but they may have been yanking my teenage chain.

There actually were ones that did interactive chat, but that required a modem too.

For teletext it would display 40x25 text with eight colours (the colour control codes took up a character space) and simple block graphics, which was stored in the first 25 lines or so above the top of the screen.

In the UK, the BBC ran Ceefax and ITV ran Teletext, which you could access with a button on your TV remote. These days it's actually possible to recover them from VHS recordings with really careful analysis (the bandwidth wasn't really there for it to work with a naive data slicer). During the day BBC2 ran "Pages from Ceefax" with some library music behind, when it didn't have Test Card F up (making Carole Hersee the most broadcast face on British TV, probably even to this day).

Re: Ntsc-rs – open-source video emulation of analog TV and VHS artifacts

#122
post #76
post #34

Time to wheel out one of my favorite quotes about the signature of a medium: "Whatever you now find weird, ugly, uncomfortable and nasty about a new medium will surely become its signature. CD distortion, the jitteriness of digital video, the crap sound of 8-bit - all of these will be cherished and emulated as soon as they can be avoided. It’s the sound of failure: so much modern art is the sound of things going out…

I don’t it’s the imperfections that are being chased. Most people don’t pay attention to technical details like that. Instead it’s about chasing the era. For example, the 80s/90s seemed like a happier time, for both those who grew up in it and those who don’t, and imperfections like VHS artifacts put the viewer in that mindset.

People need to be careful about romanticizing the 80s & 90s. It was not a golden age. It was full of just as much ugliness as the present day.

Re: Ntsc-rs – open-source video emulation of analog TV and VHS artifacts

#123

I had written a NTSC emulator in C, based on some other equations I had found, although it expects command-line arguments to control many things (such as the phase), and expects a grey scale farbfeld picture as input and produces farbfeld as output, so it is with still pictures rather than videos.

Could you provide a link to your project?

The server is down, but I copied the C code to here

  #include 
  #include 
  #include 
  #include 
  
  #define TAU (6.283185307179586476925286766559005768394)
  
  static unsigned char head[16];
  static float fopt[127];
  static int iopt[127];
  static float*tab;
  static float*buf;
  static float y,i,q,v,phase;
  static int n,s,width;
  
  #define R(a) ((a)>=0?buf[a]:0.0)
  #define C(a) (tab[((a)+iopt['t']+(int)fopt['m'])%iopt['t']])
  
  int main(int argc,char**argv) {
    fopt['1']=0.966882;
    fopt['2']=0.623557;
    fopt['3']=-0.274788;
    fopt['4']=-0.635691;
    fopt['5']=-1.108545;
    fopt['6']=1.709007;
    iopt['y']=12;
    iopt['i']=iopt['q']=24;
    fopt['y']=12.0;
    fopt['i']=fopt['q']=24.0;
    fopt['l']=-11.0;
    fopt['h']=92.0;
    fopt['c']=0.009574;
    fopt['s']=0.8;
    fopt['a']=fopt['m']=fopt['p']=fopt['f']=0.0;
    fopt['t']=12.0;
    iopt['t']=12;
    iopt['v']=0;
    iopt['z']=0;
    fread(head,1,16,stdin);
    width=(head[8]>8); putchar(n);
      // Green
      v=fopt['s']*i/fopt['i'];
      n=(int)fmax(fmin(v*65535.0,65535.0),0.0);
      putchar(n>>8); putchar(n);
      // Blue
      v=fopt['s']*q/fopt['q'];
      n=(int)fmax(fmin(v*65535.0,65535.0),0.0);
      putchar(n>>8); putchar(n);
      // Alpha
      putchar(fgetc(stdin)); putchar(fgetc(stdin));
      if(!(s=(s+1)%width)) fopt['m']+=fopt['p'];
    } else for(;;) {
      if(!s) y=fopt['a'],i=q=0.0;
      n=fgetc(stdin);
      if(n==EOF) break;
      n=(n>8); putchar(n);
      // Green
      v=y*fopt['c']/fopt['y']+i*fopt['3']*fopt['c']*fopt['s']/fopt['i']+q*fopt['4']*fopt['c']*fopt['s']/fopt['q'];
      n=(int)fmax(fmin(v*65535.0,65535.0),0.0);
      putchar(n>>8); putchar(n);
      // Blue
      v=y*fopt['c']/fopt['y']+i*fopt['5']*fopt['c']*fopt['s']/fopt['i']+q*fopt['6']*fopt['c']*fopt['s']/fopt['q'];
      n=(int)fmax(fmin(v*65535.0,65535.0),0.0);
      putchar(n>>8); putchar(n);
      // Alpha
      putchar(fgetc(stdin)); putchar(fgetc(stdin));
      if(!(s=(s+1)%width)) fopt['m']+=fopt['p'];
    }
    return 0;
  }

Re: Ntsc-rs – open-source video emulation of analog TV and VHS artifacts

#124

Earlier quoted context omitted.

PAL and SECAM are also interlaced. Except PAL/SECAM don't have any of the color issues of NTSC.

PAL's lower frame rate made for visible flicker, which viewers conditioned to NTSC could wearily detect.

Film is 24fps which is lower than PAL.

The 30fps of NTSC is actually associated with "cheap-looking" video.

Re: Ntsc-rs – open-source video emulation of analog TV and VHS artifacts

#125

Earlier quoted context omitted.

PAL's lower frame rate made for visible flicker, which viewers conditioned to NTSC could wearily detect.

Film is 24fps which is lower than PAL. The 30fps of NTSC is actually associated with "cheap-looking" video.

NTSC's rate was 29.97 and its lesser line count made images seem blurry to those who were used to PAL and SECAM. Folks viewing PAL after NTSC felt that the flicker caused eye fatigue.

Re: Ntsc-rs – open-source video emulation of analog TV and VHS artifacts

#126

Earlier quoted context omitted.

CD distortion? Did you mean vinyl record distortion?

Probably quantization noise is meant: https://en.wikipedia.org/wiki/Quantization_(signal_processin...

I'm not sure what that sounds like on CD, but if it's a nostalgic relic of the past, then we must have some new format without it?

Re: Ntsc-rs – open-source video emulation of analog TV and VHS artifacts

#127

Relatedly, I recently made a software decoder for SECAM and PAL: https://github.com/grishka/miscellaneous/tree/master/AVDecod... Though in my case the purpose was to digitize my video tapes and teach myself about DSP.

Looks interesting... Is there an equivalent encoder that can be used with this to generate VHS footage purely in software?

There's this: https://codeberg.org/fsphil/hacktv

It's not "VHS footage" though, but it can generate all kinds of analog video signals, some of which my decoder can decode.

Re: Ntsc-rs – open-source video emulation of analog TV and VHS artifacts

#129
post #70

Are there audio emulators out there that simulate VHS compressed warped audio?

VHS audio was superb.

It really was. I recently got on the VHS bandwagon and the audio feels much more richer to me than say a blu-ray or streaming copy. There's something about the imperfections that resonates with me.

Re: Ntsc-rs – open-source video emulation of analog TV and VHS artifacts

#130
post #70

Earlier quoted context omitted.

VHS audio was superb.

It really was. I recently got on the VHS bandwagon and the audio feels much more richer to me than say a blu-ray or streaming copy. There's something about the imperfections that resonates with me.

Not only that but VHS gained "Hi-Fi" in the 80ies. Only a CD had higher quality, but considering the equipment it was played probably not by much.
Post reply on HN