Need to add music to video only to some parts For example from 100frame to 500frame (4s - 20s)
Overall task is to merge a lot of videos and add music only to some of them.
You can put the audio and video on different tracks and use the mix transition to combine the audio.
# melt video.mp4 \
-audio-track -blank 100 audio.mp3 \
-transition mix in=100 out=500 a_track=0 b_track=1
Further explanation here: https://www.mltframework.org/bin/view/MLT/MltMelt#Transitions
Mix transition documentation here: https://www.mltframework.org/bin/view/MLT/TransitionMix
EDIT1:
To mute the audio from a video clip, you can apply the volume filter:
# melt video.mp4 -attach-clip volume gain=0 ...
To change the volume of a clip, you can also apply the volume filter:
... -audio-track -blank 100 audio.mp3 -attache-clip volume gain=3dB ...
Volume filter documentation: https://www.mltframework.org/bin/view/MLT/FilterVolume
To stop the music playing, you should set an "out" point. Also, you should put all the audio clips on one track and then specify the transitions:
# melt video.mp4 -attach-clip volume gain=0 \
-audio-track -blank 100 audio1.mp3 out=400 -blank 300 audio2.mp3 out=400 \
-transition mix in=100 out=500 a_track=0 b_track=1
-transition mix in=800 out=1200 a_track=0 b_track=1