Então, eu sou capaz de transcodificar arquivos de vídeo e áudio separados em um arquivo de filme, da seguinte forma:
ffmpeg -ss 0 -lowres 0 -r 24 -i dcp/picture.mxf -vf "xyz2rgb" -i mov/sound.wav -ac 2 -ab 256k -vb 3000k -t 10 -y mov/movie.mp4
E veja e ouça o filme resultante assim:
ffplay -ss 0 -lowres 1 -vf "xyz2rgb" mov/movie.mp4
No entanto, para evitar a transcodificação do filme e o som juntos em um arquivo antes de poder vê-lo, eu gostaria de simplesmente reproduzir os dois arquivos separados juntos. Até onde eu sei, o ffplay não permite combinar dois arquivos diferentes (certo?).
Lendo esses fóruns, parece que você pode canalizar uma saída ffmpeg para ffplay . O seguinte é o mais próximo que cheguei. Não é tão perto. :( As informações do vídeo estão claramente sendo carregadas, mas são "neve" verde no tamanho de quadro correto, com dicas das imagens reais dançando dentro da horrível neve verde. Dessa forma, eu sei que algo dos dados reais da imagem está carregando , apenas não processando corretamente.
E nenhum áudio é reproduzido. O som não está carregando (acho que não). Agora ... estou preso. O seguinte sugere o que estou tentando fazer, mas não está funcionando:
ffmpeg -ss 0 -lowres 0 -r 24 -i dcp/picture.mxf -vf "xyz2rgb" -i mov/sound.wav -f rawvideo - | ffplay -f rawvideo -vf "xyz2rgb" -s 1998x1080 -
fonte
ffplay
. Além disso, sua saída temrgb48le
como o formato de pixel (por causa do filtro), masffplay
assumeyuv420p
, assim que você também precisa especificar que:ffplay -f rawvideo -s 500x270 -pix_fmt rgb48le -
. Quanto ao segfault: Não faço ideia ... talvez você possa criar e enviar um pequeno arquivo de teste em algum lugar?Isso não transcodificaria os fluxos:
-map 1:1
= segundo arquivo, fluxo 1 (geralmente áudio).-c copy
=-c:v copy -c:a copy
. Por padrão, o arquivo compactado tem o tamanho do arquivo mais longo, mas o-shortest
faria com o arquivo mais curto.fonte
Para meus propósitos, isso permite uma rápida revisão do conteúdo de um DCP (Digital Cinema Package) que você pode criar com ferramentas de código aberto . O DCP usa o espaço de cores xyz; portanto, você precisa ter um filtro de vídeo xyz instalado ; caso contrário, não poderá usá-lo na linha acima. (Tudo bem, ele ficará com uma cor muito alaranjada, e você não verá as cores verdadeiras.)
Adicionei o codec mpeg2video b / c, apesar de reduzir a qualidade, é baixa taxa e amortece um pouco, para que ele tenha um desempenho mais suave na minha máquina. (Além disso, por alguma razão, sem transcodificar primeiro, recebo apenas um quadro congelado da sequência jpeg2000 mjpeg, alimentando a 125mb / s poderosos do MXF, a menos que inicie "- ss 0", ou seja, no início do Com uma máquina MUITO RÁPIDA, não especificando nenhum codec (remova "-c: v mpeg2video"), tamanho completo ("-lores 0") e começando em 0 (-ss 0), você pode teoricamente revisar o cinema 2K qualidade DCP exatamente como está. Bem, exceto por instruções especiais incluídas no XML - legendas ou outra programação. Mas geralmente. (BTW "-ac: 2" faz downmixes 5.1 a 2.0 - embora você possa ter um hardware compatível com a audição 5.1; nesse caso, use "-c: a copy".)
Agradeço a Matthias em Belle-Nuit e slhck acima por POR PACIENTE me guiar por isso. Obrigado!!!! Isso é bastante útil. E, de fato, me salvou de uma exibição de filme potencialmente embaraçosa no teatro Aero no domingo à noite. Minha numeração de sequência de imagens estava fora de sequência - encontrei com isso e foi corrigida!
Uau, tudo isso por apenas uma linha de comando, quem sabia;)
Cheereo - b worldpoop.com
fonte