Como posso combinar esses dois comandos? mapeamento de stream e legendas

1

Eu quero combinar os dois comandos a seguir em um comando, se possível.

  1. Áudio do audio.mp4 na parte superior do vídeo do video.mp4, saída para 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. Codifique as legendas de legendas em subtitles.ass em temp.mp4 e imprima em final.mp4

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

Então, há uma maneira de codificar as legendas enquanto eu também estou remapeando os fluxos das duas fontes de vídeo? Todas as tentativas que tentei resultaram em um vídeo sem legendas. Essencialmente, quero evitar a renderização dupla.

Eu descobri todos os meus problemas de ffmpeg até agora, mas este me deixou perplexo.

Obrigado!

Informações do sistema: Windows 7

info do ffmpeg:

ffmpeg version N-54277-gff130d7 Copyright (c) 2000-2013 the FFmpeg developers built on Jun 30 2013 01:25:12 with gcc 4.7.3 (GCC) configuration: --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

    
por charlieb 10.09.2013 / 01:20

2 respostas

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

tentou isso? O que eu fiz foi literalmente colocar first CMD && second CMD este deve executar o primeiro comando e o IF que saiu corretamente, então execute o segundo. Se o primeiro falhar, deve desistir e parar.

    
por 10.09.2013 / 02:08
0

Eu acho que você precisa

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] pegará o vídeo necessário e, em seguida, redirecionará para o fluxo chamado out e, em seguida, usaremos map para mapeá-lo.

    
por 09.02.2018 / 17:32

Tags