como converter avi (xvid) para mkv ou mp4 (h264)

15

Muito noob quando se trata de vídeo. Estou tentando entender o que estou encontrando via Google ... mas é principalmente grego para mim.

Eu tenho vários arquivos Avi que não são reproduzidos na minha caixa WD TV Play. Mediainfo me diz que eles são xvid. Especificações para a caixa mostram que deve ser bom ... mas cavando através de fóruns diz seu hit-and-miss. Então, eu gostaria de tentar convertê-los para arquivos MKV ou mp4 codificados em h264.

Eu pego avconv é a ferramenta, mas a leitura do manual só me deixa realmente muito confuso.

Eu tentei o exemplo básico de:

avconv -i file.avi -c copy file.mp4

Demorou menos de 4 segundos. E funcionou ... mais ou menos. Ele "tocou" em algo que surgiu na tela ... mas havia artefatos horríveis e as cenas simplesmente se misturavam. Eu quero preservar a qualidade, se possível.

Não estou preocupado com o tamanho do arquivo. Eu não estou muito preocupado com o tempo que isso leva, desde que eu possa fazê-los em um lote.

Alguém familiarizado com o processo pode me dar um comando com as opções?

Obrigado pela sua ajuda.

Estou postando o mediainfo no caso de isso ajudar:

General
Complete name                            : \SERVER\Video\Public\test.avi
Format                                   : AVI
Format/Info                              : Audio Video Interleave
File size                                : 189 MiB
Duration                                 : 11mn 18s
Overall bit rate                         : 2 335 Kbps
Writing application                      : Lavf52.32.0

Video
ID                                       : 0
Format                                   : MPEG-4 Visual
Format profile                           : Advanced Simple@L5
Format settings, BVOP                    : 2
Format settings, QPel                    : No
Format settings, GMC                     : No warppoints
Format settings, Matrix                  : Default (H.263)
Muxing mode                              : Packed bitstream
Codec ID                                 : XVID
Codec ID/Hint                            : XviD
Duration                                 : 11mn 18s
Bit rate                                 : 2 129 Kbps
Width                                    : 720 pixels
Height                                   : 480 pixels
Display aspect ratio                     : 16:9
Frame rate                               : 29.970 fps
Standard                                 : NTSC
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Compression mode                         : Lossy
Bits/(Pixel*Frame)                       : 0.206
Stream size                              : 172 MiB (91%)
Writing library                          : XviD 1.2.1 (UTC 2008-12-04)

Audio
ID                                       : 1
Format                                   : MPEG Audio
Format version                           : Version 1
Format profile                           : Layer 3
Mode                                     : Joint stereo
Mode extension                           : MS Stereo
Codec ID                                 : 55
Codec ID/Hint                            : MP3
Duration                                 : 11mn 18s
Bit rate mode                            : Constant
Bit rate                                 : 192 Kbps
Channel(s)                               : 2 channels
Sampling rate                            : 48.0 KHz
Compression mode                         : Lossy
Stream size                              : 15.5 MiB (8%)
Alignment                                : Aligned on interleaves
Interleave, duration                     : 24 ms (0.72 video frame)
    
por bcsteeve 04.11.2013 / 05:07

6 respostas

35

O comando padrão do link mostra isso:

avconv -i test.avi -c:v libx264 -c:a copy outputfile.mp4

Isto irá recodificar o seu vídeo para h264 (= AVC) e manter o seu som inalterado, o que é mp3 e completamente legal para o padrão.

Algumas outras opções a considerar com esta linha de comando são:

  • Ajuste a qualidade do vídeo de saída usando o parâmetro -b (taxa de bits) ou use o Fator de taxa constante (CRF) com algo como -crf 22
  • Use uma predefinição libx264, como -preset veryslow , para melhorar o vídeo

Se você usá-los, as opções devem ser colocadas após a opção -c:v libx264 ...

Você também pode ver os programas da GUI winff e avidemux , o que tornará as coisas menos complicadas. (também handbrake é bom, mas eu nunca cheguei a um acordo)

    
por thom 04.11.2013 / 05:56
3

Caso você esteja procurando algo gráfico, você pode considerar o uso do pacote mkvtoolnix-gui. Na verdade, depende do utilitário de linha de comando, mas ele executará o comando com todas as opções necessárias para você.

A primeira coisa que você precisa fazer é adicionar os arquivos contendo todos os fluxos necessários. Você faz isso (obviamente) pressionando o botão Adicionar e selecionando o arquivo ou arrastando seus arquivos para a área "Arquivos de entrada". Você não deve usar o botão acrescentar, a menos que sua intenção seja colocar o conteúdo de um arquivo após o conteúdo de outro (tornando a duração do arquivo final a soma de todos os anexos).

Como você está dizendo que está planejando apenas converter arquivos .avi , você deve simplesmente adicionar um arquivo no momento. Observe que o primeiro arquivo que você irá adicionar definirá automaticamente o nome do arquivo de saída, ele corresponderá ao nome de entrada, mas a extensão será alterada para .mkv . Você pode, claro, mudar isso se quiser.

Depois de adicionar algo, você poderá alterar os parâmetros dos fluxos (como o idioma atribuído, se a faixa está "ativada" por padrão e se um usuário pode optar por desabilitar esse fluxo todos juntos, se desejar .

Você pode dar o título do fluxo. Eu sugiro que, se você tiver um vídeo multi-áudio que você use junto com o idioma. Por exemplo, você pode ter "original" ou "dublagem de voz única" ou "comentário do diretor" para os nomes das faixas. Muitos jogadores mostram isso quando você seleciona o fluxo para jogar, e é muito útil. Tente não repetir as informações lá, no entanto. Não há motivo para escrever "inglês" quando você pode definir o código de idioma da faixa.

Existem também algumas opções específicas, que dependerão de qual fluxo você está trabalhando.

Às vezes, você pode adicionar alguns anexos ao seu arquivo. Se você adicionar uma imagem, muitos gerenciadores de arquivos exibirão essa imagem como o ícone do arquivo de vídeo final. Se você está trocando algum tipo de filme, e por acaso você tem a capa para ele, pode ser uma boa escolha colocá-lo como anexo.

Finalmente, na guia Global, você pode definir os metadados para o arquivo inteiro. O mais comum é definir o título. Ele será pré-preenchido pelos dados retirados do primeiro arquivo que você adicionou aos "Arquivos de entrada".

Você também pode adicionar informações sobre capítulos. O Mkvmerge é capaz de ler o arquivo do capítulo da ogm, bem como os capítulos xml. Ele também permite que você edite arquivos de capítulo, mas lembre-se de que essa guia funciona como um aplicativo separado, para que você não edite capítulos adicionados ao arquivo de saída, será necessário salvá-los nessa guia e, em seguida, adicioná-los como a entrada para o arquivo que você está agora muxing.

O recurso interessante do mkvmerge gui é o "Copiar para a área de transferência", que copia o comando exato do terminal que o aplicativo está planejando executar. Se você pretende migrar muitos arquivos, você pode configurar um, do jeito que você gosta, depois copiar o comando para a área de transferência e criar um script bash que faça todos os arquivos que você quiser de uma só vez.

    
por v010dya 10.11.2014 / 18:10
2

O Avidemux é um editor de vídeo gratuito projetado para tarefas simples de corte, filtragem e codificação. Suporta muitos tipos de arquivos, incluindo arquivos MPEG compatíveis com AVI, DVD, MP4 e ASF, usando uma variedade de codecs. As tarefas podem ser automatizadas usando projetos, fila de tarefas e poderosos recursos de script. O antividemux está disponível para o Ubuntu.

sudo apt-get update
sudo apt-get install avidemux
    
por kyodake 28.05.2014 / 02:34
0

HandBrake ( link ) é uma ferramenta bastante versátil que você pode usar, também há uma ferramenta CLI (como converter avi (xvid) para mkv ou mp4 (h264) ).

    
por prosseek 27.10.2015 / 15:37
0

Você também pode usar o dmMediaConverter uma GUI do FFmpeg livre. E você pode fazer isso sem reencodificar o fluxo de vídeo (depende do avi codec). Basta pegar os debs daqui: link

    
por mdalacu 23.01.2015 / 15:28
0

Eu usei os dois comandos a seguir para converter meus arquivos AVI em arquivos MP4 que seriam transmitidos adequadamente do meu WD My Cloud Mirror:

ffmpeg -i infile.AVI -strict -2 -profile:v baseline -pix_fmt yuv420p temp.mp4
MP4Box -mpeg4 -brand mp42:0 -add temp.mp4#video:name= -add temp.mp4#audio:name= -new outfile.mp4

ffmpeg converte o arquivo AVI para MP4, alterando o perfil de vídeo e o formato de pixel para estar em conformidade com os valores amplamente aceitos. MP4Box reembala os fluxos no MP4 final e adiciona metadados padrão.

    
por Patrick Ring 28.04.2018 / 07:21