[Asterisk-video] record, mp4 ?

ewrtge sdrg 82817.3 at gmail.com
Thu Feb 5 03:25:58 CST 2009


could someone possibly help me with following:
- record video, if video called ( not necessary in mp4 format )
- record voice, if voice called

app_mp4 is the way to do this ? unfortunately i just can't get it to work.
i'm trying to use it in asterisk 1.4, should i be using 1.6 ?
if i try to call from gsm "video call" i receive error in connection,
if i make "voice call", call is made but nothing is played, recorded.
CentOS 4.7.
below is my configuration, some output.

# my iptables
# i believe these ports might be required for asterisk
  $ipt -A INPUT -p udp -m udp --dport 1720 -j ACCEPT
  $ipt -A INPUT -p udp -m udp --dport 5060 -j ACCEPT
  $ipt -A INPUT -p udp -m udp --dport 4569 -j ACCEPT
  $ipt -A INPUT -p udp -m udp --dport 5036 -j ACCEPT
  $ipt -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT
  $ipt -A INPUT -p udp -m udp --dport 2727 -j ACCEPT
  $ipt -A INPUT -p udp -m udp --dport 5000:5099 -j ACCEPT


#	ldd /usr/lib/asterisk/modules/app_mp4.so
        libmp4.so.0 => /usr/local/lib/libmp4.so.0 (0x00565000)
        libmp4v2.so.0 => /usr/local/lib/libmp4v2.so.0 (0x008e4000)
        libc.so.6 => /lib/tls/libc.so.6 (0x00d9a000)
        libdl.so.2 => /lib/libdl.so.2 (0x0028f000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00ca5000)
        libm.so.6 => /lib/tls/libm.so.6 (0x00111000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x007ff000)
        /lib/ld-linux.so.2 (0x00638000)


# asterisk -cvvvvv gives following:
   http://111222333.uuuq.com/

# my sip.conf  lines starting with ; removed
    [general]
    context=c1234
    insecure=port,invite
    allowguest=yes
    allowoverlap=no
    bindport=5060
    bindaddr=0.0.0.0
    srvlookup=yes
    maxexpiry=3600
    defaultexpiry=600
    disable=all
    allow=ulaw
    allow=alaw
    allow=h263
    allow=h263p
    allow=h261
    allow=h264
    trustrpid = yes
    sendrpid = yes
    videosupport=yes
    register => number:password at host.com/1234
    canreinvite=no
    [authentication]
    rfc2833compensate=yes

mp4play(demo4.mp4)
*CLI> MP4ERROR: FindTrackId: Track index doesn't exist - track 3 type hint
MP4ERROR: MP4Array::[]: index 2 of 2: Numerical result out of range

mp4play(linux.3gp)
[ long series of warnings[13381] as below ]
[Feb  4 13:50:28] WARNING[13381]: chan_sip.c:3751 sip_write: Asked to
transmit frame type 8192, while native formats is 0x4 (ulaw)(4)
read/write = 0x4 (ulaw)(4)/0x4 (ulaw)(4)
[Feb  4 13:50:29] WARNING[13381]: chan_sip.c:3751 sip_write: Asked to
transmit frame type 8192, while native formats is 0x4 (ulaw)(4)
read/write = 0x4 (ulaw)(4)/0x4 (ulaw)(4)
[Feb  4 13:50:29] WARNING[13381]: chan_sip.c:3751 sip_write: Asked to
transmit frame type 8192, while native formats is 0x4 (ulaw)(4)
read/write = 0x4 (ulaw)(4)/0x4 (ulaw)(4)
[Feb  4 13:50:29] WARNING[13381]: chan_sip.c:3751 sip_write: Asked to
transmit frame type 8192, while native formats is 0x4 (ulaw)(4)
read/write = 0x4 (ulaw)(4)/0x4 (ulaw)(4)
MP4ERROR: MP4Array::[]: index 48 of 48: Numerical result out of range
[Feb  4 13:50:29] WARNING[13381]: chan_sip.c:3751 sip_write: Asked to
transmit frame type 8192, while native formats is 0x4 (ulaw)(4)
read/write = 0x4 (ulaw)(4)/0x4 (ulaw)(4)
MP4ERROR: MP4Array::[]: index 48 of 48: Numerical result out of range
MP4ERROR: MP4Array::[]: index 48 of 48: Numerical result out of range
MP4ERROR: MP4Array::[]: index 48 of 48: Numerical result out of range



mp4save(/tmp/save.mp4)
*CLI> Write: type ftyp
Write:  majorBrand = mp42
Write:  minorVersion = 0 (0x00000000)
Write: Write: finished ftyp
end: type ftyp 0 24 size 24
end: type mdat 24 32 size 8
Write: type moov
Write: type mvhd
Write:  version = 0 (0x00)
Write:  flags = 0 (0x000000)
Write:  creationTime = 3316596730 (0xc5af3ffa)
Write:  modificationTime = 3316596744 (0xc5af4008)
Write:  timeScale = 1000 (0x000003e8)
Write:  duration = 0 (0x00000000)
Write:  rate = 1.000000
Write:  volume = 1.000000
Write:  reserved1 = <70 bytes>
 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 40 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00
Write:  nextTrackId = 1 (0x00000001)
Write: finished mvhd
end: type mvhd 40 148 size 108
Write: type iods
Write:  version = 0 (0x00)
Write:  flags = 0 (0x000000)
Write:  objectDescriptorId = 1 (0x001) <10 bits>
 URLFlag = 0 (0x0) <1 bits>
 includeInlineProfileLevelFlag = 0 (0x0) <1 bits>
 reserved = 15 (0xf) <4 bits>
 ODProfileLevelId = 255 (0xff)
 sceneProfileLevelId = 255 (0xff)
 audioProfileLevelId = 255 (0xff)
 visualProfileLevelId = 255 (0xff)
 graphicsProfileLevelId = 255 (0xff)
 esIds
 ociDescr
 ipmpDescrPtr
 extDescr
Write: finished iods
end: type iods 148 172 size 24
Write: finished moov
end: type moov 32 172 size 140
<mp4save

ls -o /tmp/save.mp4
   172 Feb  4 13:52 /tmp/save.mp4
   it's always just 172 bytes



More information about the asterisk-video mailing list