使用ffmpeg将具有任何扩展名的文件转换为MP4
Convert file with any extension to MP4 with ffmpeg
我正在使用 youtube-dl 和 ffmpeg 创建一个 youtube 下载器和转换器(供个人使用)。我正在尝试下载视频并将其转换为 MP4。
我遇到的问题是 youtube-dl
以多种格式下载视频。有没有一种方法可以让我下载视频,然后在不知道当前文件类型的情况下告诉 FFMPEG
进行转换?
我尝试使用 *
通配符,但这会导致错误。
@echo off
title youtube downloader
set /p name= URL:
echo Select a type. (vid/mp3/mp4)
set /p type=
IF /i "%type%"=="vid" goto vid
IF /i "%type%"=="mp3" goto mp3
IF /i "%type%"=="mp4" goto mp4
:vid
youtube-dl %name%
goto commonexit
:mp3
youtube-dl -x --audio-format mp3 %name%
goto commonexit
:mp4
youtube-dl -o video %name%
ffmpeg -i video.* video.mp4 -hide_banner
:commonexit
pause
youtube-dl 在 automatically transcode the video to another format 中内置了此功能。
请记住,youtube-dl 会合并到 MKV,因为您下载视频时使用的编解码器无法存储在 MP4 容器中。转换为 "MP4" 是一项需要对视频进行转码的任务,这是一种有损操作,会导致进一步的质量损失。
如果您从 YouTube 下载,最好选择 select 已经支持多路复用到 MP4 的格式(h264/aac,而不是 vp9/opus)。例如,指定格式字符串 "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best"
将尝试下载 MP4 容器中允许的最佳质量的视频和音频。有关详细信息,请参阅 the format selection examples。
如果您正在下载的视频没有可用的必要编解码器(不太可能),youtube-dl 支持对视频进行转码。使用选项 --recode-video mp4
以某种方式将视频和音频转换为适合 "MP4," 的格式,但请记住此操作确实会导致质量损失,并且找到使质量最小化的选项 loss/encoding 时间更多一门艺术而不是一门科学。
我正在使用 youtube-dl 和 ffmpeg 创建一个 youtube 下载器和转换器(供个人使用)。我正在尝试下载视频并将其转换为 MP4。
我遇到的问题是 youtube-dl
以多种格式下载视频。有没有一种方法可以让我下载视频,然后在不知道当前文件类型的情况下告诉 FFMPEG
进行转换?
我尝试使用 *
通配符,但这会导致错误。
@echo off
title youtube downloader
set /p name= URL:
echo Select a type. (vid/mp3/mp4)
set /p type=
IF /i "%type%"=="vid" goto vid
IF /i "%type%"=="mp3" goto mp3
IF /i "%type%"=="mp4" goto mp4
:vid
youtube-dl %name%
goto commonexit
:mp3
youtube-dl -x --audio-format mp3 %name%
goto commonexit
:mp4
youtube-dl -o video %name%
ffmpeg -i video.* video.mp4 -hide_banner
:commonexit
pause
youtube-dl 在 automatically transcode the video to another format 中内置了此功能。
请记住,youtube-dl 会合并到 MKV,因为您下载视频时使用的编解码器无法存储在 MP4 容器中。转换为 "MP4" 是一项需要对视频进行转码的任务,这是一种有损操作,会导致进一步的质量损失。
如果您从 YouTube 下载,最好选择 select 已经支持多路复用到 MP4 的格式(h264/aac,而不是 vp9/opus)。例如,指定格式字符串 "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best"
将尝试下载 MP4 容器中允许的最佳质量的视频和音频。有关详细信息,请参阅 the format selection examples。
如果您正在下载的视频没有可用的必要编解码器(不太可能),youtube-dl 支持对视频进行转码。使用选项 --recode-video mp4
以某种方式将视频和音频转换为适合 "MP4," 的格式,但请记住此操作确实会导致质量损失,并且找到使质量最小化的选项 loss/encoding 时间更多一门艺术而不是一门科学。