<p>Rather than framerate, the issue is there's only one frame. You'll have to loop the image.</p>

<pre><code>ffmpeg -i Audio.opus -loop 1 -i image.png -pix_fmt yuv420p -ac 2 -s 640x360 -strict strict -r pal -shortest myAudioFile.webm
</code></pre>

<ul>
<li><code>-loop 1</code> : infinitely loops over the same image</li>
<li><code>-shortest</code> : stops encoding when the shortest input stream has entirely been encoded</li>
</ul>

CC BY-SA 4.0
2018-11-20T22:00:13.673Z
It took 73 min to encode with a 6 min audio source file, are the video frames encoded in differential ? I wonder, since the resulting file is bigger than I expected
SebMa
CC BY-SA 4.0
2018-11-21T05:27:53.310Z
*are the video frames encoded in differential ?* --> yes, they are. The VPx encoders are much slower than the MPEG encoders (x264..). You can add `-speed 8` to get a ~2x boost. Although your system appears to be slow, since I get 1x speed (without `-speed`) for a 640x360@25fps encode.
Gyan
CC BY-SA 4.0
2018-11-21T07:13:40.783Z
I have an A4-6210 with 8GB of RAM which I bought in the end of 2014. How old is your hardware ? How often must one renew his hardware ?
SebMa
CC BY-SA 4.0
2018-11-21T07:42:59.957Z
I tested on a 2013 Ivy i5 with 16GB. Passmark shows your CPU to be 1/3rd speed.
Gyan
CC BY-SA 4.0
2018-11-21T10:27:03.630Z
There is something I still don't understand, if the video frames are encoded in differential, the differences between each frame and the previous should be "0" because we are looping on the same picture. Why does it take VP9 so long to encode "0" difference frames ?
SebMa
CC BY-SA 4.0
2018-11-21T11:04:50.987Z
It doesn't know that the image is looped - that happens on the input side, via ffmpeg's image reader. It will still perform motion search..etc
Gyan
CC BY-SA 4.0
2018-11-22T15:12:57.400Z
Even if it does not know the image is looped, it should detect that there is no motion in the input hence an easiest encoding, don't you think ?
SebMa
CC BY-SA 4.0
2018-11-22T15:16:03.550Z
*it should detect that there is no motion* --> what should detect - the encoder It does, by running the motion search.
Gyan
CC BY-SA 4.0
2018-11-22T15:18:24.903Z
Is'nt the motion detection faster when there is no motion in the input ?
SebMa
CC BY-SA 4.0
2019-10-05T19:35:31.800Z
@SebMa only if ffmpeg could give that information to VP9 encoder more efficiently.
jarno
CC BY-SA 4.0
2018-11-20T05:43:41.950Z
2018-11-21T05:12:58.260Z
2018-11-21T05:12:58.260Z
Gyan
<p>What are the WebM (VP9+opus) encoding settings compatible for YouTube import for a video with a still image ?</p>

<p>I tried PAL and NTSC framerates with 48kHz stereo and and image size of 640x360 and kept every other parameters' defaults :</p>

<pre><code>$ ffmpeg -i myOriginialPureAudioFile-CUT.opus -i myAudioFile.png -ac 2 -s 640x360 -strict strict -r pal myAudioFile.webm
</code></pre>

<p>But YouTube says :</p>

<blockquote>
  <p>The video has failed to process. Please make sure you are uploading a
  supported file type.</p>
</blockquote>

<ffmpeg><encoding><youtube><vp9>
What are the WebM (VP9+opus) encoding settings compatible for YouTube import for a video with a still image?
SebMa
# What are the WebM (VP9+opus) encoding settings compatible for YouTube import for a video with a still image?

(Asked by: username_0 on 2018-11-19)

What are the WebM (VP9+opus) encoding settings compatible for YouTube import for a video with a still image ?
I tried PAL and NTSC framerates with 48kHz stereo and and image size of 640x360 and kept every other parameters' defaults :
$ ffmpeg -i myOriginialPureAudioFile-CUT.opus -i myAudioFile.png -ac 2 -s 640x360 -strict strict -r pal myAudioFile.webm

But YouTube says :

The video has failed to process. Please make sure you are uploading a
  supported file type.

**Tags:** ffmpeg, encoding, youtube, vp9


---

## 1 answers

### Answer by username_1 on 2018-11-20. Score: 2 | Accepted answer

Rather than framerate, the issue is there's only one frame. You'll have to loop the image.
ffmpeg -i Audio.opus -loop 1 -i image.png -pix_fmt yuv420p -ac 2 -s 640x360 -strict strict -r pal -shortest myAudioFile.webm


-loop 1 : infinitely loops over the same image
-shortest : stops encoding when the shortest input stream has entirely been encoded

> **Comments:**
> **username_0**: It took 73 min to encode with a 6 min audio source file, are the video frames encoded in differential ? I wonder, since the resulting file is bigger than I expected  
> **username_1**: *are the video frames encoded in differential ?* --> yes, they are. The VPx encoders are much slower than the MPEG encoders (x264..). You can add `-speed 8` to get a ~2x boost. Although your system appears to be slow, since I get 1x speed (without `-speed`) for a 640x360@25fps encode.  
> **username_0**: I have an A4-6210 with 8GB of RAM which I bought in the end of 2014. How old is your hardware ? How often must one renew his hardware ?  
> **username_1**: I tested on a 2013 Ivy i5 with 16GB. Passmark shows your CPU to be 1/3rd speed.  
> **username_0**: There is something I still don't understand, if the video frames are encoded in differential, the differences between each frame and the previous should be "0" because we are looping on the same picture. Why does it take VP9 so long to encode "0" difference frames ?  
> **username_1**: It doesn't know that the image is looped - that happens on the input side, via ffmpeg's image reader. It will still perform motion search..etc  
> **username_0**: Even if it does not know the image is looped, it should detect that there is no motion in the input hence an easiest encoding, don't you think ?  
> **username_1**: *it should detect that there is no motion* --> what should detect - the encoder It does, by running the motion search.  
> **username_0**: Is'nt the motion detection faster when there is no motion in the input ?  
> **username_2**: @username_0 only if ffmpeg could give that information to VP9 encoder more efficiently.  

---

