Recherche avancée

Médias (3)

Mot : - Tags -/collection

Autres articles (62)

Sur d’autres sites (8255)

  • Anomalie #4187 : Connecté en Anglais (langue principale français) pas de bouton pour ajouter les p...

    4 octobre 2018, par Jacques Bouthier

    Bon, après quelques essais :
    - en fonction des plugins sélectionnés par le critère de recherche parfois tout fonctionne correctement. Par exemple si je recherche avec le critère de recherche "media", 5 plugins sont affichés de façon correcte et si j’en sélectionne un les boutons "upload" et "upload and activate" sont bien présents.
    - si je recherche (avec comme langue l’anglais) des plugins avec comme critère "edit" ou "encore" ou "modele" ... des plugins remontent qui cassent la présentation et du coup les boutons upload ne sont pas dispos.

    Le seul point commun que j’ai trouvé dans le paquet.xml de ces plugins est la présence de caractères comme par exemple pour afficher un slogan au lieu de le mettre comme recommandé comme chaine de langue dans un fichier de langue.

    Je ne m’explique pas pourquoi ce code casserait le fonctionnement en trad et pas en français...

  • getting a `InValid URL` when I send a voice message

    9 septembre 2023, par Ammad

    When I try to send voice messages I always get invalid url error with. I am using whisper to convert the audio to text but for some reason I cannot seem to pass the file to the whisper. It worked when I used this in java script but not in typescript for some reason

    


    async function createFile(path: string): Promise<file> {&#xA;  const response = await fetch(path);&#xA;  const data = await response.blob();&#xA;  &#xA;  // Extract file name from the path&#xA;  const fileName = path.split(&#x27;/&#x27;).pop() || &#x27;unknown&#x27;;&#xA;  &#xA;  // Extract file extension and determine MIME type&#xA;  const fileExtension = fileName.split(&#x27;.&#x27;).pop()?.toLowerCase() || &#x27;&#x27;;&#xA;  const mimeTypes: Record = {&#xA;    &#x27;mp3&#x27;: &#x27;audio/mpeg&#x27;,&#xA;    // Add more mappings as needed&#xA;  };&#xA;  const fileType = mimeTypes[fileExtension] || &#x27;application/octet-stream&#x27;;&#xA;  &#xA;  const metadata = {&#xA;    type: fileType&#xA;  };&#xA;  &#xA;  return new File([data], fileName, metadata);&#xA;}&#xA;&#xA;async function sendAudioForTranscription(file_path:string) {&#xA;  try {&#xA;    &#xA;    // const audioData = fs.createReadStream(file_path);&#xA;    const audioFile = await createFile(file_path)&#xA;&#xA;    const response = await openai.createTranscription(audioFile, "whisper-1");&#xA;    const transcribed = response.data.text;&#xA;&#xA;    return transcribed;&#xA;  } catch (error) {&#xA;    console.error("Error transcribing the audio:", error);&#xA;    return null;&#xA;  }&#xA;}&#xA;</file>

    &#xA;

    I am new to this so any help would be appreciated. This is the error

    &#xA;

    Error transcribing the audio: TypeError: Failed to parse URL from src\audio_files\false_xxxxxxxxx8@c.us_B161BC6FA04DB01B8B31F5E0F83EDAD5.mp3&#xA;    at Object.fetch (node:internal/deps/undici/undici:11576:11)&#xA;    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {&#xA;  [cause]: TypeError [ERR_INVALID_URL]: Invalid URL&#xA;      at new NodeError (node:internal/errors:405:5)&#xA;      at new URL (node:internal/url:778:13)&#xA;      at new Request (node:internal/deps/undici/undici:7132:25)&#xA;      at fetch2 (node:internal/deps/undici/undici:10715:25)&#xA;      at Object.fetch (node:internal/deps/undici/undici:11574:18)&#xA;      at fetch (node:internal/process/pre_execution:270:25)&#xA;      at C:\Users\Ammad Ali\Documents\Documents\alex-whatsapp-bot\build\openai\transcript.js:28:32&#xA;      at C:\Users\Ammad Ali\Documents\Documents\alex-whatsapp-bot\build\openai\transcript.js:8:71&#xA;      at new Promise (<anonymous>)&#xA;      at __awaiter (C:\Users\Ammad Ali\Documents\Documents\alex-whatsapp-bot\build\openai\transcript.js:4:12)&#xA;      at createFile (C:\Users\Ammad Ali\Documents\Documents\alex-whatsapp-bot\build\openai\transcript.js:27:12)&#xA;      at Object.<anonymous> (C:\Users\Ammad Ali\Documents\Documents\alex-whatsapp-bot\build\openai\transcript.js:49:37)&#xA;      at Generator.next (<anonymous>)&#xA;      at C:\Users\Ammad Ali\Documents\Documents\alex-whatsapp-bot\build\openai\transcript.js:8:71&#xA;      at new Promise (<anonymous>) {&#xA;    input: &#x27;src\\audio_files\\false_xxxxxxxxx8@c.us_B161BC6FA04DB01B8B31F5E0F83EDAD5.mp3&#x27;,&#xA;    code: &#x27;ERR_INVALID_URL&#x27;&#xA;  }&#xA;}&#xA;</anonymous></anonymous></anonymous></anonymous>

    &#xA;

    To get a response back in voice message

    &#xA;

  • Input seeking for frame at specified timestamp with Py-AV

    9 décembre 2019, par neonScarecrow

    I have a project already using Py-AV and am trying to replicate a specific ffmpeg command. The goal is to get a frame roughly around the specified timestamp.

    Here’s the ffmpeg commmand :
    https://trac.ffmpeg.org/wiki/Seeking

    ffmpeg -ss 14 -i https://some_url.mp4 -frames:v 1 frame_at_14_seconds.jpg

    Here’s my code :

       #return one frame around 14 seconds into the movie
       target_sec = 14
       container = av.open('https://some_url.mp4', 'r')
       container.streams.video[0].thread_type = 'AUTO'
       video_stream = next(s for s in container.streams if s.type == 'video')
       time_base = float(video_stream.time_base)
       target_timestamp = int(target_sec / time_base) + video_stream.start_time
       video_stream.seek(target_timestamp)
       for frame in container.decode(video_stream):
           frame.to_image().save('frame_at_14_seconds.jpg')
           break

    Additionally, I have found any documentation about this, but does anyone know if either command (ffmpeg/av.open) is downloading the entire file to a tmp file behind the scenes. I’m looking for a less memory-intensive way to read a frame for every second in an up to 60 second video.