75lb / handbrake-js

Video encoding / transcoding / converting for node.js
Other
550 stars 69 forks source link

Subtitles are getting hard-burned into the video #33

Closed unikitty37 closed 5 years ago

unikitty37 commented 5 years ago

I have an input file with two PGS subtitle tracks. I'm trying to recompress the video, and pass audio and subtitle files through untouched.

I'm calling hbjs.spawn with these options:

   hbjs.spawn({
      input: file,
      output: tmpFile,
      preset: 'H.264 MKV 1080p30',
      quality: 23,
      'main-feature': true,
      markers: true,
      'all-audio': true,
      aencoder: 'copy',
      'audio-copy-mask': 'aac,ac3,eac3,truehd,dts,dtshd,mp3,flac',
      'all-subtitles': true,
    })

but the resulting file has one of the subtitle tracks passed through, and the other one burned into the video, making the resulting file useless (as I need to be able to turn the subtitles off when they're not needed).

According to the Handbrake docs (which are always fairly sparse when it comes to the CLI) these options are correct. I tried being explicit by adding 'subtitle-burned': 'none' but it still burns one subtitle track in.

Am I missing something? How can I get it to just pass the subtitles through unchanged?

Thanks

75lb commented 5 years ago

Do these options work correctly when passed directly to HandbrakeCLI? Could you post an example of a working HandbrakeCLI command containing all your desired args which I can use to debug this issue please?

unikitty37 commented 5 years ago

It looks like this is HandbrakeCLI treating --all-subtitles differently from --subtitle=1,2,3…, so I've opened HandBrake/HandBrake#1655 and can close this.

Sorry for wasting your time.