8

I have an HD video that is a presentation, so it consists mostly of still images. It's a 50 minute, 200MB MP4 file, downloaded from YouTube.

Is there a way to take advantage of the static nature of the content to compress it further?

fixer1234
  • 27,064
  • 61
  • 75
  • 116
Mark Evans
  • 205
  • 3
  • 13
  • 3
    When you encode to MP4 using FFmpeg/x264, the encoder flags duplicate frames and writes a minimal packet for that frame, around 30-40 **bytes**. – Gyan Jun 26 '16 at 18:26
  • @Mulvya I downloaded that video from Youtube using Youtube-dl. I'm not sure how it's encoded. I used settings from your answer and reduced file size to half without any visible quality loss. – Mark Evans Jun 26 '16 at 18:30
  • You can increase CRF value for a greater reduction. Say, upto 27. – Gyan Jun 26 '16 at 18:43
  • Is the video a direct screen capture, or a camera recording? – u1686_grawity Jun 27 '16 at 07:33
  • @grawity screen capture. Audio is at 192k, so around 68MB and video is 130MB together 198MB. Video is already encoded using x265. – Mark Evans Jun 27 '16 at 08:13

1 Answers1

0

You can use FFmpeg, a command-line tool,

ffmpeg -i in.mp4 -crf 23 -preset slow -b:a 96k out.mp4
Gyan
  • 34,439
  • 6
  • 56
  • 98
  • Is there any without changing bitrate or losing quality. The video mostly has still images. So video has same frame for like 3 mins. Currently testing with one video, I will get back to you. – Mark Evans Jun 26 '16 at 17:33
  • 1
    You could try identifying the bitrate using `mediainfo` and then using that as your ffmpeg preset. By definition, you're re-encoding the video, so you're going to lose some quality. – picobit Jun 26 '16 at 18:09
  • Bitrate = how many bits a second of source material occupies. Your goal here is to reduce bitrate without loosing quality. If you won't change bitrate and video length, you'll get the same size. – gronostaj Oct 22 '19 at 13:13