10

I am unable to listen to m4a DASH audio I download from YouTube via youtube-dl on Winamp. Is there an option in youtube-dl to remove the DASH audio part of m4a file and download/save it as an m4a (AAC LC) without loss of quality? So far, I am using ffmpeg -i input.m4a -vn -acodec copy output.m4a to convert each file so it plays properly in Winamp.

Sun
  • 6,480

3 Answers3

7

No, you need a second conversion step.

The problem is that for YouTube DASH, the MP4 container's ftyp has the "major brand" set to dash instead of m4a. This is the correct approach for DASH streaming, but Winamp is too old to recognize it (and many other programs are).

Now, what would be a reasonable suggestion is to create a feature request for youtube-dl to add post-processing support for ffmpeg to convert the major brand of the MP4 container to something more compatible. But at the moment, such a thing does not exist.

Or, file a bug report for Winamp to include decoding support for dash brands. Since it's likely to rely on a third-party decoder plugin, this probably means raising a bug report somewhere else, too.

slhck
  • 235,242
7

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

Source: youtube-dl : Youtube m4a files downloaded with --extract-audio can't play in some players
All you have to do is to add the path to the directory containing the ffmpeg binary to your system path variable (like so in Windows 7):

Or use the --ffmpeg-location <path to ffmpeg binary or its containing directory> command line argument when calling youtube-dl, to allow youtube-dl through ffmpeg to automatically correct this.

1

I took the liberty of using your ffmpeg command and this is what I got: yt "My Youtube File.mp4"

A file yt.bat placed in system32 containing:

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

*renames automatically to m4a, which can be changed in the code.

**it needs to be through temp file and then using rm, mv, otherwise the file and filename get corrupted.

Qwerty
  • 586