transitive-bullshit / ffmpeg-concat

Concats a list of videos together using ffmpeg with sexy OpenGL transitions.
877 stars 115 forks source link

Having issues running on headless RHEL7 #133

Open upnorth173 opened 2 years ago

upnorth173 commented 2 years ago

I've been able to successfully run/install ffmpeg-concat on my RHEL8 system with a head/monitor(with ffmpeg 4.2.5). I'm now trying to get it running on a RHEL7 headless system with ffmpeg 4.4. I am using node 14.18.3 and npm 6.14.17. RHEL version is 7.9 fully yum updated. I have installed Xvfb and am running my command as:

xvfb-run -s "-ac -screen 0 1280x1024x24" ffmpeg-concat -t cube -d 3000 -output output1.mp4 0.mp4 1.mp4

I get the following error and I'm not sure where the -u is coming from. I do not see a -u option for ffmpeg.

xvfb-run -s "-ac -screen 0 1280x1024x24" ffmpeg-concat -t cube -d 3000 -output output1.mp4 0.mp4 1.mp4 { cmd: 'ffmpeg -i 0.mp4 -y -loglevel info -pix_fmt rgba -start_number 0 /tmp/6dc10585a942a13e7c2f5885fe3fdbcb/scene-0-%012d.raw' } { cmd: 'ffmpeg -i 1.mp4 -y -loglevel info -pix_fmt rgba -start_number 0 /tmp/6dc10585a942a13e7c2f5885fe3fdbcb/scene-1-%012d.raw' } init-frames: 410.035ms render 0% render 13% render 26% render 38% render 51% render 64% render 77% render 90% render-frames: 1.631s render-audio: 0.094ms { cmd: 'ffmpeg -framerate 25 -vcodec rawvideo -pixel_format rgba -video_size 640x360 -i /tmp/6dc10585a942a13e7c2f5885fe3fdbcb/%012d.raw -y -hide_banner -map_metadata -1 -map_chapters -1 -c:v libx264 -profile:v main -preset medium -crf 20 -movflags faststart -pix_fmt yuv420p -r 25 -u' } ffmpeg-concat: 2.139s concat error Error: ffmpeg exited with code 1: Unrecognized option 'u'. Error splitting the argument list: Option not found

at ChildProcess.<anonymous> (/usr/lib/node_modules/ffmpeg-concat/node_modules/fluent-ffmpeg/lib/processor.js:182:22)
at ChildProcess.emit (events.js:400:28)
at Process.ChildProcess._handle.onexit (internal/child_process.js:282:12)

(node:83388) UnhandledPromiseRejectionWarning: Error: ffmpeg exited with code 1: Unrecognized option 'u'. Error splitting the argument list: Option not found

at ChildProcess.<anonymous> (/usr/lib/node_modules/ffmpeg-concat/node_modules/fluent-ffmpeg/lib/processor.js:182:22)
at ChildProcess.emit (events.js:400:28)
at Process.ChildProcess._handle.onexit (internal/child_process.js:282:12)

(Use node --trace-warnings ... to show where the warning was created) (node:83388) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1) (node:83388) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

upnorth173 commented 2 years ago

I guess I figured out a fix. Put the command ffmpeg-concat -t cube -d 3000 -output output1.mp4 0.mp4 1.mp4 in a bash file list run.sh and then do:

xvfb-run -s "-ac -screen 0 1280x1024x24" run.sh

I'm still curious why: xvfb-run -s "-ac -screen 0 1280x1024x24" ffmpeg-concat -t cube -d 3000 -output output1.mp4 0.mp4 1.mp4

doesn't work if anybody has any ideas