Quelle est la quantité minimale de métadonnées est nécessaire pour diffuser uniquement la vidéo en utilisant libx264 pour encoder sur le serveur et libffmpeg à décoder au client?

StackOverflow https://stackoverflow.com//questions/9710471

Question

Je veux diffuser une vidéo (pas de audio) d'un serveur à un client.Je vais encoder la vidéo en utilisant libx264 et le décoder avec FFMPEG.Je prévois d'utiliser des paramètres fixes (à tout le moins qu'ils seront connus à l'avance par le client et le serveur).Je me demandais si je peux éviter d'envelopper la vidéo compressée dans un format de conteneur (comme MP4 ou MKV).

En ce moment, je suis capable de coder mes cadres en utilisant x264_encoder_encode.Je reçois un cadre compressé en arrière et je peux le faire pour chaque cadre.Quelles informations supplémentaires (si quelque chose du tout) dois-je envoyer au client afin que FFMPEG puisse décoder les cadres comprimés, et plus important encore, comment puis-je l'obtenir avec libx264.Je suppose que je devrais peut-être générer des informations NAL (x264_nal_encode?).Avoir une idée de ce qui est le minimum nécessaire pour obtenir la vidéo à travers et comment mettre les morceaux ensemble serait vraiment utile.

Était-ce utile?

La solution

J'ai découvert que la quantité minimale d'informations sont les unités NAL de chaque image, cela me donnera un courant H264 brut.Si je devais l'écrire dans un fichier, je pourrais regarder en utilisant VLC si l'ajout d'un .h264 Je peux également ouvrir un tel fichier à l'aide de FFMPEG, mais si je veux le diffuser, il est plus logique d'utiliser RTSP, et une bonne bibliothèque open source pour cela est Live555: http://www.live555.com/livemedia/

Dans leur FAQ, ils mentionnent comment envoyer la sortie de votre codeur à Live555, et il existe une source pour un client et un serveur.Je n'ai pas encore fini de coder cela, mais cela semble être une solution raisonnable

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top