Converta o áudio do YouTube DASH (youtube-dl) para m4a (AAC DL)

6

Não consigo ouvir o áudio do DASH do m4a que baixo do YouTube via youtube-dl no Winamp. Existe uma opção no youtube-dl para remover a parte de áudio DASH do arquivo m4a e fazer o download / salvá-lo como um m4a (AAC LC) sem perda de qualidade? Até agora, estou usando ffmpeg -i input.m4a -vn -acodec copy output.m4a para converter cada arquivo para que ele seja reproduzido corretamente no Winamp.

    
por Sun 07.11.2014 / 09:17

3 respostas

4

youtube-dl 2015.01.23.4 and newer will automatically correct the header of the m4a file if ffmpeg is present on the system.

Fonte: youtube-dl : Arquivos do Youtube m4a baixados com --extract-audio não podem ser reproduzidos em alguns players
Tudo o que você precisa fazer é adicionar o caminho ao diretório que contém o binário ffmpeg à sua variável de caminho do sistema (assim no Windows 7):

Ou use o argumento de linha de comando --ffmpeg-location <path to ffmpeg binary or its containing directory> ao chamar youtube-dl, para permitir que o youtube-dl através do ffmpeg corrija isso automaticamente.

    
por 11.03.2015 / 12:06
6

Não, você precisa de uma segunda etapa de conversão.

O problema é que, para o YouTube DASH, o ftyp do contêiner MP4 tem a "marca principal" definida como dash em vez de m4a . Essa é a abordagem correta para o fluxo DASH, mas o Winamp é muito antigo para reconhecê-lo (e muitos outros programas são).

Agora, o que seria uma sugestão razoável é criar uma solicitação de recurso para o youtube-dl adicionar suporte de pós-processamento para o ffmpeg converter a principal marca do contêiner MP4 em algo mais compatível. Mas no momento, tal coisa não existe.

Ou, envie um relatório de bug para o Winamp para incluir o suporte à decodificação para dash marcas. Como é provável que ele dependa de um plug-in de decodificador de terceiros, isso provavelmente significa criar um relatório de bug em outro lugar também.

    
por 07.11.2014 / 09:41
1

Eu tomei a liberdade de usar o comando ffmpeg e é isso que recebi: yt "My Youtube File.mp4"

Um arquivo yt.bat colocado em system32 contendo:

@echo off
mv %1 "_%~n1"
ffmpeg -i "_%~n1" -vn -c:a copy "%~n1.m4a"
rm "_%~n1"

* renomeia automaticamente para m4a , que pode ser alterado no código.

** ele precisa ser feito através do arquivo temporário e, em seguida, usando rm, mv, caso contrário, o arquivo e o nome do arquivo serão corrompidos.

    
por 29.11.2014 / 05:40