Video Alt Text
GenAIScript supporte la transcription vocale et l’extraction de frames vidéo qui peuvent être combinés pour analyser des vidéos.
Vidéo Texte Alternatif
Section intitulée « Vidéo Texte Alternatif »L’attribut vidéo HTML n’a pas d’attribut alt
.. mais vous pouvez tout de même attacher une description accessible en utilisant l’attribut aria-label
.
Nous allons créer un script qui génère la description en utilisant la transcription et les frames vidéo.
Transcription
Section intitulée « Transcription »Nous utilisons la fonction transcribe
pour générer la transcription. Elle utilisera l’alias de modèle transcription
pour calculer une transcription.
Pour OpenAI, le mode par défaut est openai:whisper-1
.
Les transcriptions sont utiles pour réduire les hallucinations des LLM lors de l’analyse d’images et fournissent également de bons candidats pour les timestamps pour capturer une capture d’écran du flux vidéo.
const file = env.files[0]const transcript = await transcribe(file) // OpenAI whisper
Frames vidéo
Section intitulée « Frames vidéo »L’étape suivante consiste à utiliser la transcription pour capturer des images du flux vidéo. GenAIScript utilise ffmpeg pour rendre les images assurez-vous qu’il l’est installé et configuré.
const frames = await ffmpeg.extractFrames(file, { transcript,})
Contexte
Section intitulée « Contexte »Les deux, transcription et images, sont ajoutées au contexte de l’invite. Étant donné que certaines vidéos peuvent être silencieuses, nous ignorons les transcriptions vides. Nous utilisons également une faible résolution pour les images afin d’améliorer la performance.
def("TRANSCRIPT", transcript?.srt, { ignoreEmpty: true }) // ignore silent videosdefImages(frames, { detail: "low" }) // low detail for better performance
Mise en route ensemble
Section intitulée « Mise en route ensemble »Enfin, nous confions la tâche au LLM pour générer le texte alternatif.
$`You are an expert in assistive technology.You will analyze the video and generate a description alt text for the video.`
En utilisant ce script, vous pouvez générer automatiquement des textes alternatifs de haute qualité pour les vidéos.
genaiscript run video-alt-text path_to_video.mp4
Code source complet
Section intitulée « Code source complet »script({ description: "Generate a description alt text for a video", accept: ".mp4,.webm", system: [ "system.output_plaintext", "system.safety_jailbreak", "system.safety_harmful_content", "system.safety_validate_harmful_content", ], files: "src/audio/helloworld.mp4", model: "vision",});
const file = env.files[0];const transcript = await transcribe(file, { cache: "alt-text" }); // OpenAI whisperconst frames = await ffmpeg.extractFrames(file, { transcript,}); // ffmpeg to extract frames
def("TRANSCRIPT", transcript?.srt, { ignoreEmpty: true }); // ignore silent videosdefImages(frames, { detail: "low" }); // low detail for better performance
$`You are an expert in assistive technology.You will analyze the video and generate a description alt text for the video.
- The video is included as a set of <FRAMES> images and the <TRANSCRIPT>.- Do not include alt text in the description.- Keep it short but descriptive.- Do not generate the [ character.`;