Я хочу создать видео с теми же настройками, что и существующее видео. Я могу бежать:
ffmpeg -i original.mp4
Чтобы получить удобочитаемую информацию о содержании:
Duration: 00:05:32.32, start: 0.000000, bitrate: 474 kb/s Stream #0.0(und): Video: h264, yuv420p, 480x360, 25 tbr, 25 tbn, 50 tbc Stream #0.1(und): Audio: aac, 44100 Hz, stereo, s16
Но мне хотелось бы получить командную строку, мне нужно будет конвертировать другое видео в тот же формат, что-то вроде:
ffmpeg -i source.mp4 -vcodec h264 - ....
Есть идеи, если такое возможно?
Для этого нет встроенной опции, поэтому вам нужно будет написать программу, чтобы сделать это.
Вам нужно проанализировать вывод ffmpeg -i
. Затем вам нужно создать строку, содержащую всю необходимую информацию, отформатированную как командную строку. Он должен знать, как обращаться с любыми свойствами, которые вас беспокоят. Как отметил Грэм, некоторые параметры формата сообщаются иначе, чем команда, необходимая для их создания (и это часто зависит от конкретного компонента, который вы установили). Иногда заполненный скрипт должен быть обновлен из-за изменений в ffmpeg
.
Это определенно возможно, но это будет сложно и отнимает много времени. Это не стоит делать. Если вы все еще хотите попробовать, вам, вероятно, понадобится опыт в этих областях:
обычные выражения
кодирование мультимедиа в целом
ffmpeg
и компоненты ffmpeg
(рекомендую самостоятельно его компилировать, если вы еще этого не сделали)
(возможно) хороший динамический язык программирования (PERL кажется логичным кандидатом, если вы его понимаете)
Когда вы закончите, вы можете обнаружить, что вы предпочитаете вводить свои собственные командные строки.