2010-10-26 47 views
0

Depuis un certain temps, j'utilise le codec gsm pour le chat audio en réseau. Maintenant, je voudrais mettre en œuvre smth comme speex ou iLBC en raison de "prédiction de la voix". Autant que je comprends, j'ai besoin d'horodatages pour les paquets. Aussi je sais que pour faire du codec pour prédire la voix je dois lui passer le paquet NULL par exemple.Prédire les paquets vocaux (speex/ilbc C++)

Mais je ne comprends pas tout le concept! I.e .: App envoie des paquets 1,2,3,4,5,6. Je reçois 1,2,3,6. Que dois-je faire?

Recevoir 1 - Jouer.

Recevoir 2 - Jouer.

Recevoir 3 - Jouer.

Recevoir 6 - Hmm ... Jouer 4,5 comme NULL, puis jouer 6?

Et si trop de paquets seraient perdus?

+1

Je pense que le bon terme pour ce que vous essayez de faire est " dissimulation de perte de paquets ". Peut-être que cela vous aidera à effectuer une meilleure recherche sur Internet. Ce n'est pas mon domaine d'expertise, mais une approche simple serait de se souvenir du dernier paquet et de le jeter juste après qu'il a été décodé. Si les tampons audio sont presque vides et que vous avez besoin de données pour maintenir le flux audio en vie, essayez de "créer quelque chose". – sellibitze

+0

Merci pour la réponse! Je vais continuer à "googler" avec la dissimulation de perte de paquets. Mais comme pour les tampons audio vides - j'ai besoin de déterminer d'une manière ou d'une autre s'ils sont vides à cause de la perte de paquets ou simplement de NO DATA à jouer. Je ne devrais pas prédire si l'adversaire ne transmet aucune voix ... – Dalamber

Répondre

1

Le commentaire par sellibitze m'a aidé:

Je pense que le bon terme pour ce que vous êtes essayez de faire est « la perte de paquets dissimulation ». Peut-être que cela vous aidera effectuer une meilleure recherche sur Internet. Ce n'est pas mon domaine d'expertise, mais une approche simple serait de se rappeler le plus nouveau paquet et de le jeter à après qu'il a été décodé. Si les tampons audio sont presque vide et vous avez besoin données pour maintenir le flux audio en vie, puis juste essayer de « faire quelque chose »