19 / 17 / 5
Регистрация: 06.03.2014
Сообщений: 3,066
1

Ffmpeg, вытащить ширину видеофайла в переменную

19.06.2019, 16:38. Показов 3996. Ответов 29
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В script.bat, прописываю
Windows Batch file
1
ffprobe -v 0 -select_streams v -print_format flat -show_streams video.mp4
Далее в командной строке запускаю скрипт. И получаю слудующий выхлоп.

Вопрос в том, как в скрипте в переменную задать ширину данного видеофайла?
Миниатюры
Ffmpeg, вытащить ширину видеофайла в переменную  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.06.2019, 16:38
Ответы с готовыми решениями:

Ffmpeg. ошибка с разделением видеофайла
Всем привет! Есть видеофайл длиной одна минута. Задача — вырезать из него последние десять...

ffmpeg Выдернуть кадр из видеофайла
Доброго времени суток. Бьюсь 4й день над проблемкой как при помощи ffmpeg выдернуть определенный...

Как записать разрешение видеофайла в переменную?
Всем привет! Помогите пожалуйста с таким вопросом. Например есть видео с разрешением 1920x1080, мне...

Создание видеофайла из Bitmap-ов или разложение видеофайла на Bitmap-ы
1)Вопрос такой Есть Видео! как его программно разбить на bitmap-ы! 2)Вопрос как сделать видео...

29
19 / 17 / 5
Регистрация: 06.03.2014
Сообщений: 3,066
29.06.2019, 20:24  [ТС] 21
Author24 — интернет-сервис помощи студентам
Запускал по всем вариантам.

Операционная система windows 7

Имя профильной папки отображается кракобрязными из-за кодировки самомого скрипта. Если вернуть обратно кодировку, тогда отображение папки(Рус.буквы) вернется на место, а русский текст в самом файле будет отображаться кракобрязами.

Сейчас установил шривт Lucida console, далее кодировку скрипта изменил на ANSI. С кодировкой вопрос решен, сейчас отображается как положено

Результат остается прежним, попробовал так, ничего не изменилось. В место ширины показывает знак плюса
C++
1
2
3
4
5
@echo off&chcp 1251>nul
 
for /f %%i in ('"@powershell -c (new-object -ComObject 'Shell.Application').NameSpace(0).ParseName('%~dp0video.mp4').ExtendedProperty('System.Video.FrameWidth')"') do set width=%%i
echo Ширина фрейма %file%: %width%
@pause>nul
Миниатюры
Ffmpeg, вытащить ширину видеофайла в переменную  
0
6228 / 2670 / 1051
Регистрация: 06.06.2017
Сообщений: 9,112
29.06.2019, 21:43 22
Цитата Сообщение от Gerd199 Посмотреть сообщение
далее кодировку скрипта изменил на ANSI
А никто и не просил её иной ставить.

Цитата Сообщение от Gerd199 Посмотреть сообщение
В место ширины показывает знак плюса
Так, это уже интересно. Из cmd выполните:
Windows Batch file
1
powershell -c (new-object -ComObject 'Shell.Application').NameSpace(40).ParseName('video.mp4').ExtendedProperty('System.Video.FrameWidth')

И вы в который раз уже оформляете batch-код в C++. Завязывайте с этим.
1
19 / 17 / 5
Регистрация: 06.03.2014
Сообщений: 3,066
29.06.2019, 22:37  [ТС] 23
Пусто
Миниатюры
Ffmpeg, вытащить ширину видеофайла в переменную  
0
6228 / 2670 / 1051
Регистрация: 06.06.2017
Сообщений: 9,112
29.06.2019, 23:19 24
Так. А семёрка какой редакции? Версия DirectX? Кодеки какие-то в системе стоят?
1
10582 / 5545 / 864
Регистрация: 07.04.2013
Сообщений: 15,660
30.06.2019, 05:35 25
Лучший ответ Сообщение было отмечено Gerd199 как решение

Решение

Зачем мучать posh, если в вопросе был ffmpeg/ffprobe ?

команда
Код
ffprobe -v error -select_streams v:0 -show_entries stream=width -of csv=s=x:p=0 video.mp4
Скрипт
Windows Batch file
1
2
3
4
@echo off
for /f %%a in ('"ffprobe -v error -select_streams v:0 -show_entries stream=width -of csv=s=x:p=0 video.mp4"') do set "width=%%a"
echo %width%
pause
1
19 / 17 / 5
Регистрация: 06.03.2014
Сообщений: 3,066
30.06.2019, 10:08  [ТС] 26
PureBasic
1
2
3
4
@echo off
for /f %%a in ('"ffprobe -v error -select_streams v:0 -show_entries stream=width -of csv=s=x:p=0 video.mp4"') do set "width=%%a"
echo %width%
pause
Работает
0
6228 / 2670 / 1051
Регистрация: 06.06.2017
Сообщений: 9,112
30.06.2019, 15:26 27
Цитата Сообщение от vavun Посмотреть сообщение
Зачем мучать posh, если в вопросе был ffmpeg/ffprobe ?
Тут никаких мучений posh нет. Это часть касается исключительно COM, можно было и js/vbs написать, не суть. А то, что было в посте, ещё не значит, что было в вопросе, ко всему прочему некорректно составленном. А инструмент мной всегда выбирается тот, который не предполагает наличия сторонних и тем более достаточно объёмных средств. Иначе я бы предпочёл MediaInfo CLI:
Windows Batch file
1
2
3
4
@echo off
for /f %%i in ('"MediaInfo.exe --Inform=Video;%%Width%% video.mp4"') do set width=%%i
echo %width%
@pause>nul
0
19 / 17 / 5
Регистрация: 06.03.2014
Сообщений: 3,066
30.06.2019, 19:36  [ТС] 28
Аналогично

Windows Batch file
1
ffprobe -v error -select_streams v:0 -show_entries stream=DURATION -of csv=s=x:p=0 video.mp4
Не получается вытащить продолжительность видео. Если возможно сразу в формат конвектировать 00:03:50 в time()
0
6228 / 2670 / 1051
Регистрация: 06.06.2017
Сообщений: 9,112
30.06.2019, 20:12 29
А вы зачем вдобавок к оффтопному вопросу ещё и эту тему используете?
0
19 / 17 / 5
Регистрация: 06.03.2014
Сообщений: 3,066
30.06.2019, 20:18  [ТС] 30
Сори, отписался в в той теме.
0
30.06.2019, 20:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.06.2019, 20:18
Помогаю со студенческими работами здесь

Задать ширину блока через переменную
Необходимо задать ширину при помощи переменной $size = 200; <div style="height: 200px; width:...

Вытащить число в переменную
Здравствуйте! надо вытащить число в переменную. Возвращает -1, хотя в таблице 1944 записи, в чем...

Вытащить переменную из функции
Есть вот такая функция: setInterval(function() { var name = '<?= $_GET ?>'; var title =...

Не удается вытащить переменную
Добрый день, вернее ночи уже) Что то у меня глюки какие-то в программе. Помогите с игрой. Игра в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru