Audio files cannot be passed as URLs
Author: 34jCreated Dec 22, 2025Updated Apr 25, 2026
Labelsb-bug
Describe the bug Audio files cannot be passed as URLs. This problem arises when attempting to use audio files which are automatically generated (e.g. Text-To-Speech).
To Reproduce Steps to reproduce the behavior or a code snippet containing the scene that causes the problem:
import { sound } from '@motion-canvas/core'
export default makeScene2D(function* (view) {
sound("https://revideo-example-assets.s3.amazonaws.com/chill-beat.mp3").play()
});Expected behavior Audio files can be passed as a URL
Console errors
ffmpeg version 6.1-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 8 (Debian 8.3.0-6)
configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
libavutil 58. 29.100 / 58. 29.100
libavcodec 60. 31.102 / 60. 31.102
libavformat 60. 16.100 / 60. 16.100
libavdevice 60. 3.100 / 60. 3.100
libavfilter 9. 12.100 / 9. 12.100
libswscale 7. 5.100 / 7. 5.100
libswresample 4. 12.100 / 4. 12.100
libpostproc 57. 3.100 / 57. 3.100
Input #0, rawvideo, from 'pipe:0':
Duration: N/A, start: 0.000000, bitrate: 3981312 kb/s
Stream #0:0: Video: rawvideo (RGBA / 0x41424752), rgba, 1920x1080, 3981312 kb/s, 60 tbr, 60 tbn
[in#1 @ 0x25671480] Error opening input: Protocol not found
[in#1 @ 0x25671480] Did you mean file:ttps://revideo-example-assets.s3.amazonaws.com/chill-beat.mp3?
Error opening input file ttps://revideo-example-assets.s3.amazonaws.com/chill-beat.mp3.
Error opening input files: Protocol not found
motion-canvas-psdtool/node_modules/.pnpm/[email protected]/node_modules/fluent-ffmpeg/lib/processor.js:180
handleExit(new Error('ffmpeg exited with code ' + code));
^
Error: ffmpeg exited with code 8: Error opening input file ttps://revideo-example-assets.s3.amazonaws.com/chill-beat.mp3.
Error opening input files: Protocol not found
at ChildProcess.<anonymous> (motion-canvas-psdtool/node_modules/.pnpm/[email protected]/node_modules/fluent-ffmpeg/lib/processor.js:180:22)
at ChildProcess.emit (node:events:519:28)
at ChildProcess._handle.onexit (node:internal/child_process:293:12)
Node.js v22.21.1
ELIFECYCLE Command failed with exit code 1.Package versions: Click on the version in the bottom right corner to copy the versions
- core: 3.18.0-alpha.0
- two: 3.18.0-alpha.0
- ui: 3.18.0-alpha.0
- vitePlugin: 3.18.0-alpha.0
Additional context Add any other context about the problem here. @Astavie #1081 #1082
motion-canvas-narrator provides a plugin to download files: https://github.com/prathje/motion-canvas-narrator/blob/cdd5e320ecdfb4c7a98598872b9b71f2c4e0092e/src/vite-plugin/plugin.ts
Source: motion-canvas/motion-canvas