Does anybody have a technique for importing Netflix audio?

Hi all,

I’m aware that the LingQ import extension doesn’t have the ability to import audio from Netflix. Has anybody come up with a convenient workaround for ripping the audio? I’m aware that this could theoretically be done by using a program like Audacity, but that would require pressing record and then watching the whole show through without a break, just to capture the audio - much more time consuming than would be ideal.

If there is a technique somebody’s come up with, it would certainly make studying Netflix imports easier, as the various characters would not be represented by the same machine voice in playback.

Thanks!

I’ll sniff around in the data later see what I can find. Will probably involve straight ripping the entire video and then converting it using a python script or online tool. Not sure how accessible the video will be, let’s find out.

@roosterburton The migaku add-on allows exporting audio from Netflix (for example, I’ve been able to generate condensed audio from various shows and listen to them from time to time). If I recall correctly, they used external software; surely, something similar could be done. However, be aware, Netflix does not permit audio exporting, so there could be consequences for accounts using this system.

1 Like

Thankyou @srdurden I’ll have a look at that addon.

I did some investigating myself… Basically Netflix doesn’t display a classic video URL to display their content. they use something called a blob object.

See for yourself here.

Netflix Picture

To access this you need to manipulate the data object
Because of the authentication required (Netflix account) it requires running Javascript in the browser or remotely authenticating to Netflix.

Summary

The prefix blob: in a URL stands for “Binary Large Object” and it typically refers to a data construct holding a large chunk of data.

const blobUrl = 'blob:https://www.netflix.com/b5a6504e-593d-4a7e-80a8-0cd7e96f6fca';

fetch(blobUrl)
  .then(response => response.blob())  // Convert the data to a blob
  .then(blob => {
    // Do something with the blob, e.g., read it, convert to text, etc.

    // For example, to convert the blob to text:
    return blob.text();
  })
  .then(text => {
    console.log(text);  // Here you have the content as text
  })
  .catch(error => {
    console.error("There was an error fetching the blob:", error);
  });