Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Кнопка для пакетной конвертации в MP3
Goto page Previous  1, 2, 3, 4  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Skif_off



Joined: 28 Nov 2012
Posts: 1232

Post (Separately) Posted: Wed Oct 08, 2014 14:06    Post subject: Reply with quote

Dimsok wrote:
По сути обычная кнопка. Я это и подразумевал под выражением "средствами тотала"

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

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

Просто путь или имя файла с пробелами ещё не попались.
Back to top
View user's profile Send private message
Dimsok



Joined: 17 Aug 2014
Posts: 663

Post (Separately) Posted: Wed Oct 08, 2014 14:24    Post subject: Reply with quote

А вот эта кнопка с кавычками как раз и не работает

Да, и кроме этих двух параметнов, никакие ещё в кавычки брать не следует?
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1232

Post (Separately) Posted: Wed Oct 08, 2014 15:54    Post subject: Reply with quote

Dimsok
Я с телефона, что-то мог проглядеть, прошу прощения, сравните с рабочей. Про кавычки: Flasher, в принципе, всё перечислил для вашего случая, а так - все, кроме %P%N и %V, пути и имена нужно обрамлять кавычками. Осталось самому запомнить Smile) Когда привыкаешь по возможности не использовать пробелы в именах - это действует разлагающе.
Back to top
View user's profile Send private message
Dimsok



Joined: 17 Aug 2014
Posts: 663

Post (Separately) Posted: Wed Oct 08, 2014 16:07    Post subject: Reply with quote

Так эта кнопка без кавычек работает (там, где это позволяют имена), а с кавычками - никакой реакции
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Oct 08, 2014 18:07    Post subject: Reply with quote

Skif_off wrote:
а так - все, кроме %P%N и %V, пути и имена нужно обрамлять кавычками
Не только %P%N и %V, ещё как минимум 27 вариантов, не считая комбинаций с %Z и %X.

Dimsok
Поставь ещё кавычку перед %С и в конце параметров.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
KarS



Joined: 21 Apr 2006
Posts: 102
Location: г. Абакан

Post (Separately) Posted: Thu Aug 29, 2019 14:30    Post subject: Настройка кнопки конвертации аудиофайлов Reply with quote

Всем привет!
Хотелось бы настроить кнопку для конвертации аудиофайлов, например 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?
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Thu Aug 29, 2019 16:13    Post subject: Reply with quote

KarS
Неужели так трудно выяснить, в каких темах какого подфорума делаются запросы на кнопки (и вообще и для конкретного случая)? В любом случае это никаким образом не "Общие вопросы". Про необходимость пользоваться поиском по форуму вам уже в своё время писали.
Перенесено по принадлежности.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
KarS



Joined: 21 Apr 2006
Posts: 102
Location: г. Абакан

Post (Separately) Posted: Fri Aug 30, 2019 10:10    Post subject: Reply with quote

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

Правда по команде при выполнении конвертации отображается окно консоли. Как скрыть, не знаю.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Aug 30, 2019 15:53    Post subject: Reply with quote

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).
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
KarS



Joined: 21 Apr 2006
Posts: 102
Location: г. Абакан

Post (Separately) Posted: Fri Aug 30, 2019 17:37    Post subject: Reply with quote

Flasher,
большое спасибо!
И за то, что поделились кодом, и за актуальные ссылки!

Мне Ваш вариант понравился: не нужно платных утилит, можно всё настроить.
В xrecode нашёл интересный ключ: /fileexists - позволяет выбрать, при совпадении имени выходного файла с существующим в папке что делать - переписать или переименовать (добавив в конце _1).
Скажите, можно в Вашем коде реализовать автоматическое переименование при совпадении имён полученных файлов?
Думаю, это было бы удобно, чтобы можно было сравнить полученные файлы по размеру, если они были сделаны с разными параметрами строки.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Aug 30, 2019 21:08    Post subject: Reply with quote

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', будет асинхронный запуск, но тогда ЦП забъётся.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.


Last edited by Flasher on Fri Sep 06, 2019 01:36; edited 1 time in total
Back to top
View user's profile Send private message
KarS



Joined: 21 Apr 2006
Posts: 102
Location: г. Абакан

Post (Separately) Posted: Sat Aug 31, 2019 07:51    Post subject: Reply with quote

Flasher, замечательно! Very Happy
У VBS конечно возможностей больше.
Очень дружелюбно сделано:
- есть отдельная строка для параметров кнопки - задаём параметры конвертации
- предусмотрено редактирование путей размещения кодеков
- окно консоли не появляется
- есть сообщение, если пользователь не настроил параметры конвертации
- есть сообщение об окончании конвертации (я как раз думал об этом, ведь не понятно, сколько ждать (окончена конвертация или нет), если собрался переместить полученный файл дальше).
Большое спасибо!

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



Joined: 28 Nov 2012
Posts: 1232

Post (Separately) Posted: Sat Aug 31, 2019 12:26    Post subject: Reply with quote

Всё-таки система может быть достаточно производительная, наверное, можно попробовать отслеживать количество процессов кодировщика (SELECT * FROM Win32_Process WHERE Name = ..., потом Count): если, например, больше 4, то для очередного запуска WaitOnReturn равно true и наоборот.
Оно, конечно, не всегда будет красиво работать, но всё одно не по очереди и не всей кучей сразу.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat Aug 31, 2019 20:37    Post subject: Reply with quote

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
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
KarS



Joined: 21 Apr 2006
Posts: 102
Location: г. Абакан

Post (Separately) Posted: Sun Sep 01, 2019 06:49    Post subject: Reply with quote

Flasher, большое спасибо за Ваше участие.
То, что вы сделали, - это очень хорошо.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3, 4  Next
Page 3 of 4

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group