8 months ago
Railway FFmpeg Video Processing Issue Report
Issue Description
Complex multi-video processing with transitions consistently fails on Railway with SIGKILL, while simple single-video processing works reliably.
Technical Details
Environment:
- Platform: Railway
- Resources: 4GB RAM, 2 vCPUs, 60-minute timeout
- FFmpeg: Properly installed at
/usr/bin/ffmpeg
Failure Pattern:
- Complex filter (3 videos + transitions): Consistent SIGKILL termination
- Simple filter (1 video): Consistent success
- Same complex operations work in 20 second on local laptop
Error Logs:
Process exited with code: null signal: SIGKILLWorking vs Failing Filters:
Failing (SIGKILL):
javascript
const filter = [
`[0:v]setpts=PTS/1.2,fps=24,eq=saturation=1.5[v0];` +
`[1:v]setpts=PTS/1.2,fps=24,eq=saturation=1.5[v1];` +
`[2:v]setpts=PTS/1.2,fps=24,eq=saturation=1.5[v2];`,
`[v0][v1]${transition}[v01];` +
`[v01][v2]${transition2}[outv]`
];Working:
javascript
const filter = `[0:v]setpts=PTS/1.2,fps=24,eq=saturation=1.5[outv]`;Root Cause Analysis
The consistent SIGKILL during multi-video processing indicates Railway's container environment cannot handle the memory requirements for processing multiple simultaneous video streams with complex transitions, despite having 4GB RAM allocated.
Platform Comparison
- Railway: Complex filter fails with SIGKILL, simple filter works
- Google Cloud Run: Complex filter hangs indefinitely, simple filter works
- Local environment: All operations work in ~20 second
LINK GITHUB : https://github.com/hasanbarsi1/video%5Fedit%5Fapi
2 Replies
8 months ago
Hey there! We've found the following might help you get unblocked faster:
- 📚 Config as Code
- 🧵 Issue with Custom Binary (ffmpeg) Path in Railway Deployment
- 🧵 Volumes and tmp storage space
- 🧵 Memory Issue ? Python Flask - Audio Processing Project - Pydub - Worker was sent SIGKILL!
If you find the answer from one of these, please let us know by solving the thread!
8 months ago
This thread has been marked as public for community involvement, as it does not contain any sensitive or personal information. Any further activity in this thread will be visible to everyone.
Status changed to Open ray-chen • 8 months ago
8 months ago
Try adding these options to your existing FFmpeg command:
.outputOptions([
'-max_muxing_queue_size', '1024',
'-threads', '1',
'-preset', 'ultrafast'
])
This should prevent the SIGKILL.