Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно. Необходимо обновить браузер или попробовать использовать другой.
Это просто пример. Как-будто бы в этой директории находится тот кодек (Вам нужен только лишь ffmpeg.exe). И 'C:\Music' тоже для примера, будто в этой директории находятся файлы, которые нужно конвертировать. Вы можете указать свои папки
Как вариант, просто использовать вышеприведённый пример несколько раз подряд в одном и том же скрипте, заменяя параметр поиска в первой строке на нужное расширение, например, 'C:\Music\*.avi'
В архиве пример поиска и конвертирования в отдельную папку
утилиту кодирования брал отсюда - https://ffmpeg.zeranoe.com/builds/
из архива нужен файл ffmpeg.exe
скопировать этот файл в одну папку со скриптом
joiner
Спасибо.
Сделал все как вы сказали. Запустил скрипт - и он создал в папке result - два пустых файла mp3
А как их проиграть, они же весят по 0 байт ?
(Я имел ввиду - конвертирование видео-файлов в звуковые, а не создание пустых файлов с нужным расширением.)
у меня работает. я конвертировал avi и mp4 видео файлы. это были детские мульты. декодировал скачанный с лостфильма сериал Быть человеком. там mkv. Весь звук извлек.
некоторые mkv файлы не конвертируются. значит, нужны дополнительные параметры(ключи) для запуска декодера. справка по декодеру полный атас. инфы море, нужно долго и нудно разбираться. вот какую ошибку выдает декодер
Ошибка инициализации выходного потока 0: 0 - Ошибка при открытии кодера для выходного потока # 0: 0 - возможно, неверные параметры, такие как bit_rate, скорость, ширина или высота
вывод, несмотря на одинаковое расширение видео файлов они могут быть кодированы неодинаково.
данный код пишет в консоль. это код файла "пример". запусти в редакторе. смотри в консоли результат
Код:
#include <FFSearchEx.au3>
#include <AutoItConstants.au3>
Local $sSpath = 'подставить свой путь к файлам'
Local $sDpath = @ScriptDir & '\result\'; путь к папке с готовыми файлами. папка должна быть создана
Local $sFFmpeg = @ScriptDir & '\ffmpeg.exe'
Local $DellExt, $sGetName, $sSTR, $iPid
Local $aFiles = _FF_SearchEx($sSpath, 'avi|mp4|mkv'); поиск в подпапках
If Not @error Then
Local $iPerc
For $i = 1 To $aFiles[0]
$sGetName = StringRegExp($aFiles[$i], '(?m)^(?:.*\\)([^\\]*?)(?:\.[^.]+)?$', 3)
$DellExt = $sDpath & $sGetName[0] & '.mp3'
$iPid = Run($sFFmpeg & ' -i "' & $aFiles[$i] & '" -y "' & $DellExt & '"', '', @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD); -y флаг согласия на перезапись
While 1
$sSTR = StderrRead($iPid)
If @error Then ExitLoop
If $sSTR Then ConsoleWrite($sSTR & @LF)
WEnd
Next
EndIf
compatible_brands: isommp42
creation_time : 2016-08-25T05:50:26.000000Z
Duration: 00:03:40.59, start: 0.000000, bitrate: 1512 kb/s
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1383 kb/s, 24 fps, 24 tbr, 90k tbn, 48 tbc (default)
Metadata:
creation_time : 2016-08-25T05:50:26.000000Z
handler_name : ISO Media file produced by Google Inc.
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s
(default)
Metadata:
creation_time : 2016-08-25T05:50:26.000000Z
handler_name : ISO Media file produced by Google Inc.
Stream mapping:
Stream #0:1 -> #0:0 (aac (native) -> mp3 (mp3_mf))
Press [q] to stop, [?] for help
[mp3_mf @ 00000000005adc00]
could not find any MFT for the given media type
[mp3_mf @ 00000000005adc00] could not create MFT
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
[mp3_mf @ 00000000003e2640]
could not find any MFT for the given media type
[mp3_mf @ 00000000003e2640] could not create MFT
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Этот огромный мануал нужен для тонкой настройки параметров. Но вся суть конвертирования сводится к команде, которая большими буквами выведена прямо на главной странице проекта.
"Конвертирование видео и аудио ещё никогда не было таким лёгким"
Metadata:
creation_time :
2016-08-25T05:50:26.000000Z
handler_name : ISO Media file produced by Google Inc.
Stream #0:
1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
Metadata:
creation_time : 2016-08-25T05:50:26.000000Z
handler_name : ISO Media file produced by Google Inc.
[mp3_mf @ 00000000003f1a80]
could not find any MFT for the given media type
[mp3_mf @ 00000000003f1a80] could not create MFT
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!
ffmpeg version git-2020-06-03-b6d7c4
c Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 9.3.1 (GCC) 20200523
[mp3_mf @ 00000000006715c0]
could not find any MFT for the given media type
[mp3_mf @ 00000000006715c0] could not create MFT
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Похоже, что Вы скачали Git билд, который создают по нескольку раз в неделю. Лучше бы Вам снова обратиться к странице загрузки и скачать стабильный релиз. Для этого в первом выпадающем списке выберите версию 4.2.3, во втором - архитектуру своей системы, в третьем - Static.
не нужно выкладывать все, что пишет в консоли. там одна и та же ошибка в строке с error
эту ошибку я указал выше в своем сообщении.
у меня спотыкается только на некоторых mkv файлах
А мне наоборот всегда верилось, что в мире опен соурс если явно не указано, что версия продукта "release", "stable" или что-то подобное, то вероятность, что всё переломано, стремится к 100%. Все эти "ночные сборки" потому и называются ночными, что человек не глядя копипастит исходный код и ставит его на ночь компилироваться, а потом идёт спать и на утро выкладывает результаты куда следует.