I would like to convert a Mp4 file in HD into a Mp4 file of lower resolution. Is there any software that can be used for this?
3 Answers
Terminal commands (Which by default are not installed) are:
MENCODER
Install it by sudo apt-get install mencoder
The part about mencoder that you want is the parameter -vop scale which tells mencoder to what scale you want the video to go to. This is normal if you want to reduce bandwidth use, lower video size, etc..
mencoder input.mp4 -ovc lavc -lavcopts vcodec=mp4 -vop scale=640:480 -oac copy -o output.mp4
or
mencoder input.mp4 -ovc lavc -lavcopts vcodec=mp4 -vf scale=640:480 -oac copy -o output.mp4
or a simple
mencoder input.mp4 -vop scale=640:480 -o output.mp4
Although from my experience is better to include additional information for video and audio like the one above.
FFMPEG (Deprecated)
Install it by sudo apt-get install ffmpeg
Here is an example of ffmpeg:
ffmpeg -i input -vf scale=iw/2:-1 output
Where IW = Video Input Width.
Scale = Parameter to scale to. In this case you are dividing the original size by 2 (iw/2)
both of which can provide more information if you either execute them without parameters or variables like just mencoder
or ffmpeg
or type for example man mencoder
or man ffmpeg
which will give you a VERY extensive little manual on how to work with them.
AVCONV <-- I love this guy!
To Install - sudo apt-get install libav-tools
To Run - avconv -i input.mp4 -s 640x480 output.mp4
Where -i
is for the original input file, -s
is for the size for each frame and the name of the output final goes in the end.
GUI tools which I love are:
AVIDEMUX - It can resize and lower the size which helps in cases where the objective is to lower size. avidemux
HANDBRAKE - Excellent tool for converting videos and optimizing size. I use it a lot when going from ogg to mp4 with h.264. Lowers A LOT the size. handbrake
OPENSHOT & PITIVI - Both are good video editors tha can help lower size when rendering the video. openshot and pitivi
So in conclusion, for direct resizing/scaling you can use the terminal ones. For size you can use all.
-
3
-
-
On Ubuntu Precise: avidemux gives warnings about h264 saying that you'll either lose frame accuracy, or get stuttering/crashes. avconv took over an hour on my Intel i5 to process a 13 minute file and generated a much bigger file than the original. I can't get mencoder to work Cannot find codec 'mp4' in libavcodec Couldn't open video filter 'lavc'. Openshot doesn't give much control (bunch of presets, none are what I needed) over output and created files that played at the wrong speed or had choppy audio. :-( Dec 11, 2012 at 13:17
-
@artfulrobot - Wow you got problems ^^. Avidemux does say the warnings over h264 because you WILL loose frame accuracy (Not much crash)when transcoding, the only way would be to actually put the same compression/rate/bits/etc.. For the avconv time there has to be a problem. I did a 1 hour 23 minute movie in mp4 format with h264 in about 25 minutes with an i3. With an i7 2600 it went down to 11 minutes. Did you happen to install the restricted extra package Dec 11, 2012 at 13:40
-
That's what worked for me, using a 64 bits Manjaro: mencoder MAH09111.MP4 -ovc lavc -vf scale=640:480 -oac pcm -o MAH09111_640x480.mp4– RasshuAug 20, 2016 at 16:26
Use avconv
. Type in terminal
avconv -i input.mp4 -s 320x240 output.mp4
Replace 320x240
with whatever resolution you want.
There a lot of additional options that you can play with. Do man avconv
to know more.
Instead, if you don't have avconv
, you could use ffmpeg.
Install:
sudo apt-get install ffmpeg
Convert:
ffmpeg -i input.mp4 -s 320x240 output.mp4
-
1I tried avconv. It is giving me command not found. I tried everything mentioned above. It is giving me the same answer. It would be really useful if you could suggest an alternate solution.– thejaJul 10, 2012 at 12:04
-
-
3
-
1Doesn't work, Ubuntu 16.04:
The encoder 'aac' is experimental but experimental codecs are not enabled, add '-strict -2' if you want to use it.
And-strict -2
does not change the error. Apr 1, 2017 at 16:49 -
@theja You can use the
avconv
command after installing libav-toolssudo apt-get install libav-tools
– sunyataJul 14, 2017 at 9:38
Use VLC.
From the Media menu choose "Convert/Save". Add your file(s) to the input and click Convert/Save button.
You'll then be asked to specify an output file, and you can choose a profile and tinker with it, e.g. here I scale the video by 50%:
Click Save.