Проблема с выполнением команды ffmpeg



  • Всем привет, пытаюсь выполнить команду через "Запустить процесс":

    ffmpeg -y -loop 1 -framerate 1/5 -i "%d.jpg" -i "1.mp3" -c:v libx264 -s:v 1280x720 -vf "fps=25,subtitles=subs.srt:force_style='Alignment=1,Fontname=Ubuntu,Fontsize=22,PrimaryColour='&H000000',SecondaryColour=&Hffffff,OutlineColour=&H37D6FA,BackColour=&H0,BorderStyle=3,Shadow=0" -s 1280x720 -c:a aac -b:a 192k -t [[DURATION]] -preset ultrafast video.mp4
    

    Появляется такая ошибка. Ругается на стили субтитров force_style, хотя по синтаксису всё вроде правильно.

    ffmpeg version git-2020-07-30-134a48a Copyright (c) 2000-2020 the FFmpeg developers built with gcc 10.2.1 (GCC) 20200726 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libgsm --enable-librav1e --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf libavutil 56. 57.100 / 56. 57.100 libavcodec 58. 98.100 / 58. 98.100 libavformat 58. 49.100 / 58. 49.100 libavdevice 58. 11.101 / 58. 11.101 libavfilter 7. 87.100 / 7. 87.100 libswscale 5. 8.100 / 5. 8.100 libswresample 3. 8.100 / 3. 8.100 libpostproc 55. 8.100 / 55. 8.100 v libx264 -s:v 1280x720 -vf fps=25,subtitles=subs.srt:force_style='Alignment=1,Fontname=Ubuntu,Fontsize=22,PrimaryColour=': Invalid argument 'H000000'' is not recognized as an internal or external command, operable program or batch file. 'Hffffff' is not recognized as an internal or external command, operable program or batch file. 'H37D6FA' is not recognized as an internal or external command, operable program or batch file. 'H0' is not recognized as an internal or external command, operable program or batch file
    

    Ошибка проявляется только при выполнении команды через BAS и батник. Когда напрямую вставляю в CMD всё ок.

    Заранее благодарю за помощь, а то уже не знаю куда копать.



  • @saanneekk said in Проблема с выполнением команды ffmpeg:

    Всем привет, пытаюсь выполнить команду через "Запустить процесс":

    ffmpeg -y -loop 1 -framerate 1/5 -i "%d.jpg" -i "1.mp3" -c:v libx264 -s:v 1280x720 -vf "fps=25,subtitles=subs.srt:force_style='Alignment=1,Fontname=Ubuntu,Fontsize=22,PrimaryColour='&H000000',SecondaryColour=&Hffffff,OutlineColour=&H37D6FA,BackColour=&H0,BorderStyle=3,Shadow=0" -s 1280x720 -c:a aac -b:a 192k -t [[DURATION]] -preset ultrafast video.mp4
    

    Появляется такая ошибка. Ругается на стили субтитров force_style, хотя по синтаксису всё вроде правильно.

    ffmpeg version git-2020-07-30-134a48a Copyright (c) 2000-2020 the FFmpeg developers built with gcc 10.2.1 (GCC) 20200726 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libgsm --enable-librav1e --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf libavutil 56. 57.100 / 56. 57.100 libavcodec 58. 98.100 / 58. 98.100 libavformat 58. 49.100 / 58. 49.100 libavdevice 58. 11.101 / 58. 11.101 libavfilter 7. 87.100 / 7. 87.100 libswscale 5. 8.100 / 5. 8.100 libswresample 3. 8.100 / 3. 8.100 libpostproc 55. 8.100 / 55. 8.100 v libx264 -s:v 1280x720 -vf fps=25,subtitles=subs.srt:force_style='Alignment=1,Fontname=Ubuntu,Fontsize=22,PrimaryColour=': Invalid argument 'H000000'' is not recognized as an internal or external command, operable program or batch file. 'Hffffff' is not recognized as an internal or external command, operable program or batch file. 'H37D6FA' is not recognized as an internal or external command, operable program or batch file. 'H0' is not recognized as an internal or external command, operable program or batch file
    

    Ошибка проявляется только при выполнении команды через BAS и батник. Когда напрямую вставляю в CMD всё ок.

    Заранее благодарю за помощь, а то уже не знаю куда копать.

    Попробуйте продублировать знак "%"



  • @Fox уже пробовал, так он совсем фото не видит

    Could find no file with path '%d.jpg' and index in the range 0-4 %d.jpg: No such file or directory 
    


  • @saanneekk said in Проблема с выполнением команды ffmpeg:

    @Fox уже пробовал, так он совсем фото не видит

    Could find no file with path '%d.jpg' and index in the range 0-4 %d.jpg: No such file or directory 
    

    в таком случае убирайте части кода и таким образом найдёте проблемный участок



  • @Fox Проблемный участок я уже нашел:

    PrimaryColour=&H000000,SecondaryColour=&Hffffff,OutlineColour=&H37D6FA,BackColour=&H0
    

    Просто не понятно, почему напрямую через консоль работает, а через БАС или даже батник не хочет.
    Я уже и с кавычками пробовал по-всякому играться, толку ноль.

    Я так понимаю BAS перед выполнением команды переводит её в батник и из-за этого и проблема. Нельзя это как-то обойти?



  • @saanneekk said in Проблема с выполнением команды ffmpeg:

    @Fox Проблемный участок я уже нашел:

    PrimaryColour=&H000000,SecondaryColour=&Hffffff,OutlineColour=&H37D6FA,BackColour=&H0
    

    Просто не понятно, почему напрямую через консоль работает, а через БАС или даже батник не хочет.
    Я уже и с кавычками пробовал по-всякому играться, толку ноль.

    Я так понимаю BAS перед выполнением команды переводит её в батник и из-за этого и проблема. Нельзя это как-то обойти?

    У вас в строке 3 одинарные кавычки:

    ffmpeg -y -loop 1 -framerate 1/5 -i "%d.jpg" -i "1.mp3" -c:v libx264 -s:v 1280x720 -vf "fps=25,subtitles=subs.srt:force_style='Alignment=1,Fontname=Ubuntu,Fontsize=22,PrimaryColour='&H000000',SecondaryColour=&Hffffff,OutlineColour=&H37D6FA,BackColour=&H0,BorderStyle=3,Shadow=0" -s 1280x720 -c:a aac -b:a 192k -t [[DURATION]] -preset ultrafast video.mp4
    

    8edee13d-0114-48bd-b6be-89b0a1d07da0-изображение.png


  • Banned

    @saanneekk said in Проблема с выполнением команды ffmpeg:

    Я так понимаю BAS перед выполнением команды переводит её в батник и из-за этого и проблема.

    Да но бас все пишет в utf-8 и записывает так же. Учтите это батник записанный басом совсем не обязательно будет таким же как вы пишете в консоли, конвертация учитывайте это.


Log in to reply