
GNU/Linux
Простейший медиасервер прямо на коленке.
Решил написать статейку, возможно, кому-то подобный "хэлоуворлд" будет интересен и расскажет что-то новое, или сподвигнет на дальнейшее изучение фич, которые были использованы, ну и проч проч. Задача - в десяток строк кода сделать видеохостинг. Все опыты проводились на Ubuntu 16.04.
Все, что для этого (ffmpeg, python, bash) вроде как есть из коробки.
Для начала вкратце объясню, как это работает. Есть такая технология - CGI. Оно выполняет скрипты на стороне сервера и показывает stdout в виде либо текста, либо html. Запилим такой скрипт:
#!/bin/bash
echo "Content-Type: text/html"
echo
echo "<html>"
echo "<head><title>Media_test</title></head>"
echo "<body>"
for file in *; do if [[ "$file" == *.mp4 ]]; then
echo "<h3> "$file" <h3>"
echo "<video src=\"../$file\" controls type="video/mp4"></video>";
fi
done
echo "</body></html>"
Назовем его, скажем, test, создадим в папке с вашими медиафайлами папочку cgi-bin, кинем туда этот скрипт (не забудьте сделать его исполняемым).
Что делает скрипт?
Сначала - стандартная заглушка для html, заголовок, потом он перебирает файлы, и если находит видео mp4, выводит название и само видео тегом <video>.
Где подвох?
Подвох в том, что html5 умеет очень ограниченное количество форматов, и обычные mkv, которые, как правило, h264+ac3, в этот список не входят. Но можно перепаковать их сравнительно малой кровью в mp4 h264+aac такой командой в папке с медиафайлами:
for i in *mkv; do ffmpeg -i "$i" -strict experimental -c:v copy -c:a aac -b:a 192k "$i".mp4; done
И, в финале, нам нужен http-сервер. Т.к пример у нас хэллоуворлдный, воспользуемся встроенным в питон. Выполним в папке с медиафайлами:
python3 -m http.server --cgi
Все! Вы великолепны! Перейдите по адресу 127.0.0.1:8000/cgi-bin/test и полюбуйтесь проделанной работой))
Ну и ложка дегтя. Питоновский сервер слаб на обе ноги, и потому страничка с большим количеством жирных файлов будет подгружаться очень долго. Для серьезных вещей он, ясен хрен, не годится.
Бесконечная терминальная прокрутка в Ubuntu/Linux Mint
По умолчанию количество строк для отображения в терминале установлено в значении 512, но иногда вывод команды может быть очень длинным и вы не сможете его увидеть, прокручивая скроль. Эту проблему очень легко решить, если можно назвать это проблемой. Просто нужно отредактировать значение в Меню - Параметры профиля - Прокрутка - Обратная прокрутка, увеличив цифровое значение строк:
Just another cheatsheet
http://gnulinux.guru/bash_cheatsheet.pdf
Отличный комплект самых часто используемых команд.
Лично себе распечатал и заламинировал. Очень удобно.
Как выключать или перезагружать компы linux
В этой записке мы рассмотрим то как выключать компьютер (останавливать систему) через консоль linux для этого есть несколько команд
shutdown -h now - остановить систему
shutdown -h hours:minutes -запланировать остановку системы на указанное время
shutdown -c - отменить запланированную по расписанию остановку системы
reboot - перезагрузить компьютер
logout - выйти из системы
PS я начинающий пикабушник ненадо столько минусов и негатива :3
Повторение команды за n количество секунд
В Linux есть очень полезная команда благодаря которой вы сможете повторять какую либо команду в консоле. Эта команда называется watch. Вот пример использования команды: watch -n 5 python status.py. В нашем примере команда python status.py срабатывает заново каждые 5 секунд.
Unix-way: правда или вымысел?
Проглядывая одну новость на опеннете (https://www.opennet.ru/opennews/art.shtml?num=44697 вот эту) наткнулся на любопытную веточку коментов
и мне показалось, что доля истины в этом таки есть. Но всё же захотелось мне узнать пикабушное мнение, возможен ли Юникс-вей в современных условиях, и нужен ли он вообще? Комент для минусов прилагается