J'arrive après la bataille, alors je répond plus globalement à toute la discussion. :)
Format vidéo autre que le DCP
je reste d'avis qu'une norme plus légère plus à destination des amateurs et des petits festivals serait une bonne chose. A priori un couple Théora/Flac.
Tu as tout d'abord parlé de vp8, puis on t'as répondu que vp8 était moins bien que h264, puis il a été dit que h264 posait problème à cause des brevets, alors tu n'as plus parlé que de theora. Il me semble que vp8 est bien meilleur que theora, donc si tu souhaites proposer un autre format que le DCP, je pense que ce serait bien mieux de proposer vp8 plutôt que theora.
De plus, ici tu es dans un cas où la contrainte de place et de puissance de décodage ne compte pas beaucoup, donc beaucoup d'arguments en faveur de la supériorité de h264 ne servent pas à grand chose :
le support matériel : pas important, l'utilisateur de ton logiciel aura PC avec un proco généraliste suffisamment puissant, on parle d'une machine qui sera aussi capable de lire du DCP…
le meilleur encodage : dans la discussion il y a eu plus ou moins consensus sur le fait qu'il ne fallait pas sacrifier la qualité, et que quelques Go pour un film ça se valait bien, donc partant de là, si tu utilises h264 ou vp8 en mode « prend le maximum de place et privilégie la qualité » plutôt que « serre au maximum la place, ça doit tenir sur un CD », je suppose que les avantages d'h264 sur vp8 ne seront pas du tout visibles. Il est très probable que dans ton cas, les avantages d'h264 sur vp8 ne soient pas pertinent.
J'aimerai bien que des spécialistes du codage précise pourquoi dans ton cas précis, h264 est meilleur que vp8, mais pas avec les arguments d'autres domaines.
Après, c'est mon simple avis et je ne suis pas un professionnel du codage, mais en utilisant les outils standards (soit theoraenc, soit ffmpeg2theora, soit gstreamer avec son plugin theoraenc, j'ai toujours eu des résultats dégueulasses avec theora, même en qualité maximale (mon seul besoin) et sans options particulière, alors qu'avec vp8 j'obtiens des résultats propres.
Pour mon retour d'expérience, je ne fais que du codage multimédia pour ripper mes CD et DVD que je possède.
Je rippe mes DVD dans un conteneur MKV avec les pistes vidéos en vp8 au maximum de place et de qualité que permet l'encodeur et avec les pistes audio en FLAC. Les piste audio et vidéo réparties sur les deux DVD ont été jointes pour n'avoir qu'une piste à chaque fois dans le MKV final.
Voici un cas d'utilisation personnel, Le double DVD Cinema Symphony de Kenji Kawai de 2007.
Durée totale : 2 heures 30 minutes
* Informations sur les DVD originaux
Taille cumulée des isos : 14.5Go
Vidéo : 720x480 NTSC
Audio0 : 48KHz Stéréo
Audio1 : 48KHz Surround 5.1
* Informations sur le MKV produit
Taille du fichier de sortie : 4.9 Go
Vidéo : VP8 720x480 NTSC 30i/s 2Go
Audio0 : FLAC 48KHz 2ch 900Mo
Audio1 : FLAC 48KHz 6ch 2Go
Je n'ai pas d'exemple de 2h30 de FullHD en VP8 en qualité maximale…
Cela dit, je pourrais essayer de générer un MKV/VP8/Flac depuis un des courts-métrage de la Blender Fondation pour donner une idée…
DCP, bibliothèques etc.
L'implémentation de la lecture de DCP dans VLC qui donc enrichie le premier projet.
surtout qu'il ne suffit que - dans un premier temps - d'un décompacteur MXF et de la lecture en flux d'image JPEG2000
Tu dis qu'il va falloir implémenter DCP dans VLC, si VLC n'est qu'une idée parmi d'autres et que tu n'as pas de choses qui t'y obliges, sache que dans Gstreamer il semble y avoir déjà une bonne partie de d'implémentée pour supporter le DCP. On trouve dans GStreamer les éléments mxfdemux et jp2kdec. Tout comme VLC, il y a un élément tee qui permet de rediriger un flux multimédia vers deux sorties (une fenêtre sur l'écran de projection, une zone dans la fenêtre de l'écran de monitoring)…
D'après cette discussion (datée de 2011), ce qui bloque encore c'est le fait que Gstreamer ne gère pas encore de « pipeline en 12 bit par couleur ». L'élément jp2kdec le gèrerait déjà, mais pas le reste.
Un bug est ouvert équivalent à la discussion précitée, avec des pistes pour la résolution du problème. Il semblerait que ce ne soit pas très compliqué, simplement personne ne l'a encore fait, probablement parce qu'il y a peu d'utilisateur.
Fonctionnalités du logiciel de projection
J'ai trouvé ta maquette sympa, un truc comme ça doit pouvoir se faire facilement avec GTK, Gstreamer et Python (ou un autre langage de ta préférence ;).
Je pense que pour ce genre de cas ce serait une bonne idée que ton logiciel se limite à un nombre très restreint de formats, même si les briques utilisées saurait en faire plus. Par exemple, ne lire officiellement que deux formats :
Un léger pour les petites initiatives : MKV + VP8 + FLAC + un format de sous-titre propre + une liste de métadonnées conseillées (en gros tu défini un standard).
Le format standard : DCP.
Et fournir à coté un codeur en un clic ou presque, avec le choix entre MKV/DCP et quelques champs à remplir pour les métadonnées, et autres détails qu'on pourrait considérer comme les bonnes pratiques qui seront appréciées parce que simplifieront la vie du projectionniste et de l'archiviste ^^.
L'idée est d'écarter au maximum les imprévus et possibilité de bugs dans le logiciel de projection.
Si le logiciel de codage est très simple, il rentrera facilement dans le workflow de celui qui fait le film, surtout s'il gère à peu près tout les formats existants (il me semble que Gstreamer en lit plus que VLC), si l'auteur peut en un clic ou presque sortir une vidéo compatible avec ton logiciel depuis le format toujours différent de son logiciel de montage, tu feras grand plaisir !
Donner le moyen d'être compatible avec ton logiciel/les formats ouverts
Donc, pour simplifier le logiciel de projection (et le garantir sa robustesse), et pour donner les moyens d'être compatibles avec ton logiciel de projection, c'est à dire avec les formats libres et ouverts, l'outil de conversion précité serait certainement très apprécié.
Au passage, Gstreamer propose aussi les éléments jp2kenc et mxfmux, donc si tu ajoutes le support du 12bit par couleur à Gstreamer, cela te permet de proposer un codeur DCI. À ce que j'ai cru comprendre, ce genre de logiciel est rare en gratuit et plus rare encore en libre, si tu proposes l'outil de codage avec l'outil de projection, ça peut te garantir un certain succès, le succès du premier provoquant le succès du second…
Personnellement je verrai bien une gui pour le logiciel de codage de cette forme là :
____________________________________________________
|[#] Coder mon film [_][=][x]|
|‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾|
| [Choisir ma vidéo] [+] |
| |
| Langue : [----------][v] |
| Nom du film : _______________ |
| Date : _______________ |
| Réalisateur : _______________ |
| Acteur : _______________ [+] |
| Personnalisé [+] |
| |
| [Chapitrage] |
| [Visuel] [+] |
| |
| [MKV HQ] [DCP] [Annuler] |
|____________________________________________________|
Et si on clique sur le [+] à coté de la sélection de la vidéo, on pourrait gérer le codage de films dont la source est en plusieurs parties (piste vidéo d'un coté, audio de l'autre, plusieurs pistes vidéo…), idem pour les [+] à coté des champs et éléments.
____________________________________________________
|[#] Coder mon film [_][=][x]|
|‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾|
| [Ajouter une piste vidéo] Langue : [---][v] [-] |
| [Ajouter une piste audio] Langue : [---][v] [-][+] |
| [Ajouter un sous titrage] Langue : [---][v] [-] |
| [Ajouter un sous titrage] Langue : [---][v] [-] |
| [Ajouter un sous titrage] Langue : [---][v] [-][+] |
| |
| Nom du film : _______________ |
| Date : _______________ |
| Réalisateur : _______________ |
| Acteur : _______________ |
| Acteur : _______________ [-] |
| Acteur : _______________ [-][+] |
| Personnalisé__ : _______________ [-] |
| Personnalisé__ : _______________ [-][+] |
| |
| [Chapitrage] Langue : [------][v][-][+] |
| [Visuel] [+] |
| |
| [MKV HQ] [DCP] [Annuler] |
|____________________________________________________|
La même gui pourrait servir à simplement éditer le contenu du conteneur MXF/MKV, on ouvre une vidéo qui est déjà dans un format supporté par le logiciel de projection, alors si on change des champs ou ajoute des pistes, lorsque l'on clique sur le bouton d'export, les pistes qui seraient déjà dans le bon format seraient intégrées sans conversion. On pourrait imaginer que l'interface se modifie comme ceci pour indiquer que l'on ne recode pas inutilement (exemple si la vidéo était déjà un MKV+VP8+etc.) :
[^] # Re: Petite conclusion
Posté par Thomas Debesse (site web personnel, Mastodon) . En réponse au journal Une autre structure pour la diffusion des films / appel à contribution.. Évalué à 2.
Sommaire
J'arrive après la bataille, alors je répond plus globalement à toute la discussion. :)
Format vidéo autre que le DCP
Tu as tout d'abord parlé de vp8, puis on t'as répondu que vp8 était moins bien que h264, puis il a été dit que h264 posait problème à cause des brevets, alors tu n'as plus parlé que de theora. Il me semble que vp8 est bien meilleur que theora, donc si tu souhaites proposer un autre format que le DCP, je pense que ce serait bien mieux de proposer vp8 plutôt que theora.
De plus, ici tu es dans un cas où la contrainte de place et de puissance de décodage ne compte pas beaucoup, donc beaucoup d'arguments en faveur de la supériorité de h264 ne servent pas à grand chose :
J'aimerai bien que des spécialistes du codage précise pourquoi dans ton cas précis, h264 est meilleur que vp8, mais pas avec les arguments d'autres domaines.
Après, c'est mon simple avis et je ne suis pas un professionnel du codage, mais en utilisant les outils standards (soit theoraenc, soit ffmpeg2theora, soit gstreamer avec son plugin theoraenc, j'ai toujours eu des résultats dégueulasses avec theora, même en qualité maximale (mon seul besoin) et sans options particulière, alors qu'avec vp8 j'obtiens des résultats propres.
Pour mon retour d'expérience, je ne fais que du codage multimédia pour ripper mes CD et DVD que je possède.
Je rippe mes DVD dans un conteneur MKV avec les pistes vidéos en vp8 au maximum de place et de qualité que permet l'encodeur et avec les pistes audio en FLAC. Les piste audio et vidéo réparties sur les deux DVD ont été jointes pour n'avoir qu'une piste à chaque fois dans le MKV final.
Voici un cas d'utilisation personnel, Le double DVD Cinema Symphony de Kenji Kawai de 2007.
Je n'ai pas d'exemple de 2h30 de FullHD en VP8 en qualité maximale…
Cela dit, je pourrais essayer de générer un MKV/VP8/Flac depuis un des courts-métrage de la Blender Fondation pour donner une idée…
DCP, bibliothèques etc.
Tu dis qu'il va falloir implémenter DCP dans VLC, si VLC n'est qu'une idée parmi d'autres et que tu n'as pas de choses qui t'y obliges, sache que dans Gstreamer il semble y avoir déjà une bonne partie de d'implémentée pour supporter le DCP. On trouve dans GStreamer les éléments
mxfdemuxetjp2kdec. Tout comme VLC, il y a un élémentteequi permet de rediriger un flux multimédia vers deux sorties (une fenêtre sur l'écran de projection, une zone dans la fenêtre de l'écran de monitoring)…D'après cette discussion (datée de 2011), ce qui bloque encore c'est le fait que Gstreamer ne gère pas encore de « pipeline en 12 bit par couleur ». L'élément jp2kdec le gèrerait déjà, mais pas le reste.
Une piste de solution est indiquée dans la discussion.
Un bug est ouvert équivalent à la discussion précitée, avec des pistes pour la résolution du problème. Il semblerait que ce ne soit pas très compliqué, simplement personne ne l'a encore fait, probablement parce qu'il y a peu d'utilisateur.
Fonctionnalités du logiciel de projection
J'ai trouvé ta maquette sympa, un truc comme ça doit pouvoir se faire facilement avec GTK, Gstreamer et Python (ou un autre langage de ta préférence ;).
Je pense que pour ce genre de cas ce serait une bonne idée que ton logiciel se limite à un nombre très restreint de formats, même si les briques utilisées saurait en faire plus. Par exemple, ne lire officiellement que deux formats :
Et fournir à coté un codeur en un clic ou presque, avec le choix entre MKV/DCP et quelques champs à remplir pour les métadonnées, et autres détails qu'on pourrait considérer comme les bonnes pratiques qui seront appréciées parce que simplifieront la vie du projectionniste et de l'archiviste
^^.L'idée est d'écarter au maximum les imprévus et possibilité de bugs dans le logiciel de projection.
Si le logiciel de codage est très simple, il rentrera facilement dans le workflow de celui qui fait le film, surtout s'il gère à peu près tout les formats existants (il me semble que Gstreamer en lit plus que VLC), si l'auteur peut en un clic ou presque sortir une vidéo compatible avec ton logiciel depuis le format toujours différent de son logiciel de montage, tu feras grand plaisir !
Donner le moyen d'être compatible avec ton logiciel/les formats ouverts
Donc, pour simplifier le logiciel de projection (et le garantir sa robustesse), et pour donner les moyens d'être compatibles avec ton logiciel de projection, c'est à dire avec les formats libres et ouverts, l'outil de conversion précité serait certainement très apprécié.
Au passage, Gstreamer propose aussi les éléments
jp2kencetmxfmux, donc si tu ajoutes le support du 12bit par couleur à Gstreamer, cela te permet de proposer un codeur DCI. À ce que j'ai cru comprendre, ce genre de logiciel est rare en gratuit et plus rare encore en libre, si tu proposes l'outil de codage avec l'outil de projection, ça peut te garantir un certain succès, le succès du premier provoquant le succès du second…Personnellement je verrai bien une gui pour le logiciel de codage de cette forme là :
Et si on clique sur le [+] à coté de la sélection de la vidéo, on pourrait gérer le codage de films dont la source est en plusieurs parties (piste vidéo d'un coté, audio de l'autre, plusieurs pistes vidéo…), idem pour les [+] à coté des champs et éléments.
La même gui pourrait servir à simplement éditer le contenu du conteneur MXF/MKV, on ouvre une vidéo qui est déjà dans un format supporté par le logiciel de projection, alors si on change des champs ou ajoute des pistes, lorsque l'on clique sur le bouton d'export, les pistes qui seraient déjà dans le bon format seraient intégrées sans conversion. On pourrait imaginer que l'interface se modifie comme ceci pour indiquer que l'on ne recode pas inutilement (exemple si la vidéo était déjà un MKV+VP8+etc.) :
Dans l'interface de projection, un bouton [modifier la vidéo] pourrait être disponible, appelant cette interface.
Qu'est ce que tu en penses ?
ce commentaire est sous licence cc by 4 et précédentes