Qui est le meilleur compatible SIP type de codec pour Android
Je veux développer une Application Android qui vous utilisez un Serveur SIP de mon client. Mon client est d'exposer quelques API REST à partir du serveur SIP pour communiquer avec les applications.
Je veux savoir ce qui serait le meilleur type de codec pour cette application?
Fondamentalement, je veux créer un SIP-Pile et envoyer le Paquets SIP vers le Serveur. Donc, il devrait y avoir un codage et de décodage pour le système de paquets. Mon client préfère 16 ko/s mais je ne suis pas sûr que dois-je utiliser.
Je suis totalement nouveau dans la VOIP zone. Dans les détails, mon client a une API qui est basé sur le REPOS. Ma tâche est de créer une application qui permettent à l'utilisateur d'appeler en WiFi ou via le Réseau Cellulaire et le Serveur SIP de mon client. Donc, mon client a voulu savoir le type de codec, je vais utiliser (dont je ne suis pas sûr). J'ai également récupérer les données de l'utilisateur à l'aide de l'API je l'ai mentionné plus tôt. Merci de me suggérer de la méthode de travail que je dois suivre.
OriginalL'auteur Foyzul Karim | 2011-03-31
Vous devez vous connecter pour publier un commentaire.
Comme d'autres l'ont dit, SIP ne pas transférer des données audio ou vidéo. Bien que, en théorie, vous pouvez envoyer des données sur tout type de transport, y compris l'ATM, des lignes analogiques, un DS0, etc, dans le monde réel, RTP est le plus commun. RTP (Real Time Protocol) et RTCP (Real Time Control Protocol) ou SRTP (Secure RTP) ont l'habitude de transporter l'audio et la vidéo.
Autant que les codecs aller, vous serez limité par ce que votre serveur prend en charge. Voici quelques codecs et de certains avantages et les inconvénients de chacun.
G. 711 - sans frais de qualité (c'est à dire une bonne comme une bonne ligne de téléphone analogique, ou même un peu mieux). "Universel" dans pratiquement toutes les appareil prend en charge les G. 711. Prend beaucoup de bande passante, il n'a pas vraiment de compresser les données (G. 711 est une "compression"). La ligne de base G. 711 est assez bare-bones (c'est vraiment un couple de tables). L'annexe I ajoute la dissimulation de perte de paquets (PLC) et à l'Annexe II ajoute la suppression du silence et de la génération de bruit de confort.
GSM - utilisé sur les téléphones portables, les sons ok, bon PLC, une bonne compression
G. 729A - largement utilisé, près de péage, de bonne qualité et de compression (8 kbps)
G. 723.1 - largement utilisé, presque aussi bon que G. 729, une meilleure compression (4-5Kbps)
G. 722 - sonne mieux que G. 711, à large bande (deux fois la bande passante audio G. 711 ou un appel analogique), même la bande passante utilisée sur la ligne G. 711
GIPS - divers implemnetations existe pas, on est libre. IIRC, utilise environ 13,5 Kbps sur la ligne, le son n'est pas aussi bon asG.723.1 (mais ce est la perception de métrique, YMMV) Prend beaucoup de processeur.
Tous les codecs utiliser certaines processeur et les autres ressources du système, comme une règle du pouce le plus agressif, le codec (le plus petit de la bande passante) le processeur utilisé. Aussi, tous ces codecs sont à perte codecs-ils perdre une partie des données. Cela signifie qu'il y a de la compression, pas que des parties de l'audio sont abandonnées en raison de la mauvaise routage et de la mauvaise qualité de la ligne. À l'instar d'une MP3 est considéré comme un codec avec PERTE tout en FLAC est considéré comme Lossless. Si vous êtes intéressé à la suite de l'article de wikipedia explique plus en détail: http://en.wikipedia.org/wiki/Lossy_compression
RTP est juste un protocole de transport. La perte de données peut être causée par de nombreux facteurs, y compris: la ligne générale de la perte, à cause du bruit etc; RED (Random Early Jeter) par l'intermédiaire du routeur; recevoir de débordement de la mémoire tampon (c'est à dire jitter buffer overflow); retard qui n'est pas constante (ce qui provoque un paquet de famine alors débordement de tampon), de virer les routeurs, etc.
<pris par la règle des 5 minutes!> veuillez l'ajouter au commentaire ci-dessus: la Dissimulation de Perte de Paquets (PLC) peut vous aider. Mais vous pouvez obtenir la perte de paquets sur toute la ligne, même si RTP n'est pas utilisé. BTW, SIP ne nécessite pas de RTP, ni ne les codecs besoin RTP, même si son rare de les voir l'un sans l'autre.
OriginalL'auteur Hank Karl
Vous avez besoin de savoir ce que les codecs et les protocoles de ce serveur SIP. Si vous contrôlez les deux extrémités et vouloir s'en tenir à 16Kbps, vous aurez envie iLBC (pas de royalties) ou G. 729 (redevances s'appliquent). G. 711 et (maintenant) G. 722 ont pas de redevances, soit, mais les deux utilisent ~64Kbps.
La liste donnée avant est bonne, avec quelques questions.:
GIPS n'est pas un codec iLBC et iSAC sont les codecs conçu par des GIPS. iLBC est gratuit et standardisée. iLBC est de haute qualité, 13 ou 15Kbps, et est très résistant à la perte de paquets par rapport à G. 729 ou encore G. 711. Vous pouvez avoir 30 ou même 50% de perte avec iLBC et encore comprise. Je ne suis pas sûr que je dirais qu'il utilise beaucoup de CPU par rapport à-dire de G. 729.
Bien, G. 711 n'est pas vraiment de perte de qualité par se (en théorie oui, mais c'est presque plus de la quantification au niveau de la perte). 64 KO G. 722 n'est pas très figé. G. 723 suce morts gerbilles à travers les tuyaux d'arrosage. 🙂
OriginalL'auteur jesup
Il sonne comme une mauvaise idée de le faire vous-même. Développement d'un client sip n'est pas une tâche facile car il existe plusieurs protocoles pour la mise en œuvre. Choisir le codage n'est pas une décision très importante par rapport au reste.
à mon humble avis vous devez utiliser l'un de l'open source sip disponibles (comme pjsip) ou créer votre application sur le dessus de l'open source sip client (comme sipdroid).
Mais puisque vous l'avez demandé codec: Utiliser le codec GSM. Sauvé de la bande passante et de sons, OK. G. 711 est contraire à la norme de codec que 99% de tous les serveurs sip soutien.
Prendre sipdroid, changement de l'interface graphique un peu et appelez votre propre application. (n'oubliez pas de garder leurs informations de copyright)
oh : il semble vraiment facile, mais il peut ne pas l'être 😛 ! vous avez raison sur le droit d'auteur infos, ils ont eu des problèmes en 2009 selon leur wiki. merci quand même !
OriginalL'auteur jgauffin
Tout?
SIP ne pas envoyer et gérer les paquets de données. SIP est le Protocole d'Initiation de Session et il se charge de la NÉGOCIATION DES SÉANCES.
Les sessions puis arae - en cas de auio et la vidéo sont basés sur le protocole RTP et l'utilisation RTSP pour la signalisation. Donc, votre question indique un RÉEL manque de connaissance de ce que vous devez faire - le réel uestion est: vous avez besoin d'un RTP codec compatible.
Qui est similaire insensée. RTP est juste un transporteur protocole. C'est comme demander "qu'est ce qu'un HTTP compatioble format d'image". HTTP ne se soucie pas. Le navigateur n'.
En cas de RTP, cela signifie - RTP ne se soucie pas. Il peut transporter des données. Ce qui est important est que les DEUX parties connaissent le même codec. Donc, dans votre cas, il signifie:
En réalité, oui 😉 Besoin de travailler sur mon tapant "précision".
OriginalL'auteur TomTom
Il y a deux choses que vous devez prendre en considération ici:
Une fois que vous avez trouvé les réponses aux deux questions ci-dessus, vous serez en mesure de sélectionner.
Pour les appareils mobiles, les codecs de voix habituellement utilisés sont AMR-NB ou AMR-WB. Pour SIP, il est généralement de G. 729 ou G. 722.x.
Vous avez également Speex, ISAC et de la SOIE à choisir.
Vous devrez probablement faire G. 711, en tout cas, juste pour s'interfacer avec les tout - bande passante sera plus élevé.
Pas facile de répondre ici. Si votre client peut choisir, ou état de ce que les autres appareils sont utilisés - il sera plus facile pour vous de choisir.
OriginalL'auteur Tsahi Levent-Levi