Сергей Марков
Мудрец
(10526)
1 месяц назад
Можно обойтись одним ffmpeg.
Конечно, грубо, но точно и эффективно.
@echo off
@chcp 65001
setlocal enabledelayedexpansion
ffmpeg -y -v warning -hide_banner -stats -i "%~1" -map 0:v -c:v copy "%~n1_video.mkv"
ffmpeg -y -v warning -hide_banner -stats -i "%~1" -map 0:a -c:a copy "%~n1_audio.mka"
for %%A in ("%~1") do set "total_size=%%~zA"
for %%B in ("%~n1_video.mkv") do set "video_stream_size=%%~zB"
for %%C in ("%~n1_audio.mka") do set "audio_stream_size=%%~zC"
set /a "container_size=!total_size!-!video_stream_size!-!audio_stream_size!"
echo Общий размер файла: !total_size! байт
echo Размер видеопотока: !video_stream_size! байт
echo Размер аудиопотока: !audio_stream_size! байт
echo Размер контейнера: !container_size! байт
pause
endlocal
del /q "%~n1_video.mkv"
del /q "%~n1_audio.mka"
exit /b
Вес видео Результат: пустая строка, даже не N/A
Вес аудио Результат: пустая строка, даже не N/A
Вот что содержит этот mkv
h264,video
flac,audio
aac,audio