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>
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:
- Audio is extracted automatically
- Whisper transcribes the audio
- All results are cached for future queries
See also