2009-09-18 22:20:24 +0000 2009-09-18 22:20:24 +0000
51
51

Como posso fundir dois ficheiros mp4 sem perder qualidade?

Tenho dois ficheiros mp4 de alta qualidade, que são de duas partes do mesmo programa.

Quero fundi-los em 1 ficheiro, e normalmente uso o VirtualDub para fundir os meus ficheiros… Mas não parece suportar mp4.

Que alternativas estão disponíveis (especialmente as que não requerem recodificação)?

Respostas (7)

41
41
41
2009-09-19 12:05:18 +0000

Eu normalmente uso o VirtualDub para fundir os meus ficheiros, mas não parece suportar mp4. Então que alternativas existem? Avidemux . É como o VirtualDub, só que com mais formatos suportados e codecs e filtros incorporados. Eu utilizo-o sempre de preferência; junta ficheiros AVC+AAC.MP4 (sem recodificar) bem para mim.

Para os juntar ao AviDemux:

  1. Ficheiro -> Abrir -> Seleccionar Ficheiro
  2. Ficheiro -> Anexar -> Seleccionar Ficheiro
  3. Coloque tudo em Copiar
  4. Ficheiro -> Guardar -> FileName
  5. Esperar…

De acordo com os fóruns AViDemux, este processo de adesão é sem perdas http://www.avidemux.org/smf/index.php?topic=9467.0 )

29
29
29
2012-12-21 16:39:48 +0000

Pode fazer isto com ffmpeg:

mkfifo temp0 temp1
ffmpeg -i input0.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts -y temp0 2> /dev/null & \
ffmpeg -i input1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts -y temp1 2> /dev/null & \
ffmpeg -f mpegts -i "concat:temp0|temp1" -c copy -absf aac_adtstoasc output.mp4

Isto não recodifica nada, coloca-os num novo contentor de fluxo de transporte, o que os torna mais fáceis de concatenar, e depois concatena-os novamente num MP4. Se o output.mp4 já existir, o comando irá falhar. A versão acima usa pipes nomeados, se estiver num sistema que não suporta aqueles que teria de usar ficheiros intermédios (como o windows):

ffmpeg -i input0.mp4 -c copy -bsf:v h264_mp4toannexb temp0.ts
ffmpeg -i input1.mp4 -c copy -bsf:v h264_mp4toannexb temp1.ts
ffmpeg -i "concat:temp0.ts|temp1.ts" -c copy -bsf:a aac_adtstoasc output.mp4
15
15
15
2014-03-02 01:54:46 +0000

Concat demuxer

O concat demuxer foi adicionado a ffmpeg 1.1. Se a sua versão do ffmpeg está para a antiga, ** esqueça o novo binário estático daqui:** http://www.ffmpeg.org/download.html

Instruções

Crie um ficheiro mylist.txt com todos os ficheiros que pretende ter concatenados na seguinte forma (Linhas que começam com um traço são ignoradas):

# this is a comment
file '/path/to/file1'
file '/path/to/file2'
file '/path/to/file3'

Note que estes podem ser caminhos relativos ou absolutos. Depois pode codificar os seus ficheiros com:

ffmpeg -f concat -i mylist.txt -c copy output

É possível gerar este ficheiro de lista com uma bash para loop, ou utilizando o printf. Qualquer uma das seguintes opções pode gerar um ficheiro de lista contendo cada *.wav no directório de trabalho:

for f in ./*.wav; do echo "file '$f'" >> mylist.txt; done
printf "file '%s'\n" ./*.wav > mylist.txt

Fonte: ffmpeg wiki

8
8
8
2009-09-18 23:09:39 +0000

Descarregue ambos e descomprima-os (sem necessidade de instalação e com cerca de 5MB), no YAMB escolha Settings e defina o caminho da pasta do MP4box. Para juntar ficheiros mp4 escolha Editing > Click to Join supported…

5
5
5
2009-09-19 11:08:12 +0000

Tente usar o contentor de vídeo Matroska.

Primeiro, precisa de mkvtoolnix . Faça o download e instale-o, depois precisa de ligar a GUI do mkvmerge (a não ser que goste de ferramentas de linha de comando, o que por mim está bem - embora possa querer olhar para a secção de ligação de ficheiros de a documentação do mkvmerge ).

Adicione o seu primeiro ficheiro clicando em “add”. Depois, clique em “append”, e abra o seu segundo ficheiro. Defina o ficheiro de saída, carregue em “Start muxing” no fundo, e pronto!

Se o contentor não for adequado às suas necessidades, pode recodificá-lo, ou tentar convertê-lo para outro formato qualquer… Embora o MKV seja um contentor muito bonito!

1
1
1
2009-09-18 22:24:57 +0000

Se você pode tocá-los no seu sistema / ter um codec instalado, o Windows Movie Maker pode ser a forma mais rápida (e gratuita) de juntar os dois arquivos. Você pode então usar o Virtualdub para converter para um formato diferente.

1
1
1
2009-09-19 11:46:02 +0000

Outra solução é o Open Video Joiner . Também faz efeitos de transição.