Кнопка для пакетной конвертации в MP3
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3, 4  Next  :| |:
Total Commander -> Автоматизация Total Commander

#31:  Author: Skif_off PostPosted: Wed Oct 08, 2014 14:06
    —
Dimsok wrote:
По сути обычная кнопка. Я это и подразумевал под выражением "средствами тотала"

Фактически, ТС просто запускает, del /f /q - это уже консоль.
Прошу прощения, думал - понятно. Кнопка целиком, на всякий случай
 Hidden text

Dimsok wrote:
Зачем в кавычки? вроде и так нормально.

Просто путь или имя файла с пробелами ещё не попались.

#32:  Author: Dimsok PostPosted: Wed Oct 08, 2014 14:24
    —
А вот эта кнопка с кавычками как раз и не работает

Да, и кроме этих двух параметнов, никакие ещё в кавычки брать не следует?

#33:  Author: Skif_off PostPosted: Wed Oct 08, 2014 15:54
    —
Dimsok
Я с телефона, что-то мог проглядеть, прошу прощения, сравните с рабочей. Про кавычки: Flasher, в принципе, всё перечислил для вашего случая, а так - все, кроме %P%N и %V, пути и имена нужно обрамлять кавычками. Осталось самому запомнить Smile) Когда привыкаешь по возможности не использовать пробелы в именах - это действует разлагающе.

#34:  Author: Dimsok PostPosted: Wed Oct 08, 2014 16:07
    —
Так эта кнопка без кавычек работает (там, где это позволяют имена), а с кавычками - никакой реакции

#35:  Author: FlasherLocation: Москва PostPosted: Wed Oct 08, 2014 18:07
    —
Skif_off wrote:
а так - все, кроме %P%N и %V, пути и имена нужно обрамлять кавычками
Не только %P%N и %V, ещё как минимум 27 вариантов, не считая комбинаций с %Z и %X.

Dimsok
Поставь ещё кавычку перед %С и в конце параметров.

#36: Настройка кнопки конвертации аудиофайлов Author: KarSLocation: г. Абакан PostPosted: Thu Aug 29, 2019 14:30
    —
Всем привет!
Хотелось бы настроить кнопку для конвертации аудиофайлов, например FLAC-mp3.

Для конвертации пробую разные приложения, которые поддерживают работу с командной строкой.

1. Так, для Total Audio Converter работает:
Code:
TOTALCMD#BAR#DATA
"C:\Program Files\Total Audio Converter\AudioConverter.exe"
%P%S %T -cMP3 -vbr
C:\Program Files\Total Audio Converter\AudioConverter.exe

C:\Program Files\Total Audio Converter\

-1

В справке программы предусмотрены ключи для mp3: -vbr - [Min,Max,Quality]
Но как их использовать не понятно. Пробовал разные сочетания на тестовом файле FLAC - результат один и тот же - на выходе создаётся аудиофайл mp3 с одними и теми же параметрами.
Об этом написал разработчику, но он молчит как рыба.
Может кто-нибудь сталкивался? Как правильно указать ключи в параметрах кнопки, чтобы использовать разные режимы кодирования?

2. Пробую xrecode3 - более гибкая программа.

Code:
TOTALCMD#BAR#DATA
"C:\Program Files\xrecode3\xrecode3c.exe"
%P%S %T -i mp3 /vbrmin 64 /vbrmax 320
C:\Program Files\xrecode3\xrecode3c.exe

C:\Program Files\xrecode3\

-1

Но так программа вообще не конвертирует.
Мелькает только окно командной строки, а конвертации не происходит.
Описание командной строки для этой программы здесь
Связывался с разработчиком, но он ответил, что с Total Commander не работает и не знает, как сконфигурировать кнопку.
Может кто-нибудь подскажет, как правильно настроить кнопку для конвертации аудио с помощью xrecode3?

#37:  Author: AvadaLocation: Россия, Саратов PostPosted: Thu Aug 29, 2019 16:13
    —
KarS
Неужели так трудно выяснить, в каких темах какого подфорума делаются запросы на кнопки (и вообще и для конкретного случая)? В любом случае это никаким образом не "Общие вопросы". Про необходимость пользоваться поиском по форуму вам уже в своё время писали.
Перенесено по принадлежности.

#38:  Author: KarSLocation: г. Абакан PostPosted: Fri Aug 30, 2019 10:10
    —
Avada,
Спасибо, что поправили.

У меня получилось сделать кнопку для xrecode3:
Code:
TOTALCMD#BAR#DATA
"C:\Program Files\xrecode3\xrecode3c.exe"
-i %P%S /r -o %T  /dest mp3 /vbrmin 64 /vbrmax 320
C:\Program Files\xrecode3\xrecode3c.exe

C:\Program Files\xrecode3\

-1

Правда по команде при выполнении конвертации отображается окно консоли. Как скрыть, не знаю.

#39:  Author: FlasherLocation: Москва PostPosted: Fri Aug 30, 2019 15:53
    —
KarS
Конкретно по xrecode у нас имеется тема.

Без прослоек:
Quote:
TOTALCMD#BAR#DATA
%ComSpec% /q/c for /f "usebackq delims= eol=" %f in
(`type "%WL"`) do if /i ".flac"=="%%~xf"
flac\flac.exe -cds "%%f"|LAME\lame.exe --quiet -f -m j -b 320 --noreplaygain - "%P%%~nf.mp3"
wmploc.dll,59
Сконвертировать выбранные файлы FLAC в MP3
%COMMANDER_PATH%\
Utils\Converters\Audio\
1
Последний lame здесь. flac здесь (...-win.zip).

#40:  Author: KarSLocation: г. Абакан PostPosted: Fri Aug 30, 2019 17:37
    —
Flasher,
большое спасибо!
И за то, что поделились кодом, и за актуальные ссылки!

Мне Ваш вариант понравился: не нужно платных утилит, можно всё настроить.
В xrecode нашёл интересный ключ: /fileexists - позволяет выбрать, при совпадении имени выходного файла с существующим в папке что делать - переписать или переименовать (добавив в конце _1).
Скажите, можно в Вашем коде реализовать автоматическое переименование при совпадении имён полученных файлов?
Думаю, это было бы удобно, чтобы можно было сравнить полученные файлы по размеру, если они были сделаны с разными параметрами строки.

#41:  Author: FlasherLocation: Москва PostPosted: Fri Aug 30, 2019 21:08
    —
KarS
Пож-та.
Счётчик через кнопку, наверно, не выйдет. VBS устроит?
Code:
'================================= VBS =================================
' Конвертация выбранных FLAC в MP3 c добавкой счётчика при необходимости

' Параметры: %WL "<путь получателя>" "<ключи LAME>"
' Пример:    %WL "%P" "-b 320 -q 0 -m j --noreplaygain"

Option Explicit: Dim A, WSS, List, F, Ext, PF, BN, c, FN
'========================= Путь к утилите flac =========================
Const FLAC = """%COMMANDER_PATH%\Utils\Converters\Audio\FLAC\flac.exe"""
'========================= Путь к утилите lame =========================
Const LAME = """%COMMANDER_PATH%\Utils\Converters\Audio\LAME\lame.exe"""
'=======================================================================
Set A = WSH.Arguments : If A.Count = 0 Then WSH.Quit
If A.Count <> 3 Then MsgBox "Укажите 3 параметра!", 4144 : WSH.Quit
Set WSS = CreateObject("WScript.Shell")
With CreateObject("Scripting.FileSystemObject")
  Set List = .OpenTextFile(A(0),,,-1)
  PF = .BuildPath(A(1), "\")
  Do: F = List.ReadLine
    If Right(F, 1) <> "\" Then
      Ext = .GetExtensionName(F)
      If StrComp(Ext, "flac", 1) = 0 Then
        BN = .GetBaseName(F) : FN = BN & ".mp3" : c = 0
        While (.FileExists(PF & FN) OR .FolderExists(PF & FN))
          c = c + 1 : FN = BN & " (" & c & ").mp3"
        Wend
        WSS.Run "%ComSpec% /q/c """ & FLAC & " -cds """ & F & """|" &_
        LAME & " --quiet " & A(2) & " - """ & A(1) & FN & """""", 0, 1
      End If
    End If
  Loop Until List.AtEndOfStream
End With
List.Close : Set List = Nothing
WSS.Popup "Конвертация завершена!", 2, " Конвертация FLAC в MP3", 4160
Set WSS = Nothing
Если в конце 29-ой строки убрать ', 1', будет асинхронный запуск, но тогда ЦП забъётся.

Last edited by Flasher on Fri Sep 06, 2019 01:36; edited 1 time in total

#42:  Author: KarSLocation: г. Абакан PostPosted: Sat Aug 31, 2019 07:51
    —
Flasher, замечательно! Very Happy
У VBS конечно возможностей больше.
Очень дружелюбно сделано:
- есть отдельная строка для параметров кнопки - задаём параметры конвертации
- предусмотрено редактирование путей размещения кодеков
- окно консоли не появляется
- есть сообщение, если пользователь не настроил параметры конвертации
- есть сообщение об окончании конвертации (я как раз думал об этом, ведь не понятно, сколько ждать (окончена конвертация или нет), если собрался переместить полученный файл дальше).
Большое спасибо!

Я использую конвертацию, чтобы из своих архивных записей выбирать файлы на флешку с любимыми композициями в формате mp3 256.
В архиве у меня файлы в форматах WAV, FLAC, APE, mp3 (cbr320).
Думаю, что с конвертацией FLAC-mp3 вопрос решён.
Но можно как-нибудь добавить в скрипт распознавание на входе WAV, FLAC, APE, mp3, чтобы он на выходе всё конвертил в mp3 с нужными параметрами?
Это было бы очень удобно, и можно было бы это поместить в коллекцию и рекомендовать другим. Smile

#43:  Author: Skif_off PostPosted: Sat Aug 31, 2019 12:26
    —
Всё-таки система может быть достаточно производительная, наверное, можно попробовать отслеживать количество процессов кодировщика (SELECT * FROM Win32_Process WHERE Name = ..., потом Count): если, например, больше 4, то для очередного запуска WaitOnReturn равно true и наоборот.
Оно, конечно, не всегда будет красиво работать, но всё одно не по очереди и не всей кучей сразу.

#44:  Author: FlasherLocation: Москва PostPosted: Sat Aug 31, 2019 20:37
    —
KarS wrote:
Но можно как-нибудь добавить в скрипт распознавание на входе WAV, FLAC, APE, mp3
Так и думал, что всё исходным запросом не закончится. Набор понятен, но опять же чисто под частные нужности. Т.е. подразумевается забыть про другие не менее значимые форматы аудио.
Неполный набор, представленный в некоторых конвертерах:
Quote:
3ga, aac, ac3, aiff, alac, als, amr, amb, ape, apl, au, avr, bonk, bwf, caf, cdda, cpt, dts, flac, kxs, la, lqt, m4a, m4b, m4p, m4r, mka, mkw, mmf, mp2, mp3, mp4a, mpc, oga, ogg, ofr, opus, pac, ra, raw, shn, spx, tak, tta, vqf, wav, weba, wma, wv, wvc, xa, xm.
В частности в AudioCoder, XMedia Recode и SUPER с нехилым пакетом кодеров. Тут одними shntool, sox и ffmpeg не обойдёшься.
Более полные наборы понятно где: 1, 2, 3, 4, 5, 6.
Но на написание полноценного скриптового аудио-конвертера я точно не рассчитывал. Smile

#45:  Author: KarSLocation: г. Абакан PostPosted: Sun Sep 01, 2019 06:49
    —
Flasher, большое спасибо за Ваше участие.
То, что вы сделали, - это очень хорошо.



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3, 4  Next  :| |:
Page 3 of 4

Powered by phpBB © 2001, 2005 phpBB Group