Le Raspberry Pi effectuera un encodage h264 accéléré par le matériel lors de l'enregistrement vidéo à partir de la carte de la caméra. Comment puis-je encoder le h264 (en utilisant l'accélération matérielle) lorsque les images source ne proviennent pas directement de la caméra?
Existe-t-il des outils de ligne de commande qui prennent en charge cela?
Si non, quelles API dois-je envisager pour rendre cela possible?
raspiyuv -o - | rpi-encode-yuv
(à peu près) où l'rpi-encode-yuv
outil est d' ici . La taille du cadre est codée en dur dans cet outil, vous devez donc la modifier au début du fichier C et recompiler. Malheureusement, je n'ai pas encore réussi à obtenir une sortie correctement alignée, carraspiyuv
il ne semble pas encoder la taille du cadre dans sa sortie. J'obtiens une image changeant progressivement qui finit par se transformer en ordures. Travaille toujours dessus.Réponses:
GStreamer est inclus dans Raspbian et avec son plugin OpenMAX, il utilisera les capacités d'encodage matériel du Raspberry Pi.
Voir ce lien pour un tutoriel sur la façon de faire ce que vous cherchez: https://www.raspberrypi.org/forums/viewtopic.php?t=72435
Si vous êtes intéressé par le transcodage, je viens de publier une réponse à une autre question qui pourrait vous intéresser: à quelle vitesse puis-je m'attendre de l'encodage matériel H264?
la source
On dirait qu'en compilant ffmpeg par vous-même, sur RPi3B + vous pouvez obtenir
Le script pour aider à réaliser tout cela est dans un fil de discussion .
la source