Transferir vídeos do YouTube para .avi

0

Eu faço o download de vídeos do YouTube usando youtube-dl https://www.youtube.com/.... , mas seu formato é .mp4 . Minha TV não suporta este formato, portanto, preciso ter (fazer o download) deles em .avi . Por favor me ajude :)

    
por Limko 17.01.2015 / 00:59

2 respostas

2

você pode executar o seguinte comando para converter todos os seus vídeos mp4 para avi:

for i in 'find . -type f -name '*.mp4''; do avconv -i "$i" -qscale 1 "${i/.mp4/.avi}"; done

Para mais informações sobre o avconv, consulte as páginas de manual:

man avconv

Como alternativa, você pode fazer o download como um formato específico usando a sinalização FORMAT --recode-video como (mas os únicos formatos suportados são: mp4 | flv | ogg | webm | mkv):

youtube-dl --recode-video flv 

para o formato .flv, seguido pelo URL.

Versões mais recentes do youtube-dl podem permitir a recodificação para o avi:

youtube-dl --recode-video avi

e versões mais recentes do Ubuntu (15.04+) permitirão que você prefira o ffmpeg sobre o avconv se o ffmpeg estiver instalado:

youtube-dl --recode-video avi --prefer-ffmpeg    
    
por mchid 17.01.2015 / 01:09
1

Embora a resposta da mchid possa resultar em um arquivo de trabalho em seu dispositivo, recodificar um vídeo inteiro não é o que você deve fazer, pois seu dispositivo é exigente com formatos padrão e, portanto, padrão para formatos não padrão herdados.

Supondo que o formato ideal para o seu dispositivo é AVI , é horrível e estúpido. O contêiner AVI pode ser usado com vários formatos diferentes (como o MKV, antigo e pior) e apesar de sua popularidade no warezing antes do podcasting, streaming e video on demand estavam amplamente disponíveis, é tudo menos um padrão para distribuição de conteúdo. / p>

Aqui está um trecho do que o avconv fez no meu caso de teste:

  Stream #0:0 -> #0:0 (h264 -> mpeg4)
  Stream #0:1 -> #0:1 (aac -> libmp3lame)

O que é o MPEG4? Saída de mediainfo:

Video
ID                                       : 0
Format                                   : MPEG-4 Visual
Format profile                           : Simple@L1
Format settings, BVOP                    : No
Format settings, QPel                    : No
Format settings, GMC                     : No warppoints
Format settings, Matrix                  : Default (H.263)
Codec ID                                 : FMP4
Duration                                 : 1mn 29s
Bit rate                                 : 3 479 Kbps
Width                                    : 1 920 pixels
Height                                   : 1 080 pixels
Display aspect ratio                     : 16:9
Frame rate                               : 29.970 fps
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Compression mode                         : Lossy
Bits/(Pixel*Frame)                       : 0.056
Stream size                              : 36.9 MiB (100%)
Writing library                          : Lavc54.92.100

Observe a mudança para o muito antigo H.26 3 (Simple @ L1 - você pode estudar o que os perfis e níveis significam na codificação de vídeo ... ou melhor, não). Um padrão sensato quando nenhuma informação adicional é fornecida, mas você não deve usar o H.263 em um dispositivo moderno, a menos que esteja realmente desesperado.

Comparação com o original e o resultado tanto no JPEG, como eu fiz upload de capturas de tela PNG de 1080p (ver em tamanho maior!). E isso é apenas uma cena com detalhes baixos de um videogame quase sem movimento.

TL; DR:

  1. Obtenha um dispositivo que não seja exigente com os formatos e faça você perder tempo e energia recodificando.
  2. Use um conversor que ofereça modelos para obter qualidade com configurações de codificação sãs, como o Handbrake.
  3. Experimente -vcodec copy para alterar o contêiner, mas evite codificar novamente o vídeo com avconv / ffmpeg.
por LiveWireBT 17.01.2015 / 05:53