J'ai un pipeline GStreamer que les flux en utilisant:Enregistrer flux codé H264 sans réencodage
v4l2src ! x264enc ! rtph264pay pt=96 ! udpsink host=ip port=8554
Et ce pipeline qui reçoit ce flux:
/ queue ! avdec_h264 ! appsink
udpsrc ! capsfilter ! rtpjitterbuffer ! rtph264depay ! tee !
\ queue ! h264parse ! mp4mux ! filesink
pipeline récepteur simplifié sans le tee est la suivante:
gst-launch-1.0 udpsrc port=8080 caps="lots-of-caps" ! rtpjitterbuffer ! rtph264depay ! h264parse ! mp4mux ! filesink location=/home/rish/Desktop/recorded.264 -e
question: Est-il possible de sauver la str codée H264 eam reçu de udpsrc sans avoir à le ré-encoder? Comment puis-je fermer correctement le fichier? Ce que j'ai essayé jusqu'ici: La discussion du fil this suggère le pipeline que j'ai essayé ci-dessus mais le fichier est toujours corrompu. (pas correctement fermé).
This question pose une question similaire. Cependant, je ne veux pas décoder et ré-encoder. Une autre réponse dans le thread suggère d'utiliser l'élément matroskamux au lieu de mp4mux. Cela fonctionne, mais je préfère utiliser mp4mux (pas de raison particulière, mais j'aimerais savoir pourquoi matroskamux fonctionne et mp4mux ne fonctionne pas).
Je vous recommande de regarder 'élément splitmuxsink'. – RSATom