1

所以发生的情况是,如果视频标题有一个您当前语言环境不支持的符号,那么 ffmpeg 将无法正确访问该文件。

这是一个例子

►2 HOURS BEST MELODIC DUBSTEP MIX APRIL 2013◄ ヽ( ≧ω≦)ノ

正如您可能会或可能不会看到的那样,许多来自 unicode 的符号。

问题是在cmd和ffmpeg中,虽然cmd可以看到

►2 HOURS BEST MELODIC DUBSTEP MIX APRIL 2013◄ ヽ( ≧ω≦)ノ

ffmpeg 只看到

2 HOURS DUBSTEP_DRUMSTEP MIX AUGUST 2013 ヽ(≧ω≦)ノ

这是确切的错误消息(我正在使用 youtube-dl)

[ffmpeg] Adding metadata to 'C:\Music\ToBeDone\2014-06-01\►2 HOURS DUBSTEP_DRUMSTEP MIX AUGUST 2013◄ ヽ( ≧ω≦)ノ.mp4'
ERROR: C:\Music\ToBeDone\2014-06-01\2 HOURS DUBSTEP_DRUMSTEP MIX AUGUST 2013 ヽ(≧ω≦)ノ.mp4: No such file or directory
ERROR: WARNING: unable to obtain file audio codec with ffprobe

经过一些研究,我确定通过更改系统区域设置,您可以更改 cmd 可以支持的符号。

然而

过去在美国语言环境中显示为问号中的框。在日语语言环境中,它现在就出现在您的屏幕上。

问题

是即使它没有在框中显示为问号(它显示为应有的样子),ffmpeg(或cmd)也无法正确检测到它。

(参考错误信息,我会在下面重新发布。)

[ffmpeg] Adding metadata to 'C:\Music\ToBeDone\2014-06-01\►2 HOURS DUBSTEP_DRUMSTEP MIX AUGUST 2013◄ ヽ( ≧ω≦)ノ.mp4'
ERROR: C:\Music\ToBeDone\2014-06-01\2 HOURS DUBSTEP_DRUMSTEP MIX AUGUST 2013 ヽ(≧ω≦)ノ.mp4: No such file or directory
ERROR: WARNING: unable to obtain file audio codec with ffprobe

如您所见,我认为 cmd 从添加元数据行看到正确地将符号传递给 ffmpeg,但是当它实际执行操作时,ffmpeg 会丢失

► and ◄

这可能是ffmpeg的错误吗?到目前为止,我使用不兼容符号的解决方法是更改​​系统区域设置,但我认为我不能用这两个符号做到这一点......

这些是我需要有一个支持的语言环境的独特字符

Ö

◄ ヽ( ≧ω≦)ノ

( ͡° ͜ʖ ͡°)

(_≧∇≦)

†

【

有关一般问题的更多信息

https://github.com/rg3/youtube-dl/issues/2999

这就是发生的事情(批处理脚本)

@echo off
setlocal
cd C:\youtube-dl

set /p "var1=Enter URL: " %=% pause
if defined var1 set "var1=%var1:"=%"
set "var2=%date:/=-%" 
set "var3=%%(title)s.%%(ext)s"
youtube-dl "%var1%" -ci -o "C:\Music\ToBeDone\%var2%\%var3%" -f best -x --no-mtime --add-metadata 
youtube-dl "%var1%" --skip-download -ci -o "C:\Music\ToBeDone\%var2%\Thumbnail\%var3%" --write-   thumbnail
youtube-dl "%var1%" --skip-download -ci -o "C:\Music\ToBeDone\%var2%\Description\%var3%" --write-description
4

0 回答 0