Skip to main content
Open in Kaggle  Open in Colab  Download Notebook
This documentation page is also available as an interactive notebook. You can launch the notebook in Kaggle or Colab, or download it for use with an IDE or local Jupyter installation, by clicking one of the above links.
Extract the audio track from video files for transcription, analysis, or processing.

Problem

You have video files but need to work with just the audio track—for transcription, speaker analysis, or audio processing. Extracting audio manually with ffmpeg is tedious and doesn’t integrate with your data pipeline.

Solution

What’s in this recipe:
  • Extract audio from video as a computed column
  • Choose audio format (mp3, wav, flac)
  • Chain with transcription for automatic video-to-text
You use the extract_audio function to create an audio column from video. This integrates seamlessly with transcription and other audio processing.

Setup

Connected to Pixeltable database at: postgresql+psycopg://postgres:@/pixeltable?host=/Users/pjlb/.pixeltable/pgdata
Created directory ‘audio_extract_demo’.
<pixeltable.catalog.dir.Dir at 0x1061fc510>

Extract audio from video

Created table ‘videos’.
Added 0 column values with 0 errors.
No rows affected.
Inserting rows into `videos`: 1 rows [00:00, 207.52 rows/s]
Inserted 1 row with 0 errors.
1 row inserted, 4 values computed.

Chain with transcription

Add transcription as a follow-up computed column:
Added 1 column value with 0 errors.
1 row updated, 1 value computed.
Added 1 column value with 0 errors.
1 row updated, 1 value computed.

Explanation

Audio format options:
Pipeline flow:
Video → extract_audio → Audio → whisper.transcribe → Transcript
Each step is a computed column. When you insert a new video:
  1. Audio is extracted automatically
  2. Whisper transcribes the audio
  3. All results are cached for future queries

See also

Last modified on June 24, 2026