1

I'm trying to make a music video for Youtube, with a one stable non-moving image, When I tried to export it at Youtube setting 1080p, the estimated file size was around 500 MB, which is too big for me to upload it to YouTube.

I was wondering if there are any better settings to keep audio quality, but lower the video size as much as possible?

Or should I be using another editing software?

1 Answer 1

2

If you've got your sound file "input.wav" and your image "input.png" ffmpeg can make the movie without any need to go through an editor. FFMPEG is available for free download for your favourite OS. If you're a'feared of the command line, duckduckgo for a GUI front end, there are lots out there.

ffmpeg -loop 1 -i input.png -i input.wav -shortest -pix_fmt yuv420p -tune "stillimage" -r 1 output.mp4

to break it down:

  • the ffmpeg application is controlled by specifying the options and values thus: -option value. Note the dash before the option. Some options don't have values, like the -shortest option (see below). Sometimes they are specified to apply to a particular stream, like -r:v sets the frame rate for the video stream, or -c:a sets the codec for the audio stream.
  • -loop will repeat the png frame forever, you specify it before the input so that fffmpeg knows you mean loop the input, not the output.
  • -i input.png means input, then you specify the path to your image. Easiest way to get the path is to drag the file into the terminal window. Pretty much any image format under the sun will work
  • -i input.wav is the sound, once again, pretty much any sound file will work, and you can get a correctly escaped path by dragginating it.
  • -shortest stops encoding when the shortest input ends—since the image is looped, and therefore infinitely long, it will literally go on encoding until your hard drive is full (or you hit q or ctrlc) if you neglect to add this
  • -pix_fmt yuv420p makes sure you're using 4:2:0 colour, as most image formats will be 4:4:4, so that will save some space
  • -tune "stillimage" tells the encoder (by default the fabulous x.264 encoder, which is way better than anything Adobe use) to optimise its settings for still images. There are a few other tunings like "film" and "animation", they save you having to understand all the arcane tweaks that you can do to get the most out of your encode.
  • -r 1 sets the fram rate to 1 fps for the video. You could perhaps go lower, I'm not sure if it would cause problems.
  • output.mp4 is the name of your output file. FFMPEG recognises the extension and automatically uses the right encoder and multiplexer, so you don't need to know what the difference between encoding and multiplexing even is. Since this isn't an option or value there is no - dash at the start.
2
  • I can't thank you enough for this, thanks a lot for the help, never heard of this and I actually love it, I'll try it and see if the output video is significantly smaller in size than the other ones.
    – PaxBin
    Dec 19, 2017 at 19:37
  • @stib, thank you for taking the time to actually explain the ffmpeg options and not just lobbing a command line grenade out there. Dec 20, 2017 at 0:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.