Copy link to clipboard
Copied
Hello,
So on my timeline, I synced with Syncaila all my Video+Audio tracks with my external voice over mics. The voice over track sit just under.
Is there any way to batch link & unlink multiple clips? The option is grayed out.
My solution is to Nest and Detect & Cut scene, but is there anything else I can do?
Copy link to clipboard
Copied
No, linking in Premiere Pro only works for a single audio and video clip stacked vertically in the Timeline.
If you're looking to link multiple clips with matching audio, I recommend exploring the Multicamera Source Sequence feature. You can create this by going to Clip > Create Multicamera Source Sequence. This process will add each clip with its matching audio into its own multicamera sequence, which might suit your workflow better.
For more detailed instructions, check out Adobe's guide here: Create Multicamera Source Sequence.
Copy link to clipboard
Copied
I guess I will have to learn more on how Multicamera Sequence works because, for now, my brain just doesn't see how I can fix my problem with multicamera Sequence.
Copy link to clipboard
Copied
You are trying to link video with separate audio, correct? With maybe different cameras?
If so that's precisely what multicam is for.
Copy link to clipboard
Copied
I have:
50 video files from 1 camera
hour-long audio file from an external mic.
I couldn't create a multicam sequence from the Bin because the audio wasn't matching, I guessed some of it was just too hard for Premiere to sync.
I used Syncaila, synced perfectly, and cut the unwanted silences. Now all my 50 video files have the audio track from the external mics under them.
Now what?
Copy link to clipboard
Copied
Spanned clips? Where the camera auto-cuts the 'running' clip into sections?
Or stopping and starting the camera?
If that, in-camera, was one long clip that the camera broke into sections, how you copy to the computer and how you import are crucial. As if done specifically for that, it will come into Premiere as one file.
Starting then stopping then starting is of course very different.
Copy link to clipboard
Copied
If you selected the bin and then chose Clip > Create Multi-Camera Source Sequence, it wouldn’t find a match because you need to select the items in the bin, not the bin itself.
If you currently have a timeline with 50 video clips and one long audio file, you can break them into individual nested clips where the video and audio are linked by following these steps:
This method will create individual nested clips with your video and audio linked.
Copy link to clipboard
Copied
You would normally start by selecting the media in a bin, right-click "create multicam". That creates a multicam sequence you then start editing. Using the multicam view so you simply tap the image number during playback to cut from one image to another.
Copy link to clipboard
Copied
Linking one or more video and audio clips in Premiere, as Paul wisely suggests, is to be done using the Multicam process.
Copy link to clipboard
Copied
I don't really get how to do such things. I will have to search more on the multicam process.
Everything's on my timeline, all synced perfectly together; from there, I have to merge into multicam sequence?
Copy link to clipboard
Copied
Here's a script I came up with that should do it. It will link audio clips that have the same exact start/end points as each video clip. The video clips should all be on the same track, you can set which one to use by changing the number of the `
/// ---------------- Options ----------------
// You can set this to the track number that contains the video clips you want to link with audio clips
var trackNumberWithVideo = 1;
// The list of audio track numbers it will look for matching audio clips. It will link any audio clips that have the same starting/ending points as each video clip
// Should be a comma-separated list of numbers between brackets, e.g. [1, 2, 3] - For a single track still use brackets like: [1]
var audioTrackNumbersToLink = [1, 2, 3, 4];
// ----------------------------------------------------------------
var activeSeq = app.project.activeSequence;
// First get all the selected items so we can deselect them
var selectedItems = activeSeq.getSelection();
for (var i = 0; i < selectedItems.length; i++) {
selectedItems[i].setSelected(false, true);
}
// Get all the video clips on the track index (trackNumberWithVideo - 1)
var videoClips = [];
for (var i = 0; i < activeSeq.videoTracks[trackNumberWithVideo - 1].clips.numItems; i++) {
var clip = activeSeq.videoTracks[trackNumberWithVideo - 1].clips[i];
videoClips.push(clip);
}
// Create dictionarys to store the clips. The video dictionary will have an index for the key and video clip object as value
// The audio dictionary will have an index for the key and an array of audio clips as value
var videoIndexDict = {};
var audioIndexDict = {};
// Now on each audio track, find any clips that match up with the same starting/ending points as the video clips
for (var i = 0; i < audioTrackNumbersToLink.length; i++) { // Loops per audio track
var audioClips = [];
var audioTrackNumber = audioTrackNumbersToLink[i];
var audioTrackIndex = audioTrackNumber - 1; // Track indexes are 0-based, so we subtract 1 from the audio track number
// Ensure the audio track exists
if (audioTrackNumber > activeSeq.audioTracks.numTracks) {
alert("Audio track " + audioTrackNumbersToLink[i] + " does not exist in the sequence. Be sure to set the audioTrackNumbersToLink variable to existing track numbers.");
continue;
}
// Get the audio clips on the track
for (var j = 0; j < activeSeq.audioTracks[audioTrackIndex].clips.numItems; j++) {
var clip = activeSeq.audioTracks[audioTrackIndex].clips[j];
audioClips.push(clip);
}
// Now compare the audio clips to the video clips
for (var j = 0; j < audioClips.length; j++) {
for (var k = 0; k < videoClips.length; k++) {
if (audioClips[j].start.ticks == videoClips[k].start.ticks && audioClips[j].end.ticks == videoClips[k].end.ticks) {
// Store the clips in the dictionary
// If there's not already a value, create a new array with the audio clip, otherwise add it to the existing array
var videoClip = videoClips[k];
var audioClip = audioClips[j];
// Store clips in Dictionary
videoIndexDict[k] = videoClip;
if (typeof audioIndexDict[k] === 'undefined') {
audioIndexDict[k] = [audioClip];
} else {
audioIndexDict[k].push(audioClip);
}
}
}
}
}
// Now link the clips
for (var key in videoIndexDict) {
var x = Number(key);
var videoClip = videoIndexDict[x];
var audioClipsArray = []; // Ensure it's empty
var audioClipsArray = audioIndexDict[x];
// Select the audio clips then video clip so we can link them
// First parameter is whether to deselect other clips, second parameter is whether to refresh the GUI
for (var i = 0; i < audioClipsArray.length; i++) {
audioClipsArray[i].setSelected(true, false);
}
videoClip.setSelected(true, true);
// Link the selected clips
activeSeq.linkSelection();
// Deselect the audio/video clips again so we can select the next set
for (var i = 0; i < audioClipsArray.length; i++) {
audioClipsArray[i].setSelected(false, false);
}
videoClip.setSelected(false, true);
}
alert("Done linking clips");
Copy link to clipboard
Copied
What a great script! Thanks so much for sharing with us. How Adobe haven't enabled a simple linking function for multiple clips at once, I just can't understand! OP's situation must be a very common thing - I know it's something I have to deal with on just about every job!
Find more inspiration, events, and resources on the new Adobe Community
Explore Now