Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

FFprobe (ffmpeg) не отображает инфу о весе (размере) видео и аудио, есть альтернативные способы?

Delfic Pro Ученик (62), на голосовании 3 недели назад
Вес видео-контейнера
 ffprobe -v error -show_entries format=size -of csv=p=0 input.mkv 
Результат: отображает результат, как надо

Вес видео
 ffprobe -v error -select_streams v:0 -show_entries stream=size -of csv=p=0 input.mkv 
Результат: пустая строка, даже не N/A

Вес аудио
 ffprobe -v error -select_streams a:0 -show_entries stream=size -of csv=p=0 input.mkv 
Результат: пустая строка, даже не N/A

Вот что содержит этот mkv
h264,video
flac,audio
aac,audio
Дополнен 1 месяц назад
помогла команда
ffmpeg -i input -map 0:a:0 -c copy -f null -

правда мне не очень это нравится но хоть так
Голосование за лучший ответ
Сергей Марков Мудрец (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
Алекс КухаВысший разум (473502) 1 месяц назад
значит, чтобы узнать размер потока, надо его выгрузить в отдельный файл? Кучеряво!
Сергей Марков Мудрец (10526) Алекс Куха, я назвал это "грубым", вместо "кучерявым". Жесть, конечно, но быстро и точно. Можно, конечно, обернуть команду ffmpeg в цикл for в комбинации в findstr и присвоить переменной: попробовал - долго и не точно.
Похожие вопросы