Donc, pour ajouter à ce @szatmary says, le cas typique d'utilisation pour les modifications des paramètres de flux est le streaming adaptatif:
- Imaginez que vous regardez des vidéos YouTube sur un ordinateur portable avec différentes méthodes de connectivité Internet, et la bande passante soudainement diminue . Votre flux passera automatiquement à une bande passante inférieure. FFmpeg (qui est utilisé par Chrome) doit prendre en charge cela. Alternativement, imaginez un scénario similaire dans une conversation vidéo rtc.
La raison pour laquelle FFmpeg fait ce qu'il fait, c'est parce que l'API essaie essentiellement de s'adapter au dénominateur commun. Les vidéos prises sur un téléphone ne changeront jamais de résolution. La plupart des vidéos ne seront pas non plus exportées depuis un logiciel de montage vidéo. Même les vidéos de youtube-dl ne changeront généralement pas de résolution, c'est une décision côté client, et youtube-dl ne le fera tout simplement pas. Alors, que devrais-tu faire? J'utiliserais simplement les informations de flux de la première image (s) et redimensionner toutes les images suivantes à cette résolution. Cela fonctionnera pour 99,99% pour les cas. Si vous voulez adapter votre service à ce 0,01% restant dépend du type de vidéos que vous pensez que les utilisateurs vont télécharger et si les changements de résolution ont un sens dans ce contexte.
Est-ce que l'espace colorimétrique change? Ils pourraient (théoriquement) dans un logiciel qui mélange l'enregistrement d'écran avec des fragments vidéo, mais c'est très improbable (en pratique). Le format de l'échantillon change aussi souvent que la résolution de la vidéo: assez souvent dans le scénario adaptatif, mais que cela dépende de votre service et des types de vidéos que vous attendez.
Ne posez pas de questions étiquetées [tag: c] ou [tag: C++] sans faire référence au code dont vous disposez. Merci. –
Merci pour l'avis. – kacey