Answers.Body: <p>Create a canvas of output size and use an animated overlay to simulate a scroll.</p>
  <p><code>ffmpeg -f lavfi -i color=s=3840x2160 -i UHDimage -filter_complex &quot;[0][1]overlay=x=0:y=H-48*n&quot; -vframes 242 out.mp4</code></p>
  <p>Output duration is clamped to <code>242 frames = (11568/48)+1</code>.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-10-11T07:17:21.393Z
Answers.Text: Thanks for this idea! When I try it myself I get an unplayable 48kb out.mp4. Does it look like I'm running the command correctly (I've only changed the input file name). https://pastebin.com/vFptHzAV
Answers.UserDisplayName: starpause
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-10-11T08:12:21.650Z
Answers.Text: The pastebin error looks like it was an issue with PowerShell. When I ran the command using FFMPEG on my OSX machine it worked great! Only tweak I made was to clamp -vframes to 287 so that the image scrolls entirely off the screen (back to black) so that it loops seamlessly.
Answers.UserDisplayName: starpause
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-10-11T08:15:42.337Z
Answers.Text: Follow up question: is there a way to specify how long each video frame lasts? I'd like the end movie to be 120 seconds long. Thank you!
Answers.UserDisplayName: starpause
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-10-11T11:45:54.777Z
Answers.Text: Duration of a frame is the reciprocal of the framerate. Default framerate is 25 for `color`. Add `r=20` to change to 20 fps.  But I suggest you modify the `48` instead to control movement speed.
Answers.UserDisplayName: Gyan
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-10-11T05:20:22.017Z
Answers.LastActivityDate: 2020-10-11T05:20:22.017Z
Answers.UserDisplayName: Gyan
Body: <p>I have a UHD wide image (3840px) which is very tall (11568px). I'd like to make a video like this:</p>
  <ul>
  <li>3840 x 2160 resolution, mp4 output file</li>
  <li>starts and ends black</li>
  <li>image takes up full width of the UHD frame</li>
  <li>top of the image appears at the bottom of the video frame and &quot;scrolls up&quot; until the bottom of the image disappears past the top of the video frame</li>
  </ul>
  <p>It would be ideal if each step of the scroll shifted the image up 48px. But if it goes up 1 pixel every step because that's easier to script I can live with that. <em>I'm trying to emulate something like an ANSI scroller where each line would present itself one at a time over a 28.8kbps modem after logging into a BBS </em></p>
  <p>I have found some similar questions asked but haven't figured out what parameters to tweak for the particular effect I've described. <a href="https://www.reddit.com/r/ffmpeg/comments/9051f1/i_want_to_pan_across_an_image_from_left_to_right/" rel="nofollow noreferrer">Horizontal scroll question on reddit</a>. <a href="https://el-tramo.be/blog/ken-burns-ffmpeg/" rel="nofollow noreferrer">Ken Burns Effect Slideshows with FFMPeg blog post</a>.</p>
  <p>Thanks in advance for any help/direction </p>
  
Tags: <ffmpeg>
Title: ffmpeg vertical pan over an image (top to bottom scrolling effect)
UserDisplayName: starpause
ThreadText: # ffmpeg vertical pan over an image (top to bottom scrolling effect)
  
  (Asked by: username_0 on 2020-10-10)
  
  I have a UHD wide image (3840px) which is very tall (11568px). I'd like to make a video like this:
  
  * 3840 x 2160 resolution, mp4 output file
  * starts and ends black
  * image takes up full width of the UHD frame
  * top of the image appears at the bottom of the video frame and "scrolls up" until the bottom of the image disappears past the top of the video frame
  
  It would be ideal if each step of the scroll shifted the image up 48px. But if it goes up 1 pixel every step because that's easier to script I can live with that. *I'm trying to emulate something like an ANSI scroller where each line would present itself one at a time over a 28.8kbps modem after logging into a BBS*
  
  I have found some similar questions asked but haven't figured out what parameters to tweak for the particular effect I've described. [Horizontal scroll question on reddit](https://www.reddit.com/r/ffmpeg/comments/9051f1/i_want_to_pan_across_an_image_from_left_to_right/). [Ken Burns Effect Slideshows with FFMPeg blog post](https://el-tramo.be/blog/ken-burns-ffmpeg/).
  
  Thanks in advance for any help/direction
  
  **Tags:** ffmpeg
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2020-10-11. Score: 1 | Accepted answer
  
  Create a canvas of output size and use an animated overlay to simulate a scroll.
  
  `ffmpeg -f lavfi -i color=s=3840x2160 -i UHDimage -filter_complex "[0][1]overlay=x=0:y=H-48*n" -vframes 242 out.mp4`
  
  Output duration is clamped to `242 frames = (11568/48)+1`.
  
  > **Comments:**
  > **username_0**: Thanks for this idea! When I try it myself I get an unplayable 48kb out.mp4. Does it look like I'm running the command correctly (I've only changed the input file name). https://pastebin.com/vFptHzAV  
  > **username_0**: The pastebin error looks like it was an issue with PowerShell. When I ran the command using FFMPEG on my OSX machine it worked great! Only tweak I made was to clamp -vframes to 287 so that the image scrolls entirely off the screen (back to black) so that it loops seamlessly.  
  > **username_0**: Follow up question: is there a way to specify how long each video frame lasts? I'd like the end movie to be 120 seconds long. Thank you!  
  > **username_1**: Duration of a frame is the reciprocal of the framerate. Default framerate is 25 for `color`. Add `r=20` to change to 20 fps.  But I suggest you modify the `48` instead to control movement speed.  
  
  ---
  
  