720p to 480p linux

Video — 720p to 480p с учетом SAR/DAR

Чем консольным пожать видео с 720p to 480p/240p с учетом SAR/DAR. Еще интересует формула расчета ширины для 480p/240p с учетом SAR/DAR.

Если есть пример как — буду благодарен.

ffmpeg -i [путь к исходнику] -vf scale=-1:720 -c:a copy [путь к энкоду]

Что то не выходит c использованием -vf scale= К примеру есть файл 720p:

Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2497 kb/s, 29.97 fps, 29.97 tbr, 11988 tbn, 59.94 tbc (default) 

Мне из него нужно сделать 480p

ffmpeg -i over50-03-01-a-720p-hd-2500.mp4 -vf scale=-1:480 -c:a copy out.mp4 
[libx264 @ 0x40db8c0] width not divisible by 2 (853x480) Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height 

[libx264 @ 0x40db8c0] width not divisible by 2 (853×480)

Почему я сразу и просил формулу расчета ширины для 480p/240p.

852 — это из расчета [SAR 1:1 DAR 16:9]

Почему я сразу и просил формулу расчета ширины для 480p/240p.

scale=vga //480p
scale=qvga //240p

Например
Для 480p scale=vga:force_original_aspect_ratio=decrease
Для 240p scale=qvga:force_original_aspect_ratio=decrease

Для 240p scale=qvga:force_original_aspect_ratio=decrease

он делает видео размером 320×180

По-другому:
Для 480p scale=852×480:force_original_aspect_ratio=decrease
Для 240p scale=426:240:force_original_aspect_ratio=decrease

[libx264 @ 0x44af880] height not divisible by 2 (852×479)

[libx264 @ 0x44af880] height not divisible by 2 (852×479)

И где же крутые ТЫЖПРОГРАММИСТЫ?

[libx264 @ 0x4256880] width not divisible by 2 (853×480) И она не правильно считает.

Можешь простыми словами объяснить что такое SAR. Что такое DAR я знаю а SAR что то не могу понять.

Можешь простыми словами объяснить что такое SAR

Соотношение сторон видео, 16:9 например

16:9 — это DAR. [SAR 117:116 DAR 16:9] А вот что такое SAR мне пока не понятно.

DAR может быть и 4:3 при SAR 16:9. DAR при этом растянет 16:9 до 4:3

-vf scale=-1:480
[libx264 @ 0x40db8c0] width not divisible by 2 (853×480)

Сейчас «маэстро» позову)) Он тебе мигом все по полочкам разложит Lordwind

Был бы благодарен так как решение пока НЕ нашел.

Последний раз я жал handbrake’ом.

Как получить кратное 2 число из нектарного в параметре для ffmpeg — это то, что нужно автору, а я не ТЫЖПРОГРАММИСТ, ясное дело, можно вычесть единицу, но ему нужна

формула расчета ширины для 480p/240p с учетом SAR/DAR.

Так что, там может быть и 4:3 видео, которое прекрасно разделится на 2, а после -1 мы опять получим ошибку (уже не говоря об испорченном видео)
Значит это нужно как-то проверить
Не думаю, что это делается хотя бы без скрипта

а после -1 мы опять получим ошибку

Не думаю, что это делается хотя бы без скрипта

Допустим есть 4:3 видео 1280×960, 960/480 = 2, 1280/2=640, то есть число, кратное двум, а если мы отнимем один?

Читайте также:  Linux mint lxde one установка

Я конечно не программист, но попробуй:

scale=w=’if(gcd(iw/(ih/480), 2)-1, w=iw/(ih/480), w=iw/(ih/480)-1):h=480′

scale=w=’if(gcd(iw/(ih/480), 2)-1, iw/(ih/480), iw/(ih/480)-1):h=480′

[Parsed_scale_0 @ 0x40dc620] Invalid size ‘if(gcd(iw/(ih/480)’ [AVFilterGraph @ 0x40dcfc0] Error initializing filter ‘scale’ with args ‘w=if(gcd(iw/(ih/480):flags=bicubic’

scale=w=’if(gcd(iw/(ih/480), 2)-1, iw/(ih/480), iw/(ih/480)-1)’:h=480

[Parsed_scale_0 @ 0x5c9a620] Invalid size ‘if(gcd(iw/(ih/480)’ [AVFilterGraph @ 0x5c9afc0] Error initializing filter ‘scale’ with args ‘w=if(gcd(iw/(ih/480):flags=bicubic’

DAR = W/H * SAR , где W и H — количество пикселов в ширину и в высоту соответственно.

SAR — sample aspect ratio, тоже самое что и pixel aspect ratio (PAR), DAR — display aspect ratio или соотношение сторон итоговой картинки.

Эта формула тебе будет нужна только если ты соберёшься вручную менять SAR. Если ты его менять не собираешься, то считай новую ширину в пикселах как W_new = W_old * H_new/H_old . В случае масштабирования или кропа ffmpeg сам пересчитывает SAR и DAR.

Учти, что для кодеков часто нужно кратное 2 или 4 количество пикселов, поэтому из результата вычисления нужно вычесть остаток от деления результата на 2 или на 4. Ну или прибавить остаток, в случае деления на 2, или прибавить разницу 4 и остатка в случае деления на 4. Лол.

Допустим, у тебя видео 1024×720 с SAR 1.25, то есть DAR = 16:9, и тебе надо сжать его до 410 пикселов по вертикали. Новая ширина в пикселах будет W_new = 1024 * 410/720 ~= 583. Так кодеки h264 и h265 (hevc) не умеют в нечётное количество пикселов, то примем новую ширину равной 582 или 584.

Теперь, если перекодировать такой командой:

ffmpeg -i old.mp4 -vf scale=582:410 -c:v h264 -c:a copy -crf 20 new.mp4 

то можно увидеть, что ffmpeg сохраняет DAR, изменяя при этом SAR. Если ты-таки хочешь изменить SAR *или* DAR, то используй фильтр setsar или setdar:

ffmpeg -i old.mp4 -vf scale=582:410,setsar=1:1 -c:v hevc -c:a copy -crf 20 new.mp4 

Источник

Software for converting mp4 files from 720p to 480p

I have some videos I want to convert into 480p since my netbook can’t handle 720p videos and higher. Do you guys know any free software that can do so? Thanks!

ffmpeg, handbrake, openshot, you have a long list of options. ffmpeg has a bit of a learning curve, but more options.

5 Answers 5

the best software for your usage willl be Handbrake. It is a very advanced software with lots of options for you to choose.

enter image description here

As shown in image you can set any value of width or height of video, in your case height=480p

Installation

download deb from here. (easy way to go, but you wont get updates)

or go by PPA ( for Ubuntu 14.10 and previous versions; no ppa available for ubuntu 15.04) from here ( you need to select the Ubuntu version to get ppa). After this, run either of these:

apt-get install handbrake-gtk 
apt-get install handbrake-cli 

Thanks for this! I tried Avidemux and although it did reduce it to 480p, the audio was messed up and the video was sort of stuttering/broken. Would it have the same result with Handbrake? I mean, won’t re-sizing the video using Handbrake mess up the audio as well?

Читайте также:  Разметка дисков linux debian

Certainly under Xenial Xerus you have access to a quite reasonable copy of FFmpeg so the resize can be handled easily with FFmpeg from the command line.

Definitions:

First some definitions to solve the endless confusion over terminology:

  1. 720p: Has a vertical resolution of 720 pixels, horizontal resolution usually of 1280px. Aspect ratio is most usually 16:9. The ‘p’ simply stands for progressive scan, i.e. non-interlaced.
  2. 480p: Has a vertical resolution of 480 pixels, horizontal resolution usually of 640 pixels. Aspect ratio is most usually 4:3. Again the ‘p’ stands for progressive scan, i.e. non-interlaced.

Required Software:

The great news is that FFmpeg will do the calculations for the horizontal resolution for you as well as maintaining the required aspect ratio, it is only required for you to give the desired vertical resolution. So first install FFmpeg:

sudo apt-get install ffmpeg libavcodec-extra 

The libavcodec-extra package will install some often-needed extra codecs for FFmpeg.

The ‘Resize’ Syntax:

The basic syntax to resize your video is as follows:

ffmpeg -i input -vf scale=-1:480 output 

The scale filter uses width:height and you can see in my example that I have specified a height (vertical resolution) of 480 while the ‘-1’ tells FFmpeg to resize the width (horizontal resolution) as necessary to maintain the existing aspect ratio. Pretty cool :).

A Full Example:

Bear in mind that you will need to also re-encode when you are resizing and your selected settings will depend very much on your source material. To give an example:

For this use the following command line:

ffmpeg -i input.mp4 \ -vf scale=-2:480 -c:v libx264 -preset slow -crf 22 \ -c:a copy output.mp4 

Note that I have specified -2:480 for width and height, this allows FFmpeg to calculate a number for width that is divisible by 2 which will give more efficient encoding.

There is a great deal more to scaling with FFmpeg, I have included a reference at the base if you wish to dig a little deeper.

enter image description here

In the above screenshot we can see a queue of videos (one in this example) to be processed with the same customised properties which includes transcoding for one or more of the next:

For Audio

Of course you will be in need to add (on your own) the proper codecs for which you wish transcoding your video files so that they will become available in the «Video Codec» Drop Down.

But please have in consideration that the most of the times it is not just about changing the video dimensions but the bitrate itself. I would suggest you to do some transcoding with small portions of video (just for testing) and watch how the results behave on your computer. Perhaps (and just perhaps) you can have a 720p video file with balanced compression which give you enough quality and also light enough for your computer to play it.

Читайте также:  Linux проверка порта подключения

Please have a look at this answer in which I explain something related.

Источник

Thread: Help needed converting 720p video to 480p

tomdkat is offlineWay Too Much Ubuntu

Help needed converting 720p video to 480p

So, I used Imagination to create a HD 720p slide show. I saved the slideshow as a VOB file so I could retain the 720p resolution.

So, now I’ve got this 720p VOB file with MPEG-2 encoded video that I can’t seem to downconvert to 480p. Neither Avidemux nor Handbrake will allow me to do the conversion.

Any ideas on how I could do this?

Georgescu1 is offlineSpilled the Beans

Re: Help needed converting 720p video to 480p

evilsoup is offlineQuad Shot of Ubuntu

Re: Help needed converting 720p video to 480p

The ffmpeg/avconv ‘-s’ flag allows you to scale the frame size. From the terminal:

avconv -i input.vob -s hd480 output.vob

should do it. This will scale the video to 852×480. If you want other sizes, you can use the format wxh (e.g. 852×480); or you can find additional abbreviations in the avconv man page. Make sure you use the same aspect ratio, or you will end up with distorted images.

If you want a GUI, you can try out WINFF, though I’ve never used it so I don’t know if it has these options

SeijiSensei is offlineUbuntu addict and loving it

Join Date Nov 2008 Location Boston MetroWest Beans 16,074 —> Beans 16,074 Distro Kubuntu 22.04 Jammy Jellyfish

Re: Help needed converting 720p video to 480p

Mencoder with the «-vf scale» option will do this.

MPEG2 is quite inefficient by modern standards. MPEG4 is a much better choice in terms of the tradeoff between quality and filesize.

tomdkat is offlineWay Too Much Ubuntu

Re: Help needed converting 720p video to 480p

QuoteOriginally Posted by evilsoup View Post

The ffmpeg/avconv ‘-s’ flag allows you to scale the frame size. From the terminal:

avconv -i input.vob -s hd480 output.vob

should do it. This will scale the video to 852×480. If you want other sizes, you can use the format wxh (e.g. 852×480); or you can find additional abbreviations in the avconv man page. Make sure you use the same aspect ratio, or you will end up with distorted images.

If you want a GUI, you can try out WINFF, though I’ve never used it so I don’t know if it has these options

Thanks for the info. I installed WINFF today, before I read your post, but I haven’t used it yet. I was looking for a graphical option but your command line above is simple enough that I could use that as well.

Источник

Оцените статью
Adblock
detector