This question has kind of been answered here, but when I try to set the frame rate to the rate listed on the video (30fps in this case) it is still off by a large margin (400 extra video frames out of 18000 sound 'frames'). I have also tried using the speed control to adjust, but it will only correct to one decimal place, which will make the video either noticeably longer or shorter than the sound. I would like to know if there is any way to improve the precision of the speed control feature, or (ideally) set a start and end frame rate, and have blender average the frames in between.
What @batFINGER says is true. If you have your blender anim set at 30fps, but your video is really playing at 29.97 fps, the sound track and video tracks will get imported at different lengths.
presumably because sound is imported as a single item with a timespan, and the video is imported as a range of frames, each being dropped in a frame slot. Someone else may know for sure.
You just need to play with the FPS until the two strips align.
In the first image I have imported a 6mb video at 24fps. The two strips show as different lengths.
In the second image, the strips line up. But I had to use a custom '15fps' because I have a cheap android phone.
Shouldn't be too much of a pain to sort through the dropdown options.
If you need a unique frame rate, you can select 'custom' from the Frame Rate dropdown. (it's the first item, and looks like a title.) Enter something close to actual frame rate. Then you can use the divider '/' field to adjust.
You can see in the images the resulting frame rates are: 31.01, 31.37, and 31.71 respectively.
I'm not sure if this answers your question but if you have premiere or a free equivalent you should be able to get the two together no problem. You just need to make sure that both your Premiere / Blender session are at the same audio sample rate (Audio is my skill set, Blender I'm learning so I hope I'm right here).
Most movies will put the audio in at 48kHz but most audio from CD's etc is 44.1kHz this will make the audio faster. Ideally convert your audio to 48kHz (you could use audacity to do that)
As I say I'm not sure if this is the problem but if your video is 3mins and your sound is 3mins it should match perfectly if it's not there's a sample rate issue I imagine. - I could be totally wrong of course :)