Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Lisez du contenu multimédia à partir de votre flux vidéo Kinesis
Ouvrez la console Kinesis Video Streams
Le flux vidéo qui est envoyé à partir de l'appareil Raspberry Pi apparaît dans la console.
Note
L'affichage de la vidéo sur la console peut prendre quelques secondes.
Une fois le stream lancé, vous pouvez tester les fonctionnalités suivantes sur la console :
-
Dans la section Video preview (Aperçu vidéo), utilisez les contrôles de navigation pour revenir en arrière et avancer rapidement dans le flux.
-
Dans la section Informations sur le flux, passez en revue le codec, la résolution et le débit du flux. Les valeurs de résolution et de débit sont définies de manière intentionnelle à un niveau bas sur le Raspberry Pi afin de minimiser l'utilisation de la bande passante pour ce didacticiel.
Pour consulter les CloudWatch statistiques Amazon en cours de création pour votre stream, sélectionnez Afficher les métriques du stream dans CloudWatch.
-
Sous Durée de conservation, notez que le flux vidéo est conservé une journée. Vous pouvez modifier cette valeur en spécifiant No data retention (Pas de rétention des données) ou une valeur pouvant aller d'une journée jusqu'à plusieurs années.
-
En ce qui concerne le Server-side chiffrement, notez que vos données sont cryptées au repos à l'aide d'une clé gérée par le AWS Key Management Service (AWS KMS).
Problèmes de lecture
Vous trouverez ci-dessous les problèmes de lecture les plus fréquemment rencontrés et la procédure à suivre pour les résoudre.
Aucun média, mais il y a des Acks PERSISTANTS dans les journaux
Si vous voyez PERSISTED Acks dans les journaux, cela signifie que Kinesis Video Streams a correctement ingéré et stocké le contenu multimédia mis en ligne par. kvssink Les acks reçus de Kinesis Video Streams ressemblent à ceci. Dans le JSON, examinez la valeur de la "EventType" clé.
{"EventType":"RECEIVED","FragmentTimecode":252200,"FragmentNumber":"12345678901234567890123456724587702494771079511"} {"EventType":"BUFFERING","FragmentTimecode":252467,"FragmentNumber":"12345678901234567890123456781729223736853277017"} {"EventType":"RECEIVED","FragmentTimecode":252467,"FragmentNumber":"12345678901234567890123456781729223736853277017"} {"EventType":"BUFFERING","FragmentTimecode":253000,"FragmentNumber":"12345678901234567890123456738870744847093249408"} {"EventType":"PERSISTED","FragmentTimecode":252200,"FragmentNumber":"12345678901234567890123456724587702494771079511"} {"EventType":"PERSISTED","FragmentTimecode":252467,"FragmentNumber":"1234567890123456789012345671729223736853277017"}
Résolution :
Patientez une minute ou deux dans la console Kinesis Video Streams, puis utilisez la double flèche droite. Si aucun média n'apparaît, vérifiez que votre flux est envoyé dans la bonne région et vérifiez l'orthographe du nom du flux. Vous trouverez ces informations dans les journaux.
Consultez Fournissez une région à kvssink pour plus d'informations sur la façon dont kvssink détermine la région à utiliser.
Le chargement du contenu multimédia dans le Console de gestion AWS
Important
Le contenu multimédia peut se charger lentement dans la console en raison d'une faible bande passante réseau ou d'un périphérique limité, mais cela peut également être lié à l'encodage et à la fragmentation de la vidéo.
Principes de base du codage vidéo :
-
H.264 et H.265 les encodeurs utilisent des images clés (I-Frames) et des images prédites () pour une compression efficace. P-Frames
-
Key-frames contiennent des données d'image complètes, tout en P-frames ne contenant que les modifications par rapport aux images précédentes.
-
L' « intervalle entre images clés » détermine la fréquence à laquelle les images-clés apparaissent dans le flux vidéo.
Fragmentation du streaming :
-
Dans Kinesis Video Streams, de nouveaux fragments commencent à chaque image-clé. Pour de plus amples informations, veuillez consulter Modèle de données Kinesis Video Streams.
-
La longueur du fragment (en secondes) peut être estimée comme suit : intervalle d'image-clé ÷ fréquence d'images
Exemple :
Pour un flux avec un intervalle d'images clé de 30 et une fréquence d'images de 15 images par seconde :
Longueur du fragment = 30 ÷ 15 = 2 secondes
En raison de l'allongement des intervalles entre les images clés, les fragments plus longs augmentent la latence dans le streaming multimédia.
Résolution :
Pour améliorer les temps de chargement, pensez à réduire l'intervalle entre les images clés. Cela créera des fragments plus courts, diminuant ainsi la latence, mais augmentera également la taille du fichier vidéo.
Pour l'élément x264enc GStreamer, vous pouvez définir explicitement l'intervalle entre les images clés via la propriété : key-int-max
x264enc bframes=0 key-int-max=60
Lorsque vous consultez la sortie du journal, notez la fréquence à laquelle le client de téléchargement reçoit des ACK de Kinesis Video Streams. Plus le nombre d'images-clés générées est élevé, plus le nombre d'ACK renvoyés est élevé.
Le support est déformé ou présente des artefacts
Pour résoudre ce problème, assurez-vous que tous les câbles sont bien connectés. Vérifiez la sortie des modules de caméra libcamera-hello (ou raspistill pour les anciennes caméras Pi).
Dans votre pipeline GStreamer, remplacez kvssink par autovideosink ou matroskamux et. filesink Par exemple :
... x264enc tune=zerolatency speed-preset=ultrafast bframes=0 key-int-max=60 byte-stream=true ! h264parse ! matroskamux ! filesink location=output.mkv
Vérifiez le fichier de sortie filesink ou le lecteur multimédia qui s'ouvre lors de l'utilisation autovideosink pour vérifier si les artefacts sont également présents.
Passez également en revue le résultat du pipeline suivant :
gst-launch-1.0 autovideosrc ! videoconvert ! autovideosink
L'ajout d'éléments à votre pipeline, comme Dewarp
Vérifiez les codecs de sortie pris en charge par votre appareil photo et ajustez les éléments selon vos besoins.
Par exemple, si votre caméra USB ne prend en charge que la sortie JPEG, vous devrez utiliser les jpegdec éléments jpegparse et pour transformer le support avant de l'encoder pour H.264 l'utiliserx264enc. Recherchez de l'aide sur les forums GStreamer pour les autres utilisateurs utilisant des pipelines et des configurations de and/or webcams similaires.