moviemasher / moviemasher.js

JavaScript library for realtime, browser-based video and audio editing
Mozilla Public License 2.0
305 stars 62 forks source link

Encountered with error while rendering with audio file #46

Open manojmmewara opened 1 year ago

manojmmewara commented 1 year ago

Hi @syntropo while testing a few functionalities on Moviemasher 5.1.1 I encountered one issue: When tried to render an audio file along with video, the render server was throwing the error "matches no streams" and couldn't complete the render. Below is the complete log. Can you please suggest what is causing the issue or if I can fix it by making any code changes? Thanks !!!

0|server | { 0|server | error: '/home/node/app/workspaces/example-express-react/host/public/media/admin/a03089f5-2b61-46ac-8884-642b8e3a0031/76749934-c41a-4c56-9c28-0e35341b0ba7/video.mp4 failed\n' + 0|server | "Error: ffmpeg exited with code 1: Stream specifier ':v' in filtergraph description [2:v]copy;aevalsrc=exprs=0:duration=5.7[SILENCE];[0:a]atrim=duration=5.7[atrim10];[SILENCE][atrim10]amix=normalize=0[clip4];[1:a]atrim=duration=3.2[atrim11];[atrim11]adelay=delays=100:all=1[adelay1];[clip4][adelay1]amix=normalize=0 matches no streams.\n" + 0|server | 'ffmpeg\n' + 0|server | '-i workspaces/example-express-react/host/public/media/admin/a03089f5-2b61-46ac-8884-642b8e3a0031/76749934-c41a-4c56-9c28-0e35341b0ba7/video.concat/concat.txt\n' + 0|server | '\n' + 0|server | '-i workspaces/example-express-react/host/public/media/admin/328222cc-f99c-4585-884a-e05d9ed8135c/original.mp4\n' + 0|server | '\n' + 0|server | '-i workspaces/example-express-react/host/public/media/admin/71b4206f-1faf-45c2-ae8d-3ae791291e40/original.mp3\n' + 0|server | '\n' + 0|server | '-y\n' + 0|server | '\n' + 0|server | '-filter_complex \n' + 0|server | '[2:v]copy;\n' + 0|server | '\n' + 0|server | 'aevalsrc=exprs=0:duration=5.7[SILENCE];\n' + 0|server | '\n' + 0|server | '[0:a]atrim=duration=5.7[atrim10];\n' + 0|server | '[SILENCE][atrim10]amix=normalize=0[clip4];\n' + 0|server | '\n' + 0|server | '[1:a]atrim=duration=3.2[atrim11];\n' + 0|server | '[atrim11]adelay=delays=100:all=1[adelay1];\n' + 0|server | '[clip4][adelay1]amix=normalize=0\n' + 0|server | '\n' + 0|server | '-acodec aac\n' + 0|server | '\n' + 0|server | '-b:a 160k\n' + 0|server | '\n' + 0|server | '-ac\n' + 0|server | '\n' + 0|server | '-ar\n' + 0|server | '\n' + 0|server | '-vcodec libx264\n' + 0|server | '\n' + 0|server | '-r\n' + 0|server | '\n' + 0|server | '-g 60\n' + 0|server | '\n' + 0|server | '-level 41\n' + 0|server | '\n' + 0|server | '-movflags faststart\n' + 0|server | '\n' + 0|server | '-t 5.7\n' + 0|server | '\n' + 0|server | '-hide_banner\n' + 0|server | '\n' + 0|server | '-shortest\n' + 0|server | '\n' + 0|server | '-c:v copy\n' + 0|server | '\n' + 0|server | '/home/node/app/workspaces/example-express-react/host/public/media/admin/a03089f5-2b61-46ac-8884-642b8e3a0031/76749934-c41a-4c56-9c28-0e35341b0ba7/video.mp4\n' + 0|server | '\n' + 0|server | "Error: ffmpeg exited with code 1: Stream specifier ':v' in filtergraph description [2:v]copy;aevalsrc=exprs=0:duration=5.7[SILENCE];[0:a]atrim=duration=5.7[atrim10];[SILENCE][atrim10]amix=normalize=0[clip4];[1:a]atrim=duration=3.2[atrim11];[atrim11]adelay=delays=100:all=1[adelay1];[clip4][adelay1]amix=normalize=0 matches no streams.\n" + 0|server | '\n' + 0|server | '\n' + 0|server | '\n' + 0|server | '\n' + 0|server | "Input #0, concat, from '/home/node/app/workspaces/example-express-react/host/public/media/admin/a03089f5-2b61-46ac-8884-642b8e3a0031/76749934-c41a-4c56-9c28-0e35341b0ba7/video.concat/concat.txt':\n" + 0|server | ' Duration: 00:00:05.70, start: 0.000000, bitrate: 0 kb/s\n' + 0|server | ' Stream #0:0: Video: h264 (High 4:4:4 Predictive) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 90k tbn\n' + 0|server | "Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/home/node/app/workspaces/example-express-react/host/public/media/admin/328222cc-f99c-4585-884a-e05d9ed8135c/original.mp4':\n" + 0|server | ' Metadata:\n' + 0|server | ' major_brand : isom\n' + 0|server | ' minor_version : 512\n' + 0|server | ' compatible_brands: isomiso2avc1mp41\n' + 0|server | ' encoder : Lavf58.44.100\n' + 0|server | ' Duration: 00:00:05.76, start: 0.000000, bitrate: 3956 kb/s\n' + 0|server | ' Stream #1:00x1: Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 3857 kb/s, 30 fps, 30 tbr, 15360 tbn (default)\n' + 0|server | ' Metadata:\n' + 0|server | ' handler_name : ISO Media file produced by Google Inc. Created on: 08/17/2020.\n' + 0|server | ' vendor_id : [0][0][0][0]\n' + 0|server | ' Stream #1:10x2: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)\n' + 0|server | ' Metadata:\n' + 0|server | ' handler_name : ISO Media file produced by Google Inc. Created on: 08/17/2020.\n' + 0|server | ' vendor_id : [0][0][0][0]\n' + 0|server | "Input #2, mp3, from '/home/node/app/workspaces/example-express-react/host/public/media/admin/71b4206f-1faf-45c2-ae8d-3ae791291e40/original.mp3':\n" + 0|server | ' Metadata:\n' + 0|server | ' encoder : Lavf57.83.100\n' + 0|server | ' Duration: 00:00:03.24, start: 0.025057, bitrate: 128 kb/s\n' + 0|server | ' Stream #2:0: Audio: mp3, 44100 Hz, stereo, fltp, 128 kb/s\n' + 0|server | ' Metadata:\n' + 0|server | ' encoder : Lavc57.10\n' + 0|server | "Stream specifier ':v' in filtergraph description [2:v]copy;aevalsrc=exprs=0:duration=5.7[SILENCE];[0:a]atrim=duration=5.7[atrim10];[SILENCE][atrim10]amix=normalize=0[clip4];[1:a]atrim=duration=3.2[atrim11];[atrim11]adelay=delays=100:all=1[adelay1];[clip4][adelay1]amix=normalize=0 matches no streams.\n" + 0|server | '\n' + 0|server | '\n' + 0|server | "ffmpeg -i workspaces/example-express-react/host/public/media/admin/a03089f5-2b61-46ac-8884-642b8e3a0031/76749934-c41a-4c56-9c28-0e35341b0ba7/video.concat/concat.txt -i workspaces/example-express-react/host/public/media/admin/328222cc-f99c-4585-884a-e05d9ed8135c/original.mp4 -i workspaces/example-express-react/host/public/media/admin/71b4206f-1faf-45c2-ae8d-3ae791291e40/original.mp3 -y -filter_complex '[2:v]copy;aevalsrc=exprs=0:duration=5.7[SILENCE];[0:a]atrim=duration=5.7[atrim10];[SILENCE][atrim10]amix=normalize=0[clip4];[1:a]atrim=duration=3.2[atrim11];[atrim11]adelay=delays=100:all=1[adelay1];[clip4][adelay1]amix=normalize=0' -acodec aac -b:a 160k -ac -ar -vcodec libx264 -r -g 60 -level 41 -movflags faststart -t 5.7 -hide_banner -shortest -c:v copy /home/node/app/workspaces/example-express-react/host/public/media/admin/a03089f5-2b61-46ac-8884-642b8e3a0031/76749934-c41a-4c56-9c28-0e35341b0ba7/video.mp4" 0|server | }

syntropo commented 1 year ago

Thanks for the bug report - seems like there's confusion as to input indices when multiple audio tracks are used. Will address in the next version which includes a better testing regime for rendering.

manojmmewara commented 1 year ago

Thanks for the quick response @syntropo, I also observed an issue while rendering a couple of videos together [found related to audio stream index and [2:v]copy filter in filter_complex ]: Here is how it looks like:

Command-1 Moviemasher generating: ffmpeg -i /home/osboxes/itt-bitbucket/videoeditor5.1.1/server/public/media/gcytc/769ec14f-08c7-4cca-8301-34f3a997e9c6/9e7777f6-d86f-413f-b738-b99202cf40ca/video.concat/concat.txt -i /home/osboxes/itt-bitbucket/videoeditor5.1.1/server/public/media/gcytc/8aea427b-2edc-4e91-8c66-8282dd5c53f6/original.mp4 -i /home/osboxes/itt-bitbucket/videoeditor5.1.1/server/public/media/gcytc/6c2cee52-6467-48ef-b3c7-6bccfd034917/original.mp4 -y -filter_complex '[2:v]copy;aevalsrc=exprs=0:duration=10.3[SILENCE];[0:a]atrim=duration=5.7[atrim4];[SILENCE][atrim4]amix=normalize=0[clip3];[1:a]atrim=duration=10[atrim5];[atrim5]adelay=delays=300:all=1[adelay1];[clip3][adelay1]amix=normalize=0' -acodec aac -b:a 160k -ac 2 -ar 44100 -vcodec libx264 -r 30 -g 60 -level 41 -movflags faststart -c:v copy -t 10.3 -hide_banner -shortest /home/osboxes/itt-bitbucket/videoeditor5.1.1/server/public/media/gcytc/769ec14f-08c7-4cca-8301-34f3a997e9c6/9e7777f6-d86f-413f-b738-b99202cf40ca/video.mp4

Error while running command-1: Stream specifier ':a' in filtergraph description [2:v]copy;aevalsrc=exprs=0:duration=10.3[SILENCE];[0:a]atrim=duration=5.7[atrim4];[SILENCE][atrim4]amix=normalize=0[clip3];[1:a]atrim=duration=10[atrim5];[atrim5]adelay=delays=300:all=1[adelay1];[clip3][adelay1]amix=normalize=0 matches no streams.

After updating audio stream index Command-2: ffmpeg -i /home/osboxes/itt-bitbucket/videoeditor5.1.1/server/public/media/gcytc/769ec14f-08c7-4cca-8301-34f3a997e9c6/9e7777f6-d86f-413f-b738-b99202cf40ca/video.concat/concat.txt -i /home/osboxes/itt-bitbucket/videoeditor5.1.1/server/public/media/gcytc/8aea427b-2edc-4e91-8c66-8282dd5c53f6/original.mp4 -i /home/osboxes/itt-bitbucket/videoeditor5.1.1/server/public/media/gcytc/6c2cee52-6467-48ef-b3c7-6bccfd034917/original.mp4 -y -filter_complex '[2:v]copy;aevalsrc=exprs=0:duration=10.3[SILENCE];[1:a]atrim=duration=5.7[atrim4];[SILENCE][atrim4]amix=normalize=0[clip3];[1:a]atrim=duration=10[atrim5];[atrim5]adelay=delays=300:all=1[adelay1];[clip3][adelay1]amix=normalize=0' -acodec aac -b:a 160k -ac 2 -ar 44100 -vcodec libx264 -r 30 -g 60 -level 41 -movflags faststart -c:v copy -t 10.3 -hide_banner -shortest /home/osboxes/itt-bitbucket/videoeditor5.1.1/server/public/media/gcytc/769ec14f-08c7-4cca-8301-34f3a997e9c6/9e7777f6-d86f-413f-b738-b99202cf40ca/video.mp4

Error while running command-2: Streamcopy requested for output stream 0:0, which is fed from a complex filtergraph. Filtering and streamcopy cannot be used together.

After removing [2:v]copy filter Command-3: ffmpeg -i /home/osboxes/itt-bitbucket/videoeditor5.1.1/server/public/media/gcytc/769ec14f-08c7-4cca-8301-34f3a997e9c6/9e7777f6-d86f-413f-b738-b99202cf40ca/video.concat/concat.txt -i /home/osboxes/itt-bitbucket/videoeditor5.1.1/server/public/media/gcytc/8aea427b-2edc-4e91-8c66-8282dd5c53f6/original.mp4 -i /home/osboxes/itt-bitbucket/videoeditor5.1.1/server/public/media/gcytc/6c2cee52-6467-48ef-b3c7-6bccfd034917/original.mp4 -y -filter_complex 'aevalsrc=exprs=0:duration=10.3[SILENCE];[1:a]atrim=duration=5.7[atrim4];[SILENCE][atrim4]amix=normalize=0[clip3];[1:a]atrim=duration=10[atrim5];[atrim5]adelay=delays=300:all=1[adelay1];[clip3][adelay1]amix=normalize=0' -acodec aac -b:a 160k -ac 2 -ar 44100 -vcodec libx264 -r 30 -g 60 -level 41 -movflags faststart -c:v copy -t 10.3 -hide_banner -shortest /home/osboxes/itt-bitbucket/videoeditor5.1.1/server/public/media/gcytc/769ec14f-08c7-4cca-8301-34f3a997e9c6/9e7777f6-d86f-413f-b738-b99202cf40ca/video.mp4

Command is executing !!!