Question

J'ai une question sur le streaming de sortie libx264. Mon scénario est que Iam la capture vidéo de webcam, l'encodage avec x264 et données en continu à clignoter, multiplexés comme FLV. Pour muxing, Im en utilisant la sortie / flv_bitstream.h, inclus dans libx264 Budle. La seule modification de muxer, que je fait, est qu'au lieu de fwrite () im usig send () aux données de transfert via socket ... bibliothèque d'encodage fonctionne très bien. Si je sauve la sortie (même multiplexé), joueur vlc est en mesure de jouer. Mais, quand il va au transfert de données via socket, vlc et flash ne coopèrent pas. Le thig étrange est que si Im envoyer des données à travers lecteur vlc prise, il attend jusqu'à la fin de la transmission et joue ensuite la vidéo à partir tampon. Mais ce que je dois jouer est en direct.

J'ai aussi tryed de lire le fichier flv et l'envoyer à vlc de la balise flash par tag et il fonctionne très bien.

Toutes les suggestions?

Était-ce utile?

La solution

Mettre en œuvre un simple serveur http et de répondre aux demandes entrantes avec:
"HTTP / 1.0 200 OK \ r \ n"
"Pragma: no-cache \ r \ n"
"Content-Type: video / x-flv \ r \ n"
"\ R \ n"
Chacun d'entre eux devrait être suivi par le bit-stream FLV brut.
Cela devrait permettre à la consommation en direct du contenu en utilisant par exemple. VLC, flowplayer, ...

Aussi, pensez à utiliser 'url_open_dyn_buf' / 'url_close_dyn_buf' plutôt que 'fwrite', voir ffserver pour référence.

Nadav à Sophin

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