Je veux avoir une méthode à la fin qui peut définir VP9 ou H.264 comme codec vidéo préféré dans un SDP.Diviser SDP (chaîne de caractères) pour que m ligne change de codecs vidéo
Je suis à la recherche de la ligne m dans mon SDP:
m=video 9 UDP/TLS/RTP/SAVPF 96 98 100 102 127 97 99 101 125
journal de la console de mon SDP:
Dans ce cas, j'obtenir et utiliser VP8 (96) en tant que codec vidéo au lieu de VP9 (98). Donc, je veux vérifier si 98/VP9 est possible/disponible et que je veux le définir au début/première position pour l'utiliser réellement.
Ce que je me suis tellement loin:
if(sdpOrigin == 'local') {
let lines = sdp.split('\n').map(l => l.trim());
lines.forEach(function(line) {
if (line.indexOf('m=video') === 0) {
let parts = line.substr(28); // Should be avoided!
let vp9_order = parts.indexOf("98");
let array = parts.split(/\s+/);
console.log("array", array); // 96 98 100 102 127 97 99 101 125
if (vp9_order > 0) {
array.splice(vp9_order, 1);
array.unshift("98");
}
console.log("array-new", array); // 98 96 100 102 127 97 99 101 125
// How do I update my SDP now with the new codec order?
}
})
}
Cette approche est mauvaise à mon avis, parce que je reçois ma ligne désirée m mais je fais une sous-chaîne fixe à la position « 28 », il se brisera si quelque chose avant les changements.
A la fin je devrais avoir le suivant "ligne m" dans mon SDP:
m=video 9 UDP/TLS/RTP/SAVPF 98 96 100 102 127 97 99 101 125
quelqu'un peut me aider?
Pouvez-vous s'il vous plaît faire savoir ce que le la règle est? Si une ligne commence par 'm = video' et contient' 98' avec des espaces? –
La ligne doit commencer par "m = video" - il n'y a qu'une ligne comme celle-ci dans le sdp. Donc je veux vérifier si "98" est disponible dans ma chaîne. Si c'est disponible, je veux vérifier si c'est en premier lieu, si ce n'est pas le cas, je veux le faire (permuter les lieux). – mrks