Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
Да, с помощью скрипта .bat можно извлечь звук из видео. Для этого можно использовать утилиту FFmpeg, которая предоставляет широкие возможности для работы с мультимедийными файлами.@AssistGPT можно с помощью bat извлечь звук из видео ?
@echo off
setlocal
set ffmpeg_path="путь_к_утилите_ffmpeg\ffmpeg.exe"
set input_file="путь_к_видеофайлу"
set output_file="путь_к_выходному_аудиофайлу"
%ffmpeg_path% -i %input_file% -vn -acodec copy %output_file%
echo Звук успешно извлечен!
endlocal
если в папке будет несколько видео файлов, то FFmpeg все файлы обработает ?Также замените "путьквидеофайлу"
Нет, в данном скрипте .bat приведен пример для обработки только одного видеофайла. Если в папке содержится несколько видеофайлов, то скрипт обработает только тот файл, который указан в переменной %input_file%.если в папке будет несколько видео файлов, то FFmpeg все файлы обработает ?
@echo off
setlocal
set ffmpeg_path="путь_к_утилите_ffmpeg\ffmpeg.exe"
set input_folder="путь_к_папке_с_видеофайлами"
set output_folder="путь_к_папке_для_сохранения_аудиофайлов"
for %%i in (%input_folder%\*.*) do (
set input_file=%%i
set output_file=%output_folder%\%%~ni.wav
%ffmpeg_path% -i !input_file! -vn -acodec pcm_s16le -ar 44100 -ac 2 !output_file!
echo Звук успешно извлечен из !input_file!
)
echo Все видеофайлы обработаны!
endlocal
Спасибопожалуйста, соблюдайте тематику. Вопрос, не относящийся к изначальной теме, = новая тема.
в архиве нет ffmpeg.exe"путькутилитеffmpeg\ffmpeg.exe"
Если в архиве отсутствует исполняемый файл ffmpeg.exe, то вам необходимо загрузить FFmpeg с официального сайта проекта. Вот как это сделать:в архиве нет ffmpeg.exe
скрипт не работает, bat после запуска сразу закрываетсяПосле того, как вы внесете необходимые изменения в скрипт, сохраните его с расширением .bat и запустите его. FFmpeg будет обрабатывать каждый видеофайл в папке и извлекать звук в соответствующие аудиофайлы.
Если скрипт .bat закрывается сразу после запуска, это может быть вызвано несколькими причинами. Вот несколько возможных решений:скрипт не работает, bat после запуска сразу закрывается
Microsoft Windows [Version 10.0.19045.3516]Если после проверки и исправления указанных выше проблем скрипт все еще не работает, попробуйте запустить его из командной строки, чтобы увидеть возможные ошибки или сообщения об ошибках, которые могут помочь вам определить причину проблемы.
Похоже, что проблема заключается в неправильном указании пути к папке с видеофайлами в переменной %input_folder%. Вам нужно указать полный путь к папке, в которой находятся видеофайлы, и убедиться, что путь указан правильно.Microsoft Windows [Version 10.0.19045.3516]
(c) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.
C:\WINDOWS\system32>@echo off
setlocal
set ffmpeg_path=C:\ffmpeg-6.0-full_build\bin\ffmpeg.exe
set input_folder=D:\VIDEO IN SOUND
set output_folder=D:\SOUND
for %%i in (%input_folder%\.) do (
Непредвиденное появление: %%i.
set input_file=%%i
set output_file=%output_folder%\%%~ni.wav
%ffmpeg_path% -i !input_file! -vn -acodec pcm_s16le -ar 44100 -ac 2 !output_file!
ffmpeg version 6.0-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil 58. 2.100 / 58. 2.100
libavcodec 60. 3.100 / 60. 3.100
libavformat 60. 3.100 / 60. 3.100
libavdevice 60. 1.100 / 60. 1.100
libavfilter 9. 3.100 / 9. 3.100
libswscale 7. 1.100 / 7. 1.100
libswresample 4. 10.100 / 4. 10.100
libpostproc 57. 1.100 / 57. 1.100
!input_file!: No such file or directory
echo Звук успешно извлечен из !input_file!
Звук успешно извлечен из !input_file!
)
echo Все видеофайлы обработаны!
Все видеофайлы обработаны!
endlocal
напиши скрипт с моими путями пожалуйстаЕсли путь к папке указан правильно, но скрипт все равно не работает, попробуйте изменить строку "for %%i in (%input_folder%\.) do (" на "for %%i in (%input_folder%\.) do (". Это позволит скрипту обрабатывать все файлы в указанной папке, независимо от их расширения.
Конечно! Вот исправленный скрипт .bat с вашими путями:напиши скрипт с моими путями пожалуйста
@echo off
setlocal
set ffmpeg_path=C:\ffmpeg-6.0-full_build\bin\ffmpeg.exe
set input_folder=D:\VIDEO IN SOUND
set output_folder=D:\SOUND
for %%i in ("%input_folder%\*.*") do (
set input_file=%%i
set output_file=%output_folder%\%%~ni.wav
%ffmpeg_path% -i "!input_file!" -vn -acodec pcm_s16le -ar 44100 -ac 2 "!output_file!"
echo Звук успешно извлечен из "!input_file!"
)
echo Все видеофайлы обработаны!
endlocal
После внесения изменений сохраните скрипт .bat и запустите его. FFmpeg будет обрабатывать каждый видеофайл в указанной папке и извлекать звук в соответствующие аудиофайлы.
Код:Microsoft Windows [Version 10.0.19045.3516] (c) Корпорация Майкрософт (Microsoft Corporation). Все права защищены. C:\WINDOWS\system32>@echo off setlocal set ffmpeg_path=C:\ffmpeg-6.0-full_build\bin\ffmpeg.exe set input_folder=D:\VIDEO IN SOUND set output_folder=D:\SOUND for %%i in ("%input_folder%\*.*") do ( Непредвиденное появление: %%i. set input_file=%%i set output_file=%output_folder%\%%~ni.wav %ffmpeg_path% -i "!input_file!" -vn -acodec pcm_s16le -ar 44100 -ac 2 "!output_file!" ffmpeg version 6.0-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers built with gcc 12.2.0 (Rev10, Built by MSYS2 project) configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint libavutil 58. 2.100 / 58. 2.100 libavcodec 60. 3.100 / 60. 3.100 libavformat 60. 3.100 / 60. 3.100 libavdevice 60. 1.100 / 60. 1.100 libavfilter 9. 3.100 / 9. 3.100 libswscale 7. 1.100 / 7. 1.100 libswresample 4. 10.100 / 4. 10.100 libpostproc 57. 1.100 / 57. 1.100 !input_file!: No such file or directory echo Звук успешно извлечен из "!input_file!" Звук успешно извлечен из "!input_file!" ) echo Все видеофайлы обработаны! Все видеофайлы обработаны! endlocal
Извините за пропуск! Действительно, для использования переменных внутри цикла@AssistGPT, ты забыл, что переменные, заключённые в знаки восклицания не будут работать без setlocal enabledelayedexpansion
for
в скрипте .bat необходимо включить задержку расширения переменных с помощью команды setlocal enabledelayedexpansion
. Вот исправленный скрипт:@echo off
setlocal enabledelayedexpansion
set ffmpeg_path=C:\ffmpeg-6.0-full_build\bin\ffmpeg.exe
set input_folder=D:\VIDEO IN SOUND
set output_folder=D:\SOUND
for %%i in ("%input_folder%\*.*") do (
set input_file=%%i
set output_file=!output_folder!\%%~ni.wav
!ffmpeg_path! -i "!input_file!" -vn -acodec pcm_s16le -ar 44100 -ac 2 "!output_file!"
echo Звук успешно извлечен из "!input_file!"
)
echo Все видеофайлы обработаны!
endlocal