2011-07-17 2 views
1

J'essaie actuellement de mettre en œuvre un serveur RTSP/RTP en utilisant Qt. Je voudrais lire à partir d'un fichier vidéo dans un QByteArray afin qu'il puisse être divisé en fragments et ajouté comme la charge utile d'un paquet RTP. Serait-ce la bonne approche et si oui, quel serait le code pour lire un fichier multimédia (tel que "movie.3gp") dans un QByteArray? Merci d'avance.Comment créer des paquets vidéo en Qt pour la charge utile RTP

+0

Vous ne voulez probablement pas charger le fichier entier en même temps, mais de manière incrémentielle? –

+2

Quel code avez-vous essayé? Partagez cela en premier. Ensuite, je vais vous dire ce qui ne va pas. –

Répondre

1

Je l'avais fait dans le passé avec Qt 3.3. À l'époque, j'ai utilisé ffmpeg si je ne me trompe pas pour compresser le flux d'une caméra et live library pour générer le flux RTSP/RTP. Fondamentalement, comme vous l'avez dit, en chargeant chaque image dans un QByteArray et en le déplaçant vers l'API active. Maintenant Qt a Phonon et QtMultimidia modules qui probablement pourraient lire le fichier directement, mais pour l'utiliser, il semble que vous deviez créer un puits vidéo qui implémente le streaming. Devrait être possible, en créant un plugin phonon, peut-être en utilisant live. Malheureusement, vous ne pouvez accéder à un QVideoFrame à partir d'une source Phonon en utilisant l'API actuelle (4.8.0) pour autant que je sache. Donc soit utiliser d'autres libs comme je l'ai fait dans le passé ou créer un nouveau plugin phonon me semble être le seul moyen de l'accomplir.

Espérons que cela peut vous mettre dans la bonne direction.

Questions connexes