- Give the outputs names based on the input name instead of simply
1.mp4
. - Continue exploring formats.
Video → Raw video
ffmpeg -y -i input.mp4 -f rawvideo -s 1920x1080 -r 25 -pix_fmt rgb24 -an input.raw
Raw video filter as audio
ffmpeg -y -f alaw -ar 44100 -ac 1 -i input.raw -af tremolo -f alaw -ar 44100 -ac 1 output.raw
ffmpeg -y \
-f alaw -ar 44100 -ac 1 -i "examples/video--long--small--1.raw" \
-f alaw -ar 44100 -ac 1 -i "examples/video--long--small--2.raw" \
-filter_complex "amix=duration=shortest" \
-f alaw -ar 44100 -ac 1 "examples/output.raw"
node index.mjs
Raw video play
ffplay -f rawvideo -video_size 1920x1080 -framerate 25 -pixel_format rgb24 -i output.raw
Raw video → Video
ffmpeg -y -f rawvideo -video_size 1920x1080 -framerate 25 -pixel_format rgb24 -i output.raw -s 1920x1080 -r 25 output.mp4
Audio → Raw audio
ffmpeg -y -i input.wav -f alaw -ar 44100 -ac 1 -vn input.raw
Raw audio filter as video
ffmpeg -y -f rawvideo -video_size 100x100 -framerate 5 -pixel_format rgb24 -i input.raw -vf erosion -f rawvideo -video_size 100x100 -framerate 5 -pixel_format rgb24 output.raw
Raw audio play
ffplay -volume 10 -f alaw -ar 44100 -ac 1 -i output.raw
Raw audio → Audio
ffmpeg -y -f alaw -ar 44100 -ac 1 -i output.raw output.wav
Cut long video
ffmpeg -y -ss 00:00:07.00 -t 00:00:10.00 -i "examples/video--long--small.mp4" -f rawvideo -s 960x540 -r 5 -pix_fmt yuva444p9be -an "examples/video--long--small.raw"
- Consider allowing the user to provide presets of filters they like, for example…
- Use https://www.npmjs.com/package/@ffmpeg/ffmpeg and allow you to data bend in the browser without having to upload!
- We could provide just the conversion to raw and then back, to allow for people to bend outside our application, for example, using REAPER.
- Have a way for people to say what bends they liked and what they didn’t like.
Filter | Succeeded | Duration | Interesting |
---|---|---|---|
abench | ✅ | 749ms | ❌ |
acompressor | ✅ | 2045ms | ✅ |
acontrast | ✅ | 1162ms | ✅ |
acopy | ✅ | 812ms | ❌ |
acrusher | ✅ | 1633ms | ❌ |
acue | ✅ | 616ms | ❌ |
adeclick | ✅ | 178770ms | ✅ |
adeclip | ❌ | ||
adecorrelate | ✅ | 2195ms | ✅ |
adelay | ✅ | 683ms | ❌ |
adenorm | ✅ | 780ms | ❌ |
aderivative | ✅ | 833ms | ✅ |
adynamicequalizer | ✅ | 2596ms | ❌ |
adynamicsmooth | ✅ | 1856ms | ✅ |
aecho | ✅ | 980ms | ✅ |
aemphasis | ✅ | 1213ms | ✅ |
aeval | ❌ | 9ms | |
aexciter | ✅ | 1405ms | ✅ |
afade | ✅ | 584ms | ❌ |
afftdn | ✅ | 6038ms | ❌ |
afftfilt | ✅ | 5119ms | ❌ |
afifo | ✅ | 607ms | ❌ |
aformat | ✅ | 739ms | ❌ |
afreqshift | ✅ | 2468ms | ✅ |
afwtdn | ✅ | 4649ms | ❌ |
agate | ✅ | 1415ms | ❌ |
aintegral | ✅ | 607ms | ❌ |
alatency | ✅ | 656ms | ❌ |
alimiter | ✅ | 1222ms | ✅ |
allpass | ✅ | 1339ms | ✅ |
aloop | ✅ | 767ms | ❌ |
ametadata | ❌ | 10ms | |
anlmdn | ❌ | 30006ms | |
anull | ✅ | 715ms | ❌ |
apad | ❌ | 30030ms | |
aperms | ✅ | 9175ms | ❌ |
aphaser | ✅ | 1449ms | ✅ |
aphaseshift | ✅ | 2214ms | ✅ |
apsyclip | ❌ | 30002ms | |
apulsator | ✅ | 2816ms | ✅ |
arealtime | ❌ | 30002ms | |
aresample | ✅ | 668ms | ❌ |
areverse | ✅ | 878ms | ✅ |
arnndn | ❌ | 7ms | |
asendcmd | ❌ | 8ms | |
asetnsamples | ✅ | 609ms | ❌ |
asetpts | ✅ | 753ms | ❌ |
asetrate | ✅ | 1909ms | ✅ |
asettb | ✅ | 617ms | ❌ |
ashowinfo | ✅ | 990ms | ❌ |
asidedata | ❌ | 14ms | |
asoftclip | ✅ | 942ms | ✅ |
aspectralstats | ✅ | 4028ms | ❌ |
astats | ✅ | 1553ms | ❌ |
asubboost | ✅ | 1525ms | ✅ |
asubcut | ✅ | 3627ms | ✅ |
asupercut | ✅ | 2996ms | ✅ |
asuperpass | ✅ | 1944ms | ✅ |
asuperstop | ✅ | 2055ms | ✅ |
atempo | ✅ | 2185ms | ✅ |
atilt | ✅ | 3270ms | ❌ |
atrim | ✅ | 616ms | ❌ |
bandpass | ✅ | 1286ms | ✅ |
bandreject | ✅ | 1255ms | ✅ |
bass | ✅ | 970ms | ❌ |
biquad | ✅ | 668ms | ❌ |
channelmap | ❌ | 8ms | |
chorus | ❌ | 9ms | |
compand | ✅ | 1701ms | ❌ |
compensationdelay | ✅ | 840ms | ❌ |
crossfeed | ✅ | 1312ms | ✅ |
crystalizer | ✅ | 834ms | ✅ |
dcshift | ✅ | 751ms | ❌ |
deesser | ✅ | 1095ms | ❌ |
drmeter | ✅ | 1041ms | ❌ |
dynaudnorm | ✅ | 867ms | ❌ |
earwax | ✅ | 3446ms | ✅ |
equalizer | ✅ | 829ms | ❌ |
extrastereo | ✅ | 1269ms | ✅ |
firequalizer | ✅ | 1379ms | ❌ |
flanger | ✅ | 1424ms | ✅ |
haas | ✅ | 1078ms | ✅ |
hdcd | ❌ | 10ms | |
highpass | ✅ | 1115ms | ✅ |
highshelf | ✅ | 941ms | ❌ |
loudnorm | ✅ | 22511ms | ✅ |
lowpass | ✅ | 883ms | ✅ |
lowshelf | ✅ | 866ms | ❌ |
mcompand | ✅ | 7915ms | ✅ |
pan | ❌ | 7ms | |
replaygain | ✅ | 3043ms | ✅ |
silencedetect | ✅ | 652ms | ❌ |
silenceremove | ✅ | 718ms | ❌ |
speechnorm | ✅ | 949ms | ❌ |
stereotools | ✅ | 1390ms | ✅ |
stereowiden | ✅ | 1062ms | ✅ |
superequalizer | ✅ | 1313ms | ❌ |
surround | ✅ | 10110ms | ✅ |
treble | ✅ | 895ms | ❌ |
tremolo | ✅ | 948ms | ✅ |
vibrato | ✅ | 1057ms | ✅ |
volume | ✅ | 701ms | ❌ |
volumedetect | ✅ | 744ms | ❌ |
Pixel Format | Succeded | Duration |
---|---|---|
0bgr | ✅ | 2820ms |
0rgb | ✅ | 2584ms |
abgr | ✅ | 2573ms |
argb | ✅ | 2424ms |
ayuv64le | ✅ | 4442ms |
bgr0 | ✅ | 2302ms |
bgr24 | ✅ | 1807ms |
bgr4_byte | ✅ | 893ms |
bgr444be | ✅ | 1346ms |
bgr444le | ✅ | 1466ms |
bgr48be | ✅ | 3429ms |
bgr48le | ✅ | 3568ms |
bgr555be | ✅ | 1722ms |
bgr555le | ✅ | 1802ms |
bgr565be | ✅ | 1356ms |
bgr565le | ✅ | 1367ms |
bgr8 | ✅ | 821ms |
bgra | ✅ | 2291ms |
bgra64be | ✅ | 4161ms |
bgra64le | ✅ | 4198ms |
gbrap | ✅ | 2266ms |
gbrap10be | ✅ | 4391ms |
gbrap10le | ✅ | 4596ms |
gbrap12be | ✅ | 4322ms |
gbrap12le | ✅ | 4296ms |
gbrap16be | ✅ | 4263ms |
gbrap16le | ✅ | 4345ms |
gbrapf32be | ✅ | 8565ms |
gbrapf32le | ✅ | 8696ms |
gbrp | ✅ | 2012ms |
gbrp10be | ✅ | 3508ms |
gbrp10le | ✅ | 3579ms |
gbrp12be | ✅ | 3470ms |
gbrp12le | ✅ | 3355ms |
gbrp14be | ✅ | 3764ms |
gbrp14le | ✅ | 3414ms |
gbrp16be | ✅ | 3358ms |
gbrp16le | ✅ | 3824ms |
gbrp9be | ✅ | 3559ms |
gbrp9le | ✅ | 3703ms |
gbrpf32be | ✅ | 6203ms |
gbrpf32le | ✅ | 6664ms |
gray | ✅ | 856ms |
gray10be | ✅ | 1348ms |
gray10le | ✅ | 1344ms |
gray12be | ✅ | 1397ms |
gray12le | ✅ | 1528ms |
gray14be | ✅ | 1494ms |
gray14le | ✅ | 1432ms |
gray16be | ✅ | 1517ms |
gray16le | ✅ | 1581ms |
gray9be | ✅ | 1471ms |
gray9le | ✅ | 1280ms |
grayf32be | ✅ | 2561ms |
grayf32le | ✅ | 2365ms |
monob | ✅ | 360ms |
monow | ✅ | 387ms |
nv12 | ✅ | 1088ms |
nv21 | ✅ | 1090ms |
nv24 | ✅ | 2278ms |
nv42 | ✅ | 2211ms |
p010be | ✅ | 2048ms |
p010le | ✅ | 1915ms |
p016be | ✅ | 2119ms |
p016le | ✅ | 1916ms |
p210be | ✅ | 2531ms |
p210le | ✅ | 2758ms |
p216be | ✅ | 2503ms |
p216le | ✅ | 2376ms |
p410be | ✅ | 3245ms |
p410le | ✅ | 3674ms |
p416be | ✅ | 3392ms |
p416le | ✅ | 3247ms |
rgb0 | ✅ | 2373ms |
rgb24 | ✅ | 1881ms |
rgb4_byte | ✅ | 1052ms |
rgb444be | ✅ | 1809ms |
rgb444le | ✅ | 1722ms |
rgb48be | ✅ | 4094ms |
rgb48le | ✅ | 4478ms |
rgb555be | ✅ | 1407ms |
rgb555le | ✅ | 1560ms |
rgb565be | ✅ | 1925ms |
rgb565le | ✅ | 1716ms |
rgb8 | ✅ | 855ms |
rgba | ✅ | 2348ms |
rgba64be | ✅ | 4337ms |
rgba64le | ✅ | 5260ms |
uyvy422 | ✅ | 1732ms |
x2bgr10le | ✅ | 2713ms |
x2rgb10le | ✅ | 2335ms |
xyz12be | ✅ | 4164ms |
xyz12le | ✅ | 3808ms |
ya16be | ✅ | 2725ms |
ya16le | ✅ | 2749ms |
ya8 | ✅ | 1487ms |
yuv410p | ✅ | 885ms |
yuv411p | ✅ | 1071ms |
yuv420p | ✅ | 1064ms |
yuv420p10be | ✅ | 1861ms |
yuv420p10le | ✅ | 2024ms |
yuv420p12be | ✅ | 1983ms |
yuv420p12le | ✅ | 1805ms |
yuv420p14be | ✅ | 2187ms |
yuv420p14le | ✅ | 2524ms |
yuv420p16be | ✅ | 1840ms |
yuv420p16le | ✅ | 1716ms |
yuv420p9be | ✅ | 2085ms |
yuv420p9le | ✅ | 1746ms |
yuv422p | ✅ | 1287ms |
yuv422p10be | ✅ | 2551ms |
yuv422p10le | ✅ | 2384ms |
yuv422p12be | ✅ | 2463ms |
yuv422p12le | ✅ | 2274ms |
yuv422p14be | ✅ | 3359ms |
yuv422p14le | ✅ | 2825ms |
yuv422p16be | ✅ | 2317ms |
yuv422p16le | ✅ | 2694ms |
yuv422p9be | ✅ | 2649ms |
yuv422p9le | ✅ | 2368ms |
yuv440p | ✅ | 1345ms |
yuv440p10be | ✅ | 2520ms |
yuv440p10le | ✅ | 2467ms |
yuv440p12be | ✅ | 2388ms |
yuv440p12le | ✅ | 2451ms |
yuv444p | ✅ | 1915ms |
yuv444p10be | ✅ | 3571ms |
yuv444p10le | ✅ | 3460ms |
yuv444p12be | ✅ | 3506ms |
yuv444p12le | ✅ | 3924ms |
yuv444p14be | ✅ | 3835ms |
yuv444p14le | ✅ | 3426ms |
yuv444p16be | ✅ | 3502ms |
yuv444p16le | ✅ | 3311ms |
yuv444p9be | ✅ | 3507ms |
yuv444p9le | ✅ | 3798ms |
yuva420p | ✅ | 1845ms |
yuva420p10be | ✅ | 3250ms |
yuva420p10le | ✅ | 2824ms |
yuva420p16be | ✅ | 3003ms |
yuva420p16le | ✅ | 2669ms |
yuva420p9be | ✅ | 2702ms |
yuva420p9le | ✅ | 3128ms |
yuva422p | ✅ | 1843ms |
yuva422p10be | ✅ | 3287ms |
yuva422p10le | ✅ | 3813ms |
yuva422p12be | ✅ | 3972ms |
yuva422p12le | ✅ | 3912ms |
yuva422p16be | ✅ | 3960ms |
yuva422p16le | ✅ | 3238ms |
yuva422p9be | ✅ | 3202ms |
yuva422p9le | ✅ | 3183ms |
yuva444p | ✅ | 2202ms |
yuva444p10be | ✅ | 4905ms |
yuva444p10le | ✅ | 4462ms |
yuva444p12be | ✅ | 4511ms |
yuva444p12le | ✅ | 4549ms |
yuva444p16be | ✅ | 4424ms |
yuva444p16le | ✅ | 4255ms |
yuva444p9be | ✅ | 4767ms |
yuva444p9le | ✅ | 4186ms |
yuvj411p | ✅ | 1255ms |
yuvj420p | ✅ | 1348ms |
yuvj422p | ✅ | 1389ms |
yuvj440p | ✅ | 1294ms |
yuvj444p | ✅ | 1754ms |
yuyv422 | ✅ | 1813ms |
yvyu422 | ✅ | 1367ms |
Audio Format | Succeded | Duration |
---|---|---|
alaw | ✅ | 806ms |
f32be | ✅ | 567ms |
f32le | ✅ | 564ms |
f64be | ✅ | 559ms |
f64le | ✅ | 530ms |
mulaw | ✅ | 753ms |
s16be | ✅ | 643ms |
s16le | ✅ | 636ms |
s24be | ✅ | 592ms |
s24le | ✅ | 609ms |
s32be | ✅ | 578ms |
s32le | ✅ | 576ms |
s8 | ✅ | 693ms |
u16be | ✅ | 687ms |
u16le | ✅ | 650ms |
u24be | ✅ | 637ms |
u24le | ✅ | 656ms |
u32be | ✅ | 679ms |
u32le | ✅ | 662ms |
u8 | ✅ | 689ms |
vidc | ✅ | 835ms |