Opened 2 years ago
Last modified 12 months ago
#11059 new defect
FFmpeg cannot load files with non-latin characters by DirectShowSource2 of AviSynth+
| Reported by: | syehoonkim | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | undetermined |
| Version: | unspecified | Keywords: | |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | no |
Description
Summary of the bug:
How to reproduce:
% ffmpeg -i input.avs ... output ffmpeg version N-115575-g4e120fbbbd-ffmpeg-windows-build-helpers Copyright (c) 2000-2024 the FFmpeg developers built with gcc 10.2.0 (GCC) configuration: --pkg-config=pkg-config --pkg-config-flags=--static --extra-version=ffmpeg-windows-build-helpers --enable-version3 --disable-debug --disable-w32threads --arch=x86_64 --target-os=mingw32 --cross-prefix=/home/syehoon/repos/ffmpeg-windows-build-helpers/sandbox/cross_compilers/mingw-w64-x86_64/bin/x86_64-w64-mingw32- --enable-libcaca --enable-gray --enable-libtesseract --enable-fontconfig --enable-gmp --enable-libass --enable-libbluray --enable-libbs2b --enable-libflite --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libvorbis --enable-libwebp --enable-libzimg --enable-libzvbi --enable-libmysofa --enable-libopenjpeg --enable-libopenh264 --enable-libvmaf --enable-libsrt --enable-libxml2 --enable-opengl --enable-libdav1d --enable-gnutls --enable-libsvtav1 --enable-libvpx --enable-libaom --enable-nvenc --enable-nvdec --extra-libs=-lz --extra-libs=-lpng --extra-libs=-lm --extra-libs=-lfreetype --extra-libs=-lshlwapi --extra-libs=-lmpg123 --extra-libs=-lpthread --extra-cflags=-DLIBTWOLAME_STATIC --extra-cflags=-DMODPLUG_STATIC --extra-cflags=-DCACA_STATIC --enable-amf --enable-libmfx --enable-libaribcaption --enable-gpl --enable-frei0r --enable-librubberband --enable-libvidstab --enable-libx264 --enable-libx265 --enable-avisynth --enable-libaribb24 --enable-libxvid --enable-libdavs2 --enable-libxavs2 --enable-libxavs --extra-cflags='-mtune=generic' --extra-cflags=-O3 --enable-static --disable-shared --prefix=/home/syehoon/repos/ffmpeg-windows-build-helpers/sandbox/cross_compilers/mingw-w64-x86_64/x86_64-w64-mingw32 --enable-nonfree --enable-libfdk-aac --enable-decklink libavutil 59. 21.100 / 59. 21.100 libavcodec 61. 6.100 / 61. 6.100 libavformat 61. 3.104 / 61. 3.104 libavdevice 61. 2.100 / 61. 2.100 libavfilter 10. 2.102 / 10. 2.102 libswscale 8. 2.100 / 8. 2.100 libswresample 5. 2.100 / 5. 2.100 libpostproc 58. 2.100 / 58. 2.100 [avisynth @ 000002488fa24ac0] DSS2: Can't open "D:/sample_video/진신우부장님/DJI_0077.MOV" Add Source: (80004005) �d������ �7�Դϴ� (frameserver.avs, line 2) [in#0 @ 000002488fa246c0] Error opening input: Unknown error occurred Error opening input file frameserver.avs. Error opening input files: Unknown error occurred
The input.avs loads the file by the command
DSS2("D:/sample_video/진신우부장님/DJI_0077.MOV")
If I move the file to the directory which doesn't include non-latin characters, FFmpeg works fine.
With DirectShowSource() function, there is no problem.
I suspect that FFmpeg has some problem on dealing with unicode in processing AviSynth+'s DSS2() function.
Note:
See TracTickets
for help on using tickets.



Having the same problem. Trying to run the following command:
"%ffmpeg%" -v error -stats -threads 8 -i "%%f" -f null -
in a batch file, where %%f is the current file being processed, fails with the following error:
[in#0 @ random_hex_string] Error opening input: Invalid argument
Error opening input file Filename...????? ????....mp4.
Error opening input files: Invalid argument
The invalid characters are replaced by ?'s (question marks) and ffmpeg can't load the files. Renaming them makes them work, so definitely an issue with the file names. This greatly reduces the ability to use ffmpeg to process files, as the only thing I can figure is to temporarily batch rename them, process them, then batch rename them back, a process that will be a major PITA.