[Freeswitch-dev] Freeswitch chooses the first codec and ignores the rest

Sam Russell sam.h.russell at gmail.com
Mon Sep 23 12:05:18 MSD 2013


I'd be keen for that. I'm not a software engineer, but I've managed to get
libavcodec transcoding VP8-H264 from file to file (
https://github.com/samrussell/vodec) - I'd just need to get my head around
how freeswitch is built.


On Sat, Sep 21, 2013 at 6:58 AM, Anthony Minessale <
anthony.minessale at gmail.com> wrote:

> Yes Seven Du and I are discussing this project right now.
> Video codecs will require some more core functionality to perform the
> actual transcoding etc but yes we are interested in this.
> Maybe we can setup a discussion.
>
>
>
> On Thu, Sep 19, 2013 at 9:24 PM, Sam Russell <sam.h.russell at gmail.com>wrote:
>
>> Thanks for this Anthony - I'm still on the stable branch which doesn't
>> seem to support this, but I'll get it upgraded to HEAD and test this & your
>> new patch too.
>>
>> On the topic of codecs, has there been much thought given to video
>> transcoding? I've seen references to a "mod_ffmpeg" floating around, and
>> I've done a bit of transcoding work with libavcodec myself - it seems
>> doable, and the little bit that I've looked at the freeswitch codec
>> examples looks really extensible. If I were to write codecs for H264 and
>> VP8 (and maybe H263+ too), would they be something that you'd try to
>> incorporate into the main project, or would it be better to have as a
>> third-party mod due to the extra hassle of having to build with
>> libav(codec|format|util)?
>>
>>
>> On Fri, Sep 20, 2013 at 9:18 AM, Anthony Minessale <
>> anthony.minessale at gmail.com> wrote:
>>
>>> I'd say its relatively hard.  Easier in master which is the only place
>>> it would be possible to do but it requires some heavy mods to the media
>>> engine and the rtp stack to track all the payloads and switch between them.
>>>
>>> I do think there is another workaround if you set this profile param:
>>>
>>> rtp-autofix-pt=true
>>>
>>>
>>> That will detect when its not the one FS thinks and it will reinit the
>>> codec.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Thu, Sep 19, 2013 at 4:10 PM, Sam Russell <sam.h.russell at gmail.com>wrote:
>>>
>>>> Thanks for the quick reply Anthony.
>>>>
>>>> Do you think this is a hard/easy thing to implement? I'm keen to
>>>> contribute a bit to freeswitch, and this is functionality that I'd like to
>>>> write some code for, and I can do what I like with our office PBX so I can
>>>> test it here too.
>>>>
>>>>
>>>> On Fri, Sep 20, 2013 at 8:56 AM, Anthony Minessale <
>>>> anthony.minessale at gmail.com> wrote:
>>>>
>>>>> We currently only support one codec in 200OK  The workaround for this
>>>>> is to only offer it PCMU so it has no choice.
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Sep 19, 2013 at 2:52 PM, Sam Russell <sam.h.russell at gmail.com>wrote:
>>>>>
>>>>>> I've had a couple of calls recently that have been a little weird -
>>>>>> here's the scenario:
>>>>>>
>>>>>> A (local freeswitch) sends invite with PCMU, PCMA as codecs
>>>>>>
>>>>>> B (foreign) sends 200 OK with PCMA, PCMU as codecs
>>>>>>
>>>>>> Freeswitch sees the response and sets audio codec to PCMA, but other
>>>>>> end sends us PCMU (as it was our first choice in this case - sometimes
>>>>>> they choose a random one that both of us support).
>>>>>>
>>>>>> RTP is fine with this - each packet refers to the # of the codec
>>>>>> (either standard or a reference to an rtpmap from the SDP), but
>>>>>> freeswitch doesn't like it - it forwards the PCMA from my soft phone,
>>>>>> but the PCMU coming in from the foreign phone gets dropped by
>>>>>> freeswitch and doesn't get forwarded onto my soft phone (packet trace
>>>>>> shows freeswitch being the black hole).
>>>>>>
>>>>>> Debug output shows freeswitch setting the audio codec, and I suspect
>>>>>> this means it then only accepts RTP with that codec, instead of
>>>>>> handling all codecs that it offered in its invite.
>>>>>>
>>>>>> Is this expected behaviour? I went trawling through RFCs yesterday and
>>>>>> nothing jumped out at me, and I'm seeing this on a couple of call
>>>>>> managers - also sometimes the other end will send H263+ even though
>>>>>> both ends offered H264 as preferred, and freeswitch drops this in the
>>>>>> same manner. I think freeswitch should be handling all codecs that it
>>>>>> offers, especially for video when it only does pass through, so
>>>>>> spinning up instances of extra "codecs" shouldn't create much
>>>>>> overhead.
>>>>>>
>>>>>> Sent from my iPhone
>>>>>>
>>>>>>
>>>>>> _________________________________________________________________________
>>>>>> Professional FreeSWITCH Consulting Services:
>>>>>> consulting at freeswitch.org
>>>>>> http://www.freeswitchsolutions.com
>>>>>>
>>>>>> 
>>>>>> 
>>>>>>
>>>>>> Official FreeSWITCH Sites
>>>>>> http://www.freeswitch.org
>>>>>> http://wiki.freeswitch.org
>>>>>> http://www.cluecon.com
>>>>>>
>>>>>> FreeSWITCH-dev mailing list
>>>>>> FreeSWITCH-dev at lists.freeswitch.org
>>>>>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
>>>>>> UNSUBSCRIBE:
>>>>>> http://lists.freeswitch.org/mailman/options/freeswitch-dev
>>>>>> http://www.freeswitch.org
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Anthony Minessale II
>>>>>
>>>>> FreeSWITCH http://www.freeswitch.org/
>>>>> ClueCon http://www.cluecon.com/
>>>>> Twitter: http://twitter.com/FreeSWITCH_wire
>>>>>
>>>>> AIM: anthm
>>>>> MSN:anthony_minessale at hotmail.com
>>>>> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
>>>>> IRC: irc.freenode.net #freeswitch
>>>>>
>>>>> FreeSWITCH Developer Conference
>>>>> sip:888 at conference.freeswitch.org
>>>>> googletalk:conf+888 at conference.freeswitch.org
>>>>> pstn:+19193869900
>>>>>
>>>>>
>>>>> _________________________________________________________________________
>>>>> Professional FreeSWITCH Consulting Services:
>>>>> consulting at freeswitch.org
>>>>> http://www.freeswitchsolutions.com
>>>>>
>>>>> 
>>>>> 
>>>>>
>>>>> Official FreeSWITCH Sites
>>>>> http://www.freeswitch.org
>>>>> http://wiki.freeswitch.org
>>>>> http://www.cluecon.com
>>>>>
>>>>> FreeSWITCH-dev mailing list
>>>>> FreeSWITCH-dev at lists.freeswitch.org
>>>>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
>>>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
>>>>> http://www.freeswitch.org
>>>>>
>>>>>
>>>>
>>>>
>>>> _________________________________________________________________________
>>>> Professional FreeSWITCH Consulting Services:
>>>> consulting at freeswitch.org
>>>> http://www.freeswitchsolutions.com
>>>>
>>>> 
>>>> 
>>>>
>>>> Official FreeSWITCH Sites
>>>> http://www.freeswitch.org
>>>> http://wiki.freeswitch.org
>>>> http://www.cluecon.com
>>>>
>>>> FreeSWITCH-dev mailing list
>>>> FreeSWITCH-dev at lists.freeswitch.org
>>>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
>>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
>>>> http://www.freeswitch.org
>>>>
>>>>
>>>
>>>
>>> --
>>> Anthony Minessale II
>>>
>>> FreeSWITCH http://www.freeswitch.org/
>>> ClueCon http://www.cluecon.com/
>>> Twitter: http://twitter.com/FreeSWITCH_wire
>>>
>>> AIM: anthm
>>> MSN:anthony_minessale at hotmail.com
>>> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
>>> IRC: irc.freenode.net #freeswitch
>>>
>>> FreeSWITCH Developer Conference
>>> sip:888 at conference.freeswitch.org
>>> googletalk:conf+888 at conference.freeswitch.org
>>> pstn:+19193869900
>>>
>>> _________________________________________________________________________
>>> Professional FreeSWITCH Consulting Services:
>>> consulting at freeswitch.org
>>> http://www.freeswitchsolutions.com
>>>
>>> 
>>> 
>>>
>>> Official FreeSWITCH Sites
>>> http://www.freeswitch.org
>>> http://wiki.freeswitch.org
>>> http://www.cluecon.com
>>>
>>> FreeSWITCH-dev mailing list
>>> FreeSWITCH-dev at lists.freeswitch.org
>>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
>>> http://www.freeswitch.org
>>>
>>>
>>
>> _________________________________________________________________________
>> Professional FreeSWITCH Consulting Services:
>> consulting at freeswitch.org
>> http://www.freeswitchsolutions.com
>>
>> 
>> 
>>
>> Official FreeSWITCH Sites
>> http://www.freeswitch.org
>> http://wiki.freeswitch.org
>> http://www.cluecon.com
>>
>> FreeSWITCH-dev mailing list
>> FreeSWITCH-dev at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
>> http://www.freeswitch.org
>>
>>
>
>
> --
> Anthony Minessale II
>
> FreeSWITCH http://www.freeswitch.org/
> ClueCon http://www.cluecon.com/
> Twitter: http://twitter.com/FreeSWITCH_wire
>
> AIM: anthm
> MSN:anthony_minessale at hotmail.com
> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
> IRC: irc.freenode.net #freeswitch
>
> FreeSWITCH Developer Conference
> sip:888 at conference.freeswitch.org
> googletalk:conf+888 at conference.freeswitch.org
> pstn:+19193869900
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> 
> 
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://wiki.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-dev mailing list
> FreeSWITCH-dev at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
> http://www.freeswitch.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20130923/74f20ed1/attachment-0001.html 


Join us at ClueCon 2013 Aug 6-8, 2013
More information about the FreeSWITCH-dev mailing list