вторник, 31 октября 2017 г.

качаем музыку с vk

с чего все началось :
"Лёх, привет ещё раз. ты все знаешь... 😉 а знаешь как перенсти всю музыку из одного акк ВК в другой?"



я прекрасно помню что яндекс умел сохранять фото с соц сетей (как вариант не ухожу так как там много фото, стягивается прям на диск, окуда пачкой скачивается архивом), сходил - не может, пошли гуглить.

в принципе реально, для начала надо открыть доступ к своим аудио идея взята с яплакал

1 топаем на урл https://vk.com/settings?act=privacy  проверяем что доступ открыт или открываем

2 топаем на http://vkpls.boutnew.ru/ и жмем "create playlist"

3 вводим id странички  ( либо в дресной строке стартовой старнички профиля, тыкнув на фото "albums3694482" или музыку )

4 вводим количество треков, я узнал что у меня их 1500 (так же с главной стринчки) - получаем url на m3u или на pls, меня интересует m3u сохраняю как vk.m3u

5 приводим в человеческий вид пробежав 2 раза по файлу командой sed - убираем #039; и &
sed -e  's/\&amp\;//g' vk.m3u > vk.m3u1
sed -e  's/\#039\;//g' vk.m3u1 > vk.m3u2
6 узнаем сколько строк в фйле (первую не считаем, то есть -1 )
cat vk.m3u2 | wc -l
я получил 2915 , то есть работать будем до 2914 строки

7 ну и сам скрипт

#!/bin/bash
cd /home/filalex/tmp2
for i in `seq 2 2 2914`;
do
ii="$i"p
let j=$i+1
jj="$j"p
name=`cat vk.m3u2 | sed -n "$ii" | cut -d ',' -f 2`
url=`cat vk.m3u2 | sed -n "$jj"`
wget $url -O "$i"" ""$name.mp3"
done
exit 0

приятного прослушивания

в принципе полученый  url можно воткнуть в mplyer vlc или куда душе угодно, впринципе можно и wget. но на выходе файлы будут *.mp3&?extra=Y4nnp7EBYwOYJgw4FLM6Va-lb7dPfzw1NUZk_tSjkyK9U9qjxR9kPpL5A6A-aKxFoJsvw4icd6P85DeaXDnCfTqzL-46dh0- то есть название не ахти да и расширение тоже
юзать можно  wget $url -O "$name.mp3" но тогда можно получить баг что некоротые треки без ссылки ( уже заблоканы )

четверг, 26 октября 2017 г.

режим подкасты linkmeup на треки

собтсвенно проблемка : трек на 1-2 часа переодически мобилка при прослушивании подвисает, было мнение что из за размера файла, тем более редо что то выгружается из памяти, задача порезать.
на рутрекере был "куплен" диск с cue содержанием, по его аналогии был сделан начальный файл cue.cue примерно такого содержания

REM GENRE Pop
REM DATE 2017
REM DISCID DE104811
REM COMMENT "ExactAudioCopy v0.99pb4"
CATALOG 0000000000000
PERFORMER "Various"
TITLE "linkmeup-V014"
FILE "linkmeup-V014.mp3" WAVE
  TRACK 01 AUDIO
    PERFORMER "V014"
    INDEX 01 00:00:00
  TRACK 02 AUDIO
***
  TRACK 13 AUDIO
    PERFORMER "V014"
    INDEX 01 130:00:00

ну и скрипт подкасты на тот момент были с 14 до 50

#!/bin/bash
cd /home/filalex/tmp3
for i in `seq 14 50`;
do
echo linkmeup-V0$i.mp3
sed -e 's/V014/V0'$i'/g' cue.cue > linkmeup-V0$i.cue
mp3splt -c linkmeup-V0$i.cue linkmeup-V0$i.mp3 -o @p_@N
done
exit 0

на выходе получаем  файлы 
"V050_01.mp3"
"V050_02.mp3"
***
"V049_01.mp3"

в теории можно загнаться с утилиткой mp3info получить команду 
mp3info 9208632795857167990.mp3 -p %s
ключи на конце разные, можно получить минуты, секунды сколько весит трек и сгенерировать на ее основе конкретный cue, но как показала практика mp3splt абсолютно пофик, больше чем есть не вырежет, если меньше - закончиться на том таймере который последний подходящий, если есть больше, все влезит в последний файл13 

пятница, 6 октября 2017 г.

запуск команды с низким приоритетом

ionice -c 3 <command>
запуск команды с низким приоритетом по работе с диском
к примеру удаление большого файла или архивация \ разархивация, долго, но не мучает сервис