Вы не зашли.
Вопрос возник, чтобы не нагружать часто обращениями в телеге, хранить у себя "пробники файлов", например длительностью 1 минута (для ознакомления)
как например дёрнуть середину файла?
например файл продолжительностью 240 секунд, как вырвать середину файла длительностью например 30 сек.
да знаю есть так
но тут возьмёт с начала файла...
сходу что в голову пришло (пример 30 секунд)
Код:
$time = $row['duration']/2; |
echo 'Center - '.$time.' || Start - '.($time-15).' || End - '.($time+15); |
Код:
File 233 || Duration - 215 sec |
Center - 107.5 || Start - 77.5 || End - 137.5 |
========= |
File 3346 || Duration - 283 sec |
Center - 141.5 || Start - 111.5 || End - 171.5 |
========= |
File 127 || Duration - 170 sec |
Center - 85 || Start - 55 || End - 115 |
========= |
File 3537 || Duration - 474 sec |
Center - 237 || Start - 207 || End - 267 |
========= |
File 3480 || Duration - 230 sec |
Center - 115 || Start - 85 || End - 145 |
========= |
File 3445 || Duration - 161 sec |
Center - 80.5 || Start - 50.5 || End - 110.5 |
========= |
File 3979 || Duration - 504 sec |
Center - 252 || Start - 222 || End - 282 |
========= |
File 1845 || Duration - 448 sec |
Center - 224 || Start - 194 || End - 254 |
========= |
File 2786 || Duration - 135 sec |
Center - 67.5 || Start - 37.5 || End - 97.5 |
========= |
File 4294 || Duration - 440 sec |
Center - 220 || Start - 190 || End - 250 |
дальше ffmpeg (наверно)
Код:
ffmpeg -ss '.($time-15).' -t '.($time+15) |
Отредактировано WapStyle (2022.11.16 10:10)
Черновой вариант, но работает
Код:
echo 'File '.$row['id'].' || Duration - '.$row['duration'].' sec'.PHP_EOL; |
$time = $row['duration']/2; |
echo 'Center - '.$time.' || Start - '.($time-30).' || End - '.($time+30).PHP_EOL; |
echo '========='.PHP_EOL; |
|
...куча скрытного кода..))) |
|
exec('ffmpeg -ss "'.($time-15).'" -t "[тут указываем сколько продолжительность хотим в секундах]" -i "original.mp3" -acodec copy "temp.mp3"'); |
sleep(3); |
exec('ffmpeg -i "temp.mp3" -ar 44100 -ac 2 -ab 128k -y "'.$row['id'].'.mp3"'); |
результат - резанул ровно по середине, да нужно учесть что треки иногда короткие и длительность уменьшать или вообще не делать "превью" а отдать оригинал
Отредактировано WapStyle (2022.11.16 13:01)
для пробников сойдёт
Добавлено спустя 7 минут 26 секунд: Результат для заполнения "пробников"
Код:
echo 'File '.$row['id'].' || Duration - '.$row['duration'].' sec'.PHP_EOL; |
$center = $row['duration']/2; |
$start = $setup['duration_resize']/2; |
|
if($row['duration'] > 180 AND !file_exists($setup['files_patch'].'time_limit/'.$row['id'].'.mp3') AND $row['size'] < $setup['size_limit']) |
{ |
//скрыто)) |
|
exec('ffmpeg -ss "'.($center-$start).'" -t "'.$setup['duration_resize'].'" -i "'.$setup['files_patch'].'time_limit/'.$row['id'].'_original.mp3" -acodec copy "'.$setup['files_patch'].'time_limit/'.$row['id'].'_temp.mp3"'); |
sleep(1); |
exec('ffmpeg -i "'.$setup['files_patch'].'time_limit/'.$row['id'].'_temp.mp3" -ar 44100 -ac 2 -ab 128k -y "'.$setup['files_patch'].'time_limit/'.$row['id'].'.mp3"'); |
unlink($setup['files_patch'].'time_limit/'.$row['id'].'_original.mp3'); |
unlink($setup['files_patch'].'time_limit/'.$row['id'].'_temp.mp3'); |
exec('rm -frv '.$setup['files_patch'].'time_limit/cifs*'); //про это не спрашивай, это особенность моего хранилища, засоряет жестяк |
sleep(2); |
} |
} |
} |
Отредактировано WapStyle (2022.11.16 15:03)
Gemorroj написал:
команды идут через крон, частый запрос (несколько в секунду) телега начинает тупить, приходится "тормозить"
примерно так "php file.php"
то что выше ни как не взаимодействует с пользователем
таймер так то дао выше ставить, примерно секунд 5, но у меня пусто...так что пока 1 секунда
Отредактировано WapStyle (2022.11.16 15:03)
сейчас пишу код для файлов размером более 20 мб (по коду бота нельзя скачать более 20мб), благо их всего за пол года накопилось 50 штук из 4500
Отредактировано WapStyle (2022.11.16 15:03)
с каждым разом настроек всё больше, подумаю об админке, хотя мне проще в phpmyadmin поменять
Смотри как чётко обрезало, первый оригинал, второй "пробник"
Отредактировано WapStyle (2022.11.16 16:04)
ну да, и битрейт порезало
Gemorroj написал:
ну да, и битрейт порезало
но ведь для пробника само то) и понял что играет и место мало занимает
Добавлено спустя 7 минут 35 секунд: А есть плюс в этом всём
Лови подкасты https://wapstyle.ru/podcast.mp3 (один трек не более минуты)
не пробовал, но если в плеер добавить URL должно писать название
AIMP проверено, показывает название трека только если в ручную листануть "следующий"
пока некогда php радио развивать))
Отредактировано WapStyle (2022.11.16 19:07)