Différences entre les versions de « Orange pi music »

De mydil
Aller à la navigation Aller à la recherche
Ligne 21 : Ligne 21 :
  
 
Il faudra faire attention lors du portage entre architectures, l'utilisation de PHP devant quand même grandement limiter les effets d'adhérence.
 
Il faudra faire attention lors du portage entre architectures, l'utilisation de PHP devant quand même grandement limiter les effets d'adhérence.
 +
 +
Pour plus de détails, voir cette [[music_sender_install | page ]].
  
 
=Repository=
 
=Repository=

Version du 1 juin 2018 à 09:23

Projet

Objectif Les acteurs Compétences Matériel

Faire une plateforme de partage musical dans un premier temps et pourquoi pas, multimédia par la suite.

  • Php Cli
  • Shell
  • Web (Front + API)
  • Orange PI au final, sinon une VM sous Ubuntu.

Installation

La version utilisé par le Orange Pi est une Ubuntu 16.04.4 LTS (Xenial Xerus) compilée pour un processeur ARM. Une version x86 est disponible ici

Il faudra faire attention lors du portage entre architectures, l'utilisation de PHP devant quand même grandement limiter les effets d'adhérence.

Pour plus de détails, voir cette page .

Repository

Le projet est accessible sur le dépôt SVN ici

Configuration de la VM

Paramétrer le mot de passe root

#sudo passwd

Autoriser le login root sur SSH

Dans le fichier /etc/ssh/sshd_config mettre l'option suivante à yes:

PermitRootLogin yes

Et redémarrer ssh :

systemctl restart ssh

Puis se reconnecter en root sur la VM

Ajouter des alias

Dans le fichier /root/.bashrc, ajouter à la fin :

alias vi="vim.tiny"
alias ll="ls -l"

Puis recharger le fichier :

. /root/.bashrc

Configuration de l'interface réseaux

Dans le fichier /etc/network/interfaces

# The primary network interface
auto ens33
iface ens33 inet static
address 192.168.100.180
netmask 255.255.255.0
gateway 192.168.100.2
dns-nameservers 8.8.8.8

Mettre à jour l'heure

Plusieurs commandes ne marcheront pas si le système est déphasé (tout ce qui implique l'utilisation de certificats)

# apt -y install ntp
# timedatectl set-ntp on

Dans le fichier /etc/ntp.conf remplacer :

pool 0.ubuntu.pool.ntp.org iburst
pool 1.ubuntu.pool.ntp.org iburst
pool 2.ubuntu.pool.ntp.org iburst
pool 3.ubuntu.pool.ntp.org iburst

par :

server 0.ubuntu.pool.ntp.org iburst
server 1.ubuntu.pool.ntp.org iburst
server 2.ubuntu.pool.ntp.org iburst
server 3.ubuntu.pool.ntp.org iburst

Redémarrer le service ntp :

# systemctl restart ntp

Installation des services

Apache / Php / MariaDB

Installation

#apt -y install apache2 mariadb-server mariadb-client php7.0-cli libapache2-mod-php php7.0-mysql

Apache2

Activation de mod_rewrite et démarrage:

#a2enmod rewrite
#systemctl start apache2

MariaDB

Installation

#systemctl start mysql
#mysql_secure_installation

Autoriser root sur localhost ET 127.0.0.1

# sudo mysql -u root -ppassword
> use mysql; update user set plugin='' where User='root'; flush privileges; exit;

Importation

Si le mdp est password et que le fichier contenant le schéma est database.sql:

# mysql -u root -ppassword < database.sql

PHP

Dans le fichier /etc/php/7.0/apache2/php.ini :

date.timezone = Europe/Paris

Installations spécifiques

EyeD3 pour les TAGs ID3

#apt -y install eyed3

On peut tester :

# eyeD3 /opt/mp3/music.mp3

mpg123 pour lire en CLI

#apt -y install mpg123

On va utiliser mpg123 en mode fifo pour qu'il lise les ordres depuis un fichier texte. Pour démarrer le programme serveur:

#mpg123 -R --fifo /opt/fifo

Depuis un autre terminal on peut le piloter:

  • lecture : echo "load /opt/mp3/music.mp3" > /opt/fifo;
  • pause : echo "pause" > /opt/fifo;
  • volume (en %, ici 10%) : echo "volume 10" > /opt/fifo;

ffmpeg

ffmpeg est utilisé pour récupérer des informations sur les vidéos.

#apt -y install ffmpeg
#apt -y install ffmpeg

Exemple avec un lien Youtube :

ffmpeg -hide_banner -i "https://r8---sn-4gxx-25gy.googlevideo.com/videoplayback?sparams=clen%2Cdur%2Cei%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cnh%2Cpl%2Crequiressl%2Csource%2Cexpire&nh=EAE%2C&key=yt6&pl=20&initcwndbps=488750&ipbits=0&source=youtube&fvip=4&itag=36&requiressl=yes&ei=RRDwWvmkNIT0WOOHj6AP&signature=76488F1D9697DD0D5F941B16E57FE1C70F2E313F.CAE9FB0074E536BD02B390C06B866AD93C03E7BE&mm=31%2C26&fexp=23724337&c=WEB&mn=sn-4gxx-25gy%2Csn-h5q7dnld&mime=video%2F3gpp&gir=yes&dur=2914.104&id=o-AMgZAlg8TdkZJUlKhlxeao1XWafRqqqvf9x62zj5UpBV&mv=m&mt=1525682152&ms=au%2Conr&clen=61367124&ip=82.64.7.65&expire=1525703845&lmt=1519325202020444"

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'https://r8---sn-4gxx-25gy.googlevideo.com/videoplayback?sparams=clen%2Cdur%2Cei%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cnh%2Cpl%2Crequiressl%2Csource%2Cexpire&nh=EAE%2C&key=yt6&pl=20&initcwndbps=488750&ipbits=0&source=youtube&fvip=4&itag=36&requiressl=yes&ei=RRDwWvmkNIT0WOOHj6AP&signature=76488F1D9697DD0D5F941B16E57FE1C70F2E313F.CAE9FB0074E536BD02B390C06B866AD93C03E7BE&mm=31%2C26&fexp=23724337&c=WEB&mn=sn-4gxx-25gy%2Csn-h5q7dnld&mime=video%2F3gpp&gir=yes&dur=2914.104&id=o-AMgZAlg8TdkZJUlKhlxeao1XWafRqqqvf9x62zj5UpBV&mv=m&mt=1525682152&ms=au%2Conr&clen=61367124&ip=82.64.7.65&expire=1525703845&lmt=1519325202020444':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2018-02-22 18:46:24
  Duration: 00:48:34.10, start: 0.000000, bitrate: 168 kb/s
    Stream #0:0(und): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 320x180 [SAR 1:1 DAR 16:9], 131 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 30k tbc (default)
    Metadata:
      creation_time   : 2018-02-22 18:46:24
      handler_name    : IsoMedia File Produced by Google, 5-11-2011
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 22050 Hz, mono, fltp, 31 kb/s (default)
    Metadata:
      creation_time   : 2018-02-22 18:46:28
      handler_name    : IsoMedia File Produced by Google, 5-11-2011