I have tried for three full days to get GAE (standard - nodejs) to run a simple video transcoder from MOV to MP4 using ffmpeg. I have tried using ffluent-ffmpeg, kicking off a child process (e.g. spawn), and nothing works. As soon as it hits the call to the executable it always errors. I have confirmed ffmpeg is installed and even tried using ffmpeg-static. Moreover, I have it working on my local machine with no problems (using all of the aforementioned ways).
I have also tried logging the errors and nothing is really all that helpful. I can see its working through any installed package including ffmpeg (system package).
Below is the pseudo code...step three is where the problem occurs.
- Send file name to GAE endpoint
- Download the file from google cloud storage to a temp file
- Transcode using ffmpeg
- Upload temp file to google cloud storage
- Remove old google cloud storage file
- Remove temp file
The file I am using to test is 6MB...a 5 second video I took on my iPhone. Thank you in advance.
UPDATE: I successfully deployed the exact same code to Node Flex environment and everything works great. I wasn't able to get any errors in the standard environment that directed me where to look but my guess is it has something to do with how it stores the file I pipe into FFMPEG on GAE Node Standard. The docs say its a virtual file system that uses RAM. I'd love to hear if anybody managed to get it working in the standard environment.