1

Я хочу объединить следующие две команды в одну команду, если это возможно.

  1. Аудио из audio.mp4 поверх видео из video.mp4, вывод на temp.mp4

    ffmpeg -i video.mp4 -i audio.mp4 -map 0:v:0 -map 1:a:0 -shortest -s hd1080 -r 24 temp.mp4

  2. Жесткий код субтитров из subtitles.ass в temp.mp4 и вывод в final.mp4

    ffmpeg -i temp.mp4 -vf "ass = subtitles.ass" final.mp4

Итак, есть ли способ жестко закодировать субтитры, пока я также переназначаю потоки из двух источников видео? Любые попытки, которые я попробовал, только что привели к видео без субтитров. По сути, я хочу избежать двойного рендера.

До сих пор я разобрался со всеми своими проблемами с ffmpeg, но эта проблема поставила меня в тупик.

Спасибо!

Информация о системе: Windows 7

Информация о ffmpeg:

ffmpeg версия N-54277-gff130d7 Copyright (c) 2000-2013 разработчики FFmpeg, созданные 30 июня 2013 г. 01:25:12 с конфигурацией gcc 4.7.3 (GCC): --enable-gpl --enable-version3 --disable -w32threads --enable-av isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab le-iconv --enable-libass --enable-libbluray --enable-libcaca - -enable-libfreetyp e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp eex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo- amrwbenc --enable- libvorbis --enable-libvpx --enable-libx264 --enable-libxavs - enable-libxvid --enable-zlib libavutil 52. 37,101 / 52. 37.101 libavcodec 55. 17.100/55. 17.100 libavformat 55. 10.100/55. 10.100 libavdevice 55. 2,100 / 55. 2.100 libavfilter 3. 77.101 / 3. 77.101 libswscale 2. 3.100 / 2. 3.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 3.100 / 52. 3,100

2 ответа2

0

ffmpeg -i video.mp4 -i audio.mp4 -map 0:v:0 -map 1:a:0 -shortest -s hd1080 -r 24 temp.mp4 && ffmpeg -i temp.mp4 -vf "ass=subtitles.ass" final.mp4

пробовал это? Что я сделал, так это буквально поместил first CMD && second CMD это должно выполнить первую команду и, если она прошла правильно, затем выполнить вторую. Если первая не удалась, она должна сдаться и остановиться.

0

Я думаю тебе нужно

ffmpeg -i video.mp4 -i audio.mp4 -vf "[0:v:0]ass=subtitles.ass[out]" -map out -map 1:a:0 -shortest -s hd1080 -r 24  final.mp4

[0:v:0]ass=subtitles.ass[out] возьмет нужное вам видео, а затем перенаправит его на названный поток out а затем мы используем map для его отображения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .