пятница, 2 августа 2013 г.

Консольная обработка видео - ffmpeg.

По работе иногда нужно из этого - "хер_пойми_какой_кодек_мегабитрейт.avi"  получить адекватное видео которое будет играться практически везде и не будет таким жирным. 


Скачиваем, распаковываем http://www.ffmpeg.org/download.html в с:\ffmpeg

Создаем  code_to_h264.reg  файл, в нем пишем свои пути если надо -

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell]

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Кодировать в H.264]

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Кодировать в H.264\command]
@="с:\\ffmpeg\\to_h264clean.cmd \"%1\""  

[HKEY_CLASSES_ROOT\*\Shell\Кодировать в H.264]

[HKEY_CLASSES_ROOT\*\Shell\Кодировать в H.264\command]
@="с:\\ffmpeg\\to_h264clean.cmd \"%1\""

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Кодировать в H.264 все AVI]

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Кодировать в H.264 все AVI\command]
@="с:\\ffmpeg\\all_avi_to_h264.cmd \"%1\""  

[HKEY_CLASSES_ROOT\*\Shell\Кодировать в H.264 все AVI]

[HKEY_CLASSES_ROOT\*\Shell\Кодировать в H.264 все AVI\command]
@="с:\\ffmpeg\\all_avi_to_h264.cmd \"%1\""


 
Батники -

to_h264clean.cmd

с:\ffmpeg\ffmpeg.exe -i "%1" -vcodec h264 -threads 4 -acodec mp3 -ar 44100 -ab 128k -y %1_h264.avi
pause


all_avi_to_h264.cmd

for /f "tokens=*" %%i in ('dir /b *.avi') do (
x:\!_Vacheslav\My_Private\Dropbox\My_software\ffmpeg\ffmpeg.exe -i "%%i" -vcodec h264 -threads 4 -acodec mp3 -ar 44100 -ab 128k -y %%i_h264.avi
)
pause



Регим  code_to_h264.reg файл в системе.

Вуаля, по правой клавише появилось опция кодировать файл или все AVI в *_h264.avi

Можно конешно добавить опций в батники по типу  - 

-vcodec h264 -threads 4 -r 20 -g 50 -b 500k -bt 500k 


-r FPS
-b -bt килобитность
-g ключевой кадр, по дефолту каждый кадр, влияет на плавность перемотки, большое число уменьшает размер видео.

Архив со всем готовым забираем > ffmpeg.zip









1 комментарий: