Answers.Body: <p>Use the <a href="http://ffmpeg.org/ffmpeg-filters.html#vstack" rel="nofollow noreferrer">vstack filter</a>:</p>
  
  <p><img src="https://i.sstatic.net/FuIdO.png" alt="hstack"></p>
  
  <pre><code>ffmpeg -i video.mp4 -i image.png -filter_complex vstack output.mp4
  </code></pre>
  
  <p>If the image is not the same width as the video then resize it with the <a href="http://ffmpeg.org/ffmpeg-filters.html#scale" rel="nofollow noreferrer">scale filter</a>:</p>
  
  <pre><code>ffmpeg -i video.mp4 -i image.png -filter_complex "[1:v]scale=320:-1[bottom];[0:v][bottom]vstack" output.mp4
  </code></pre>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-10-17T08:17:34.087Z
Answers.Text: This generates a warning "More than 1000 frames duplicated" and takes forever to compete
Answers.UserDisplayName: Dinesh Singh
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-10-17T18:14:23.963Z
Answers.Text: @DineshSingh Need to see your command and the complete log. You can use a pastebin site and provide the link in a comment.
Answers.UserDisplayName: llogan
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-01-11T19:36:56.690Z
Answers.LastActivityDate: 2016-07-23T05:15:14.997Z
Answers.LastEditDate: 2016-07-23T05:15:14.997Z
Answers.UserDisplayName: llogan
Answers.Body: <p>I think it's probably easier to <em>combine (stack) a full dimension background image (720x500px) with your video</em> in ffmpeg instead of adding the 20px footer to the video. You can simply use the <code>overlay filter</code> for this:</p>
  
  <pre><code>ffmpeg \
      -loop 1 -i 720x500.jpg \
      -i 720x480.mp4 \
      -filter_complex overlay=0:0 \
      -t 0:01.48 \ 
      out.m4v
  </code></pre>
  
  <p><strong>Note:</strong> In this example you have to set the duration of your output video manually with <code>-t</code> parameter.</p>
  
  <hr>
  
  <p>If you <em>don't want to specify the duration</em> you can use <code>shortest</code> flag within the filter if you use <code>-loop 1</code> as @LordNeckbeard mentioned in the comments below:</p>
  
  <pre><code>ffmpeg \
      -loop 1 -i 720x500.jpg \
      -i 720x480.mp4 \
      -filter_complex "overlay=0:0:shortest=1" \
      out.m4v
  </code></pre>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-01-11T19:43:15.840Z
Answers.Text: If you use `-loop 1` then you can set `shortest=1` in your overlay filter, as in `overlay=0:0:shortest=1`.
Answers.UserDisplayName: llogan
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-01-12T06:36:26.347Z
Answers.Text: @LordNeckbeard Thanks for your ideas! I've updated my answer.
Answers.UserDisplayName: p2or
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-01-10T21:21:55.400Z
Answers.LastActivityDate: 2016-07-20T12:34:47.410Z
Answers.LastEditDate: 2016-07-20T12:34:47.410Z
Answers.UserDisplayName: p2or
Body: <p>I want to extend basic usage of watermark and put it under the video.
  That means. I have input video 720x480 and image 720x20.
  On output i want to have video 720x500 where video aspect is preserved and positioned to top and image is added to bottom.</p>
  
  <p>input video</p>
  
  <pre><code>|--------------------------|
  |                          |
  |                          |
  |                          |
  |          720*480         |
  |                          |
  |                          |
  |                          |
  |--------------------------|
  </code></pre>
  
  <p>input image</p>
  
  <pre><code>|--------------------------|
  |          720x20          |
  |--------------------------|
  </code></pre>
  
  <p>output video</p>
  
  <pre><code>|--------------------------|
  |                          |
  |                          |
  |                          |
  |          720*480         |
  |                          |
  |                          |
  |                          |
  |--------------------------|
  |          720x20          |
  |--------------------------|
  </code></pre>
  
  <p>Thanks</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2015-01-09T15:39:08.490Z
Comments.Text: Can you upload an image to see what you need?
Comments.UserDisplayName: p2or
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2015-01-09T15:42:00.660Z
Comments.Text: @poor - put another way, he is saying he wants to append the image to the bottom of the video.  So the output should be the entire original video with the image below it. (The top edge of the image would be directly next to the bottom edge of the video.)
Comments.UserDisplayName: AJ Henderson
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2015-01-09T16:22:52.560Z
Comments.Text: I added some visualization :)
Comments.UserDisplayName: Schovi
Tags: <ffmpeg><encoding>
Title: Add image under the video with ffmepg
UserDisplayName: Schovi
ThreadText: # Add image under the video with ffmepg
  
  (Asked by: username_0 on 2015-01-09)
  
  I want to extend basic usage of watermark and put it under the video.
  That means. I have input video 720x480 and image 720x20.
  On output i want to have video 720x500 where video aspect is preserved and positioned to top and image is added to bottom.
  
  input video
  
  ```
  |--------------------------|
  |                          |
  |                          |
  |                          |
  |          720*480         |
  |                          |
  |                          |
  |                          |
  |--------------------------|
  
  ```
  
  input image
  
  ```
  |--------------------------|
  |          720x20          |
  |--------------------------|
  
  ```
  
  output video
  
  ```
  |--------------------------|
  |                          |
  |                          |
  |                          |
  |          720*480         |
  |                          |
  |                          |
  |                          |
  |--------------------------|
  |          720x20          |
  |--------------------------|
  
  ```
  
  Thanks
  
  **Tags:** ffmpeg, encoding
  
  > **Comments:**
  > **username_1**: Can you upload an image to see what you need?  
  > **username_2**: @poor - put another way, he is saying he wants to append the image to the bottom of the video.  So the output should be the entire original video with the image below it. (The top edge of the image would be directly next to the bottom edge of the video.)  
  > **username_0**: I added some visualization :)  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_3 on 2015-01-11. Score: 7
  
  Use the [vstack filter](http://ffmpeg.org/ffmpeg-filters.html#vstack):
  
  ![hstack](https://i.sstatic.net/FuIdO.png)
  
  ```
  ffmpeg -i video.mp4 -i image.png -filter_complex vstack output.mp4
  
  ```
  
  If the image is not the same width as the video then resize it with the [scale filter](http://ffmpeg.org/ffmpeg-filters.html#scale):
  
  ```
  ffmpeg -i video.mp4 -i image.png -filter_complex "[1:v]scale=320:-1[bottom];[0:v][bottom]vstack" output.mp4
  
  ```
  
  > **Comments:**
  > **username_4**: This generates a warning "More than 1000 frames duplicated" and takes forever to compete  
  > **username_3**: @username_4 Need to see your command and the complete log. You can use a pastebin site and provide the link in a comment.  
  
  ---
  
  ### Answer by username_1 on 2015-01-10. Score: 5
  
  I think it's probably easier to *combine (stack) a full dimension background image (720x500px) with your video* in ffmpeg instead of adding the 20px footer to the video. You can simply use the `overlay filter` for this:
  
  ```
  ffmpeg \
      -loop 1 -i 720x500.jpg \
      -i 720x480.mp4 \
      -filter_complex overlay=0:0 \
      -t 0:01.48 \ 
      out.m4v
  
  ```
  
  **Note:** In this example you have to set the duration of your output video manually with `-t` parameter.
  
  ---
  
  If you *don't want to specify the duration* you can use `shortest` flag within the filter if you use `-loop 1` as @LordNeckbeard mentioned in the comments below:
  
  ```
  ffmpeg \
      -loop 1 -i 720x500.jpg \
      -i 720x480.mp4 \
      -filter_complex "overlay=0:0:shortest=1" \
      out.m4v
  
  ```
  
  > **Comments:**
  > **username_3**: If you use `-loop 1` then you can set `shortest=1` in your overlay filter, as in `overlay=0:0:shortest=1`.  
  > **username_1**: @LordNeckbeard Thanks for your ideas! I've updated my answer.  
  
  ---
  
  