I have been using Vegas to render out audio podcasts and the associated jpgs to mp4s. Other than putting them on the timeline and rendering them out individually, is there a quicker way to get them done? Maybe a batch script or even different software? Thanks
No, like with itunes or soundcloud, they play an mp3 (or other audio file) and the program loads an associated image to display. I need to combine them both to make an mp4.
I've been putting both on the timeline and stretching the jpg to the length of the audio and rendering it out. But I am hoping there is a better/quicker way with a batch script or even another program.
They are going to be streamed on Roku, AppleTV, etc. If they are mp4's the user usually can play them straight away. But if it's an audio file, a lot of times, the user has to download and install an additional program. We are trying to avoid that by using video. And the client does not want this on YouTube.
I'm sure a script could be written that would grab image and audio files with similar names from a folder and set the image length to the audio length on the timeline, then batch render it with a pre-selected render preset, but I'm not the one to ask about that. Maybe one of the script writers around here could at least point you in the right direction.
@wwaag, is there any way HOS could pull this off? I haven't even kept up with all the stuff you've been adding to it.
This can easily (I think) be done in FFmpeg with a single command line. Vegas and HOS are not the best tools. If the jpg and audio files have the same file name (except for the extension), then you can batch process them. I"m away from my development machine for the next 2 weeks, but hopefully I can develop and test the basic command line using my laptop. Let me know if you're interested.
Done. Using FFmpeg, here is the basic command line for a single image/audio pair where * denotes the file name. It assumes that the image is a jpg and the audio is a wave file. You can change them to whatever formats you are using--e.g. png or mp3. It does convert the audio to aac. The length of the rendered file is the length of the audio file.
ffmpeg -i "*,jpg" -i "*.wav" -acodec aac "*.mp4"
Here is the command line for batch operation. It assumes that the image and audio files have the same name (except extension) and are in the same folder.
for %a in ("*.jpg") do ffmpeg -i "%~na.jpg" -i "%~na.wav" -acod@ec aac "%~na.mp4"
To run the batch command line you must:
1) Copy ffmpeg.exe into the same folder.
2) Open the command prompt and navigate to the folder
3) Paste the commandline and hit enter. Processing will then start.
I have tested it with some sample jpg and wav files and it seems to work OK. It renders at the default frame rate which is 25fps. This can easily be changed to a different frame rate if desired.
If you are familiar with ffmpeg and use of batch files, you can easily simplify this operation.