Je suis en train d'enregistrer un flux MJPEG d'une webcam logitech C920 à plusieurs fichiers vidéo (Matroska).flux webcam Enregistrement jpeg à plusieurs fichiers avec GStreamer
J'ai ce pipeline: (1 fichier mkv chaque 60s)
gst-launch-1.0 -ev v4l2src device=/dev/video0 \
! image/jpeg,width=1280,height=720,framerate=24/1 \
! matroskamux ! multifilesink next-file=max-duration max-file-duration=60000000000 location='test1-%02d.mkv'
Il génère plusieurs fichiers, comme prévu, mais les fichiers contiennent des erreurs, donc des outils tels que Avidemux ne peuvent pas les lire. mkvalidator rapporte ces:
WRN080: Unknown element [FF] at 293 size 88
WRN080: Unknown element [FF] at 494 size 64
WRN080: Unknown element [7D][01] at 566 size w98603107602
WRN801: The segment has no SeekHead section
WRN0B8: Track #1 is defined but has no frame
BTW, l'enregistrement dans un fichier unique à l'aide filesink produit un fichier mkv sans erreurs.
Est-il possible d'enregistrer plusieurs fichiers mkv correctement? Tout autre conteneur est également OK, mais je ne peux pas transcoder (besoin d'une charge CPU faible) et je ne peux pas utiliser raw (besoin de HD avec des fps élevés).
J'utilise GStreamer 1.8.2 sur Ubuntu 16.04.1.
Merci.
Mise à jour: En suivant les conseils ci-dessous, j'ai essayé avec splitmuxsink:
gst-launch-1.0 -e v4l2src device=/dev/video1 \
! image/jpeg,width=1280,height=720,framerate=24/1 \
! splitmuxsink muxer=matroskamux location='test1-%02d.mkv' \
max-size-time=10000000000
Mais il ne fonctionne pas: Le fichier est divisé et ne cesse de croître en taille.
est-ce pas 'x264enc key-int-max = 10' réencodage? Je ne peux pas faire ça. En outre, je veux enregistrer la vidéo originale MJPEG en utilisant un conteneur Matroska/MP4, pas h.264. –
Ah, vous pouvez supprimer x264enc si vous voulez juste mettre votre flux mjpeg dans le conteneur Matroska. Je viens de mettre ça pour ma webcam, qui n'ont pas de capacité mjpeg. –
Désolé pour la réponse tardive. J'ai essayé sans l'élément 'x264enc', mais ça ne marche pas. Je vais mettre à jour la question avec le problème. –