Audio podcast to video?

YesMaestro wrote on 9/13/2019, 9:00 AM

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


rraud wrote on 9/13/2019, 1:08 PM

Are you saying you wish to render separate audio and video files at the same time? Like elementary streams (for DVD or BU) which are two files, one contains the audio, the other, video?

YesMaestro wrote on 9/13/2019, 6:49 PM

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.

FayFen wrote on 9/14/2019, 2:54 AM

But why you need to make that mp4's? with mp3tag you can put your image inside the mp3's.

fr0sty wrote on 9/14/2019, 4:50 AM

One benefit of making it an mp4 would be the ability to upload it to video share sites like youtube.

One drawback is you end up with a much larger file when, as pointed out above, an mp3 with an included image would do the trick.

FayFen wrote on 9/14/2019, 8:07 AM

On Youtube you can create slideshow with audio. so I guess one can upload image and the podcast.

YesMaestro wrote on 9/14/2019, 11:38 AM

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.

fr0sty wrote on 9/14/2019, 1:27 PM

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.

wwaag wrote on 9/14/2019, 10:22 PM

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.

wwaag wrote on 9/15/2019, 10:15 AM

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.


YesMaestro wrote on 10/17/2019, 1:47 PM

Hi wwaag, thanks for the script. Sorry for the late reply but I was out of the country for several weeks. I'll give it a try.