将 YouTube 视频转换为 FLAC 音频文件

将 YouTube 视频转换为 FLAC 音频文件

我想知道是否可以将 Youtube 视频中的歌曲转换为 FLAC,以便我可以在 Audacity 中打开它,而不会损失质量并导出为 MP3(192kbps);FLAC 是否会保留歌曲的质量,以便可以在 Audacity 中处理?

答案1

如果您想保持音频质量(由于 YouTube 转换,音频已经有损),您可能需要尝试提取音频而不是转换它。FFmpeg可能会派上用场。它需要一些命令提示符的基本知识。

YouTube 视频中的音频流可能是 AAC 或 Vorbis (OGG),两者都是有损格式(这取决于您选择下载的视频格式:MP4、FLV、WEBM)首先,您需要确定您的视频包含哪种类型的音频格式。为此,您需要运行以下命令:

ffmpeg -i video.mp4

“video.mp4” 是您从 YouTube 下载的视频的文件名。查找以 - 开头的行,Stream #0:1: Audio:您会在那里找到音频格式(对于 MP4 视频,应该是 AAC)。

现在您需要通过运行以下命令来提取音频:

ffmpeg -i video.mp4 -vn -acodec copy audio.aac
  • -vn表示没有视频
  • -acodec copy将复制音频流而不进行转换
  • audio.aac是您的输出文件 - 您可以随意命名,但文件的扩展名必须与运行第一个命令确定的音频格式相对应。

这样你应该就可以得到一个音频文件,你可以在 Audacity 中编辑它而不需要转换它(我尝试了 AAC 和 OGG,效果很好)。而且由于不需要转换,提取过程非常快。我在不到 15 秒的时间内从 1.35 GB 的视频中提取了一个 151 MB 的音频文件。

只需记住几件事 - 将音频或视频文件转换为另一种格式(即使是无损的,例如 FLAC)可能会导致一些质量损失 - 因此只要有可能,请尝试提取音频或视频流而不是转换它们。

为了在 Audacity 中编辑音频后保持质量,您应该始终将其保存为 Audacity 项目 (*.aup) 以供稍后编辑,或将音频提取为可播放格式 - 无损(如 WAV)或高质量 MP3(您可以将比特率设置为 320 kbps,尽管 YouTube 视频的比特率通常较低)或您选择的其他格式。

最后但同样重要的一点是:如果您想要高质量的音频,您可能应该寻找 YouTube(或其他视频流服务)以外的其他来源,因为视频中包含的音频质量总是较低 - 但这只是我的建议......

答案2

如果你知道你被允许这样做(你这样做并没有违反任何法律,如版权法),你可以使用youtube-dl仅下载源音频文件,不下载视频。

Youtube 已经将视频和音频预先转换为不同的格式,以适应屏幕较小、显示分辨率较低的设备的需求,因此如果您需要带宽较低的版本,您可以找到 Youtube 已经处理过的版本并下载。

安装 youtube-dl 后,使用命令行:youtube-dl -F youtube_video_url_here您将看到类似这样的输出:

C:\Users\UserName>youtube-dl -F https://www.youtube.com/watch?v=dQw4w9WgXcQ
[youtube] dQw4w9WgXcQ: Downloading webpage
[youtube] dQw4w9WgXcQ: Downloading video info webpage
[youtube] dQw4w9WgXcQ: Downloading js player vflFbRRRp
[youtube] dQw4w9WgXcQ: Downloading js player vflFbRRRp
[info] Available formats for dQw4w9WgXcQ:
format code  extension  resolution note
249          webm       audio only tiny   49k , opus @ 50k (48000Hz), 1.18MiB
250          webm       audio only tiny   65k , opus @ 70k (48000Hz), 1.55MiB
140          m4a        audio only tiny  130k , m4a_dash container, mp4a.40.2@128k (44100Hz), 3.27MiB
251          webm       audio only tiny  136k , opus @160k (48000Hz), 3.28MiB
394          mp4        256x144    144p   80k , av01.0.00M.08, 25fps, video only, 1.83MiB
278          webm       256x144    144p   97k , webm container, vp9, 25fps, video only, 2.25MiB
160          mp4        256x144    144p  108k , avc1.4d400c, 25fps, video only, 2.05MiB
395          mp4        426x240    240p  182k , av01.0.00M.08, 25fps, video only, 3.84MiB
242          webm       426x240    240p  217k , vp9, 25fps, video only, 4.04MiB
133          mp4        426x240    240p  289k , avc1.4d4015, 25fps, video only, 4.47MiB
396          mp4        640x360    360p  346k , av01.0.01M.08, 25fps, video only, 7.02MiB
243          webm       640x360    360p  396k , vp9, 25fps, video only, 6.96MiB
134          mp4        640x360    360p  484k , avc1.4d401e, 25fps, video only, 8.26MiB
244          webm       854x480    480p  586k , vp9, 25fps, video only, 10.03MiB
397          mp4        854x480    480p  618k , av01.0.04M.08, 25fps, video only, 12.23MiB
135          mp4        854x480    480p  742k , avc1.4d401e, 25fps, video only, 11.56MiB
247          webm       1280x720   720p 1035k , vp9, 25fps, video only, 17.67MiB
136          mp4        1280x720   720p 1079k , avc1.4d401f, 25fps, video only, 16.72MiB
398          mp4        1280x720   720p 1249k , av01.0.05M.08, 25fps, video only, 25.78MiB
248          webm       1920x1080  1080p 2666k , vp9, 25fps, video only, 58.46MiB
137          mp4        1920x1080  1080p 4642k , avc1.640028, 25fps, video only, 78.97MiB
18           mp4        640x360    360p  601k , avc1.42001E, mp4a.40.2@ 96k (44100Hz), 15.19MiB (best)

如您所见,列出的几个项目没有视频分辨率,但带有“仅音频”文本,这些就是您要查找的项目。为了获得最佳质量,请选择比特率最大的一个。这里是 136k 的文件,位于以 开头的行上251。这意味着文件 ID 251 是您要下载的文件。因此,运行以下命令:

youtube-dl -f 251 https://www.youtube.com/watch?v=dQw4w9WgXcQ

并且您应该拥有此视频网址的最佳音轨。显然,您必须查看视频的文件 ID,因此您需要-F先运行命令,如上所述。

之后,您可能会得到一个视频或音频编辑器不想识别的文件。在此示例中,我们最终会得到一个webm本身不是音频格式的文件,而是一种容器格式,例如mkv,其中可以包含多个媒体文件。251 轨道包含一个音频轨道作品格式

要将任何音频转换为 FLAC,您可以使用ffmpeg使用以下命令:

ffmpeg -i "D:\input audio file.webm" "D:\output audio file.flac"

答案3

最简单的方法;使用youtube-dl...

$ youtube-dl -x --audio-format flac --audio-quality 0 "youtube-url-to-video"

例如针对没有 Python2 的 Ubuntu 20.04 进行特殊调整……

$ python3 `which youtube-dl` -x --audio-format flac --audio-quality 0 "https://youtu.be/qTUM8gFyLqo?t=909"
[youtube] qTUM8gFyLqo:正在下载网页
[youtube] qTUM8gFyLqo:正在下载 js 播放器 bcf2977e
[youtube] qTUM8gFyLqo:正在下载 js 播放器 bcf2977e
[下载] 目的地:爆米花的 13 个版本(按时间顺序演变)-qTUM8gFyLqo.webm
[下载] 16.41MiB 的 100% 耗时 00:00
[ffmpeg] 目的地:爆米花的 13 个版本(按时间顺序演变)-qTUM8gFyLqo.flac
删除 13 个版本的原始文件 Popcorn(按时间顺序演变)-qTUM8gFyLqo.webm(通过 -k 保留)

当然,audacity 采用 flac,但也采用许多其他格式,包括 mp3...

$ audacity “13 个版本的爆米花(按时间顺序演变)-qTUM8gFyLqo.flac”

切断 909 秒之前的所有噪音以保留布偶版本;
youtube-dl 不尊重 url 的“?t=909”部分。

答案4

也许你需要FLAC 视频转换器,你可以得到任何你想要的Youtube视频和音频。

相关内容