Bonsoir !

Je vais vous présenter ToastBox, mon petit Cakebox like en PHP.

page d'acceuil de ToastBox

J'ai souvent eu des problèmes pour installer CakeBox comme plusieurs de mes amis. Le système ne me paraissait pas très compliqué je me suis dit que j'allais créer ma version.

Tout comme Cakebox, je propose le visionnage de ses vidéos à l'aide de plusieurs lecteurs (HTML5, VLC web player et Divx web player), mais aussi un système de conversion des vidéos utilisant FFMPEG pour pouvoir les visionner en MP4 ([H.264 et AAC) à l'aide du player HTML5.

Pour obtenir des informations sur le film ou la série (comme la description ou la note) j'utilise l'api de IMDB.

La page du player vidéo


Comme je l'ai précisé plus haut, j'ai écrit le code en PHP et sans framework et il est dispo sur mon github → github.com/toastbox.
Il n'est pas forcément des plus propre mais il fonctionne et je vous invite à contribuer à son développement !

Je suis dispo pour toutes remarques et questions sur le sujet

Bonne soirée !
Yop yop,
j'ai essayé rapidement parce que ça à l'air bien prometteur, mais pour le moment, c'est complètement inutilisable dans un dossier avec beaucoup de médias... j'ai mis mon répertoire de films, environ 150, ça prend un temps fouuuuu pour charger la page.. Et la reconnaissance imdb n'est pas top top, c est compliqué pour qu'il trouve bien les titres correspondants.
J'ai aussi un soucis pour transcoder mais ça doit venir de chez moi, j'ai pas vraiment pris le temps de tout bien regarder.
Dans l'idée, ça à l'air vraiment pas mal, j'attends les optimisations avec impatience
Merci bien, je vais trouver un moyens de fixer ça

La reconnaissance via IMDB ne fonctionne qu'avec les titres en anglais et lisibles, je veux dire que si y'a le nom d'un site, d'une team ou autre ça peut ne pas fonctionner

Pour le transcodage je n'ai utilisé que sur mon serveur et il avait vraiment du mal (presque 2h pour une vidéo de 4Gb).

En tout cas merci de ton retour je vais essayer de faire le nécessaire
Faut surtout pas que tu laisses tomber effectivement, comme je l'ai déjà dit ça à l'air bien prometteur

En fait, le soucis principal je pense, c'est que tu check d'abord la fiche imdb de tous les éléments avant d'afficher la page, il faudrait mettre une option je pense pour pouvoir justement faire comme un cakebox, c'est à dire avoir un affichage de type liste, sans forcément tous les metadatas, pour un affichage rpiade, et ensuite, quand tu cliques sur le fichier pour le lire, là effectivement tu mets les metadata imdb.

Ou sinon, il faut se limiter à le faire scanner que des répertoires avec moins de 10 fichiers, e bien nommés ^^
ça à l'air bien sympa je vais le tester quand j'ai le temps
PS: je fais peut être un truc mal, mais je ne peux pas lire mes vidéos, ni les télécharger, ni rien faire en fait...
J'ai indiqué un répertoire avec 1 seul film dans le fichier config, la page d'accueil galère à charger, imdb ne renvois rien, je clique quand même sur le "Movie not found", j'arrive sur la page de mon film, le fichier ne peut pas être lu, ni télécharger, ni encoder, ni rien...
Mon user nginx est bien proprio du répertoire de ton soft et il est bien dans le group qui a full accès à mes films.

Si tu as une explication ?
Camtosh wrote:Merci bien, je vais trouver un moyens de fixer ça

La reconnaissance via IMDB ne fonctionne qu'avec les titres en anglais et lisibles, je veux dire que si y'a le nom d'un site, d'une team ou autre ça peut ne pas fonctionner :/
Tu peux regarder dans l'implé de Kodi pour corriger ça, surement un problème de regexp
Pour le transcodage je n'ai utilisé que sur mon serveur et il avait vraiment du mal (presque 2h pour une vidéo de 4Gb).
Y'a surement moyen d'alléger la charge avec des réglages plus fins
Tu peux aussi au choix changer d'approche pour le streaming :
- garder le fichier source => ffmpeg > VLC > stream temps-réel (donc ca consomme de la BP, encodage léger pour pas plier le serveur)
- convertir si pas lisible avec un lecteur web => mettre en place une queue de conversion (éviter de lancer 2 conv ou plus a la fois, voir ou en est la conv actuelle, choisir des profiles de conversion (surement pour ca que ton fichier de 4go prend 2h))
bonus
La fonction vignette est surement le pourquoi de la lenteur d'affichage de l'index 😛 ca pourrait être intérressant d'utiliser du javascript pour ça

Les fichiers index.php comme placeholder, c'est le mal 😛
lokiii wrote:PS: je fais peut être un truc mal, mais je ne peux pas lire mes vidéos, ni les télécharger, ni rien faire en fait...
J'ai indiqué un répertoire avec 1 seul film dans le fichier config, la page d'accueil galère à charger, imdb ne renvois rien, je clique quand même sur le "Movie not found", j'arrive sur la page de mon film, le fichier ne peut pas être lu, ni télécharger, ni encoder, ni rien...
Mon user nginx est bien proprio du répertoire de ton soft et il est bien dans le group qui a full accès à mes films.

Si tu as une explication ? 🙂
Merci !

Tu es sur que le chemin est le bon ? Quel est le type du fichier ?
samba wrote:
Camtosh wrote:Merci bien, je vais trouver un moyens de fixer ça

La reconnaissance via IMDB ne fonctionne qu'avec les titres en anglais et lisibles, je veux dire que si y'a le nom d'un site, d'une team ou autre ça peut ne pas fonctionner :/
Tu peux regarder dans l'implé de Kodi pour corriger ça, surement un problème de regexp
Pour le transcodage je n'ai utilisé que sur mon serveur et il avait vraiment du mal (presque 2h pour une vidéo de 4Gb).
Y'a surement moyen d'alléger la charge avec des réglages plus fins
Tu peux aussi au choix changer d'approche pour le streaming :
- garder le fichier source => ffmpeg > VLC > stream temps-réel (donc ca consomme de la BP, encodage léger pour pas plier le serveur)
- convertir si pas lisible avec un lecteur web => mettre en place une queue de conversion (éviter de lancer 2 conv ou plus a la fois, voir ou en est la conv actuelle, choisir des profiles de conversion (surement pour ca que ton fichier de 4go prend 2h))
bonus
La fonction vignette est surement le pourquoi de la lenteur d'affichage de l'index 😛 ca pourrait être intérressant d'utiliser du javascript pour ça

Les fichiers index.php comme placeholder, c'est le mal 😛
Merci bien, je vais regarder le tout !

Je sais bien pour les Index.PHP mais pour une raison obscure les .htaccess ne fonctionnent pas dans le dossier du projet :')
Bonjour à tous, surement une question idiote... mais comment on l'installe ? Je débute en linux (je suis sur debian8) j'ai fais un wget du lien mais après je sais pas quoi faire

edit : j'ai fais un git pull je penses que c'est bon pour la suite 😛
samuel wrote:Bonjour à tous, surement une question idiote... mais comment on l'installe ? Je débute en linux (je suis sur debian8) j'ai fais un wget du lien mais après je sais pas quoi faire

edit : j'ai fais un git pull je penses que c'est bon pour la suite 😛

Salut, tu dois cloner le projet dans le dossier de ton serveur web pour pouvoir y accéder depuis ton navigateur
ouep, j'ai fais la manip mais qu'elle est le lien ?
j'avais fait un dossier ToastBox de base, ducoup je fais
192.168.0.10/toastbox/toastbox/view.php il n'y a rien nada!
Bonjour Samuel

Pour faire simple.
cd /var/www/
git clone https://github.com/CamTosh/ToastBox.git
chown -R www-data:www-data ToastBox/

Ajouter le bloc a nginx dans rutorrent.conf
## début config ToastBox serveur ##

        location ^~ /ToastBox {
            root /var/www;
            include /etc/nginx/conf.d/php.conf;
            include /etc/nginx/conf.d/cache.conf;
            satisfy any;
            allow all;
        }

## fin config ToastBox serveur ##
reste plus qu'a redémarrer nginx
/etc/init.d/nginx restart

Sous réserve de validation de "Camtosh" ne pas tenir compte de ce message.
Camtosh wrote:Tu es sur que le chemin est le bon ? Quel est le type du fichier ? 🙂
Vivi, j'ai essayé avec plein de path différents...
Pour les fichiers, mkv / avi / mp4, c'est pareil apparemment.

J'attends les updates avec impatiente
billred wrote:Bonjour Samuel

Pour faire simple.
cd /var/www/
git clone https://github.com/CamTosh/ToastBox.git
chown -R www-data:www-data ToastBox/

Ajouter le bloc a nginx dans rutorrent.conf
## début config ToastBox serveur ##

        location ^~ /ToastBox {
            root /var/www;
            include /etc/nginx/conf.d/php.conf;
            include /etc/nginx/conf.d/cache.conf;
            satisfy any;
            allow all;
        }

## fin config ToastBox serveur ##
reste plus qu'a redémarrer nginx
/etc/init.d/nginx restart

Sous réserve de validation de "Camtosh" ne pas tenir compte de ce message.
ça me semble tout bon

Je peux réutiliser ça pour le mettre dans la partie "Comment l'installer" readme ?
ok j'ai tout mit, mais impossible d'acceder a la page web .. 404 sur 192.168.0.10/toastbox/ c'est bien ça non ?
parceque 192.168.0.10/rutorrent fonctionne parfaitement
Camtosh wrote:Je peux réutiliser ça pour le mettre dans la partie "Comment l'installer" readme ?
Je ne vois pas de mal a cela.
Cela dit il serait bien de nommé les personnes qui t'on aider à crée ton projet [enfin qui on contribué de loin ou de prés a ton projet].


Ps: Je ne suis la que brièvement mais je peut regarder cela de plus prés lundi.
Si besoin de test j'ai a disposition un serveur [online] et j'ai possibilité aisément de crée des vm [via virt-manager].
Tous sa pour dire que si tu as besoin de main je veux bien t'aider a tester la portabilité de ton projet.
j'ai toujours pas compris comment acceder à la page de toastbox
samuel wrote:j'ai toujours pas compris comment acceder à la page de toastbox 😮D

Désolé mais j'ai un peu du mal à comprendre où ça bloque Tu peux nous montrer ta conf nginx / apache ?

billred wrote: il serait bien de nommé les personnes qui t'on aider à crée ton projet
Ne t’inquiète pas ça sera fait
billred wrote: je veux bien t'aider a tester la portabilité de ton projet.
C'est très gentil et ça me serait utile si ça ne te dérange pas !
enfaite je ne sais pas comment tu fais pour acceder a l'interface graphique sur le site internet, que dois-je taper sur internet pour avoir acces a toastbox voilà ma question 😛
nginx
user www-data;
worker_processes auto;
pid /var/run/nginx.pid;

events {
    worker_connections 1024;
    use epoll; # gestionnaire d'évènements epoll (kernel 2.6+)
}

http {
    include /etc/nginx/mime.types;
    default_type  application/octet-stream;

    access_log /var/log/nginx/access.log combined;
    error_log /var/log/nginx/error.log error;

    sendfile on;
    keepalive_timeout 15;
    keepalive_disable msie6;
    keepalive_requests 100;
    tcp_nopush on;
    tcp_nodelay off;
    server_tokens off;

    gzip on;
    gzip_comp_level 5;
    gzip_min_length 512;
    gzip_buffers 4 8k;
    gzip_proxied any;
    gzip_vary on;
    gzip_disable "msie6";
    gzip_types
        text/css
        text/javascript
        text/xml
        text/plain
        text/x-component
        application/javascript
        application/x-javascript
        application/json
        application/xml
        application/rss+xml
        application/vnd.ms-fontobject
        font/truetype
        font/opentype
        image/svg+xml;

    include /etc/nginx/sites-enabled/*.conf;
}
/etc/nginx/conf.d/php.conf
location ~ \.php$ {
    fastcgi_index index.php;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include /etc/nginx/fastcgi_params;
}