Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2735
Благодарности: 1699

Профиль | Отправить PM | Цитировать


можно еще счетчик
Код: Выделить весь код
@Echo Off
cls

Set "ext=avi"
Set "bit_rate=133K"
Set "dir_vid_scr=Z:\Users\yura\Downloads\Video"

Set /A Nbeg=0
For /F "usebackq delims=:" %%i In (`"FINDSTR /B /L /I /N /C:":FilesSpisok" "%~dpnx0""`) DO Set /A Nbeg=%%i
If %Nbeg% EQU 0 Echo !!! No file list found &Pause &Exit /B 240

If Not Exist "%dir_vid_scr%" Echo !!! No folder found "%dir_vid_scr%" &Pause &Exit /B 240

Pushd "%dir_vid_scr%"

Set /A Count=0
For /F "usebackq tokens=*" %%i In (`"more +%Nbeg% "%~dpnx0""`) DO (
	If /I "%%i"=="GoTo :Eof" GoTo :Cont
	Call :Recompress "%%i.%ext%"
)
:Cont
Popd

Echo PLEASE GOOD BYE!
Pause
GoTo :Eof

:Recompress
	Set /A Count+=1
	Echo: &Echo +++ Processing %Count% file %1 in folder "%dir_vid_scr%"
	If Not Exist "%dir_vid_scr%\%~1" (
		Echo !!! File "%dir_vid_scr%\%~1" NOT EXISTS! 
		Echo ----------------------------------------------------------------
		GoTo :Eof
	)

	ffmpeg -loglevel error -i %1 -c:v libx264 -c:a copy -b:v %bit_rate% -maxrate %bit_rate% -bufsize %bit_rate% "%~n1_rcm%~x1"

	Echo *** Checking video duration for %1
	
	For /f %%i in ('"ffprobe.exe -v error -show_entries format=duration %1 -of default=noprint_wrappers=1:nokey=1"') Do Set "dur_orig_file=%%i"
	For /f %%i in ('"ffprobe.exe -v error -show_entries format=duration "%~n1_rcm%~x1" -of default=noprint_wrappers=1:nokey=1"') Do Set "dur_rcm_file=%%i"

	Echo *** original file duration:     %dur_orig_file% sec.
	Echo *** recompressed file duration: %dur_rcm_file1% sec.
	
	If "%dur_orig_file%"=="%dur_rcm_file%" ( 
		Echo +++ GREAT. files have same duration. Will remove original video %1
		Del %1 &&Echo *** removed ok.
	)
	Echo ----------------------------------------------------------------

GoTo :Eof

:FilesSpisok

video1
video2
video3
video4
video5
video6

GoTo :Eof

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:40, 30-01-2018 | #5