[FFmpeg-trac] #6678(undetermined:new): AMR multicast receive: "Operation not permitted"

FFmpeg trac at avcodec.org
Thu Sep 21 11:55:58 EEST 2017


#6678: AMR multicast receive: "Operation not permitted"
-------------------------------------+-------------------------------------
             Reporter:  simonb       |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:
  undetermined                       |  unspecified
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Summary of the bug: AMR over UDP works between 127.0.0.1 TX and 0.0.0.0 RX
 as expected but fails over a multicast address

 How to reproduce:
 1) Create a test transmitter:
 {{{

 % ffmpeg -re -f lavfi -i "sine=frequency=432:sample_rate=16000" -c:a
 libvo_amrwbenc -b:a 14250 -f amr udp://@239.200.10.0:1234

 }}}
 2) Create a test receiver probe:
 {{{

 % ffprobe -v 9 -loglevel 99 -f amr udp://@239.200.10.0:1234

 }}}

 Expected result:
 {{{
 ...
 Input #0, amr, from 'udp://0.0.0.0:1234':
   Duration: N/A, bitrate: 14 kb/s
     Stream #0:0, 50, 1/16000: Audio: amr_wb (sawb / 0x62776173), 16000 Hz,
 mono, flt
 }}}

 Actual result:
 {{{
 ffprobe version N-87327-g18821e3ba1-static
 http://johnvansickle.com/ffmpeg/  Copyright (c) 2007-2017 the FFmpeg
 developers
   built with gcc 6.4.0 (Debian 6.4.0-5) 20170906
   configuration: --enable-gpl --enable-version3 --enable-static --disable-
 debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio
 --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-
 gray --enable-libfribidi --enable-libass --enable-libvmaf --enable-
 libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-
 libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-
 librtmp --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-
 libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc
 --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265
 --enable-libxvid --enable-libzimg
   libavutil      55. 75.100 / 55. 75.100
   libavcodec     57.106.101 / 57.106.101
   libavformat    57. 82.100 / 57. 82.100
   libavdevice    57.  8.101 / 57.  8.101
   libavfilter     6.105.100 /  6.105.100
   libswscale      4.  7.103 /  4.  7.103
   libswresample   2.  8.100 /  2.  8.100
   libpostproc    54.  6.100 / 54.  6.100
 [amr @ 0x42411a0] Opening 'udp://239.200.10.0:1234' for reading
 [udp @ 0x4241a40] No default whitelist set
 [udp @ 0x4241a40] end receive buffer size reported is 131072
 [AVIOContext @ 0x4261e40] Statistics: 37 bytes read, 0 seeks
 udp://239.200.10.0:1234: Operation not permitted
 }}}


 For comparison, working example of non-multicast UDP
 1) Create the test transmitter
 {{

 % ffmpeg -re -f lavfi -i "sine=frequency=432:sample_rate=16000" -c:a
 libvo_amrwbenc -b:a 14250 -f amr udp://127.0.0.1:1234

 }}}
 2) Create a test receiver probe:
 {{{

 % ffprobe -v 9 -loglevel 99 -f amr udp://0.0.0.0:1234

 }}}
 Working example result:
 {{{
 ffprobe version N-87327-g18821e3ba1-static
 http://johnvansickle.com/ffmpeg/  Copyright (c) 2007-2017 the FFmpeg
 developers
   built with gcc 6.4.0 (Debian 6.4.0-5) 20170906
   configuration: --enable-gpl --enable-version3 --enable-static --disable-
 debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio
 --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-
 gray --enable-libfribidi --enable-libass --enable-libvmaf --enable-
 libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-
 libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-
 librtmp --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-
 libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc
 --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265
 --enable-libxvid --enable-libzimg
   libavutil      55. 75.100 / 55. 75.100
   libavcodec     57.106.101 / 57.106.101
   libavformat    57. 82.100 / 57. 82.100
   libavdevice    57.  8.101 / 57.  8.101
   libavfilter     6.105.100 /  6.105.100
   libswscale      4.  7.103 /  4.  7.103
   libswresample   2.  8.100 /  2.  8.100
   libpostproc    54.  6.100 / 54.  6.100
 [amr @ 0x4b041a0] Opening 'udp://0.0.0.0:1234' for reading
 [udp @ 0x4b04a40] No default whitelist set
 [udp @ 0x4b04a40] end receive buffer size reported is 131072
 [amr @ 0x4b041a0] Before avformat_find_stream_info() pos: 9 bytes read:46
 seeks:0 nb_streams:1
 [amr @ 0x4b041a0] All info found
 [amr @ 0x4b041a0] stream 0: start_time: -576460752303423.500 duration:
 -576460752303423.500
 [amr @ 0x4b041a0] format: start_time: -9223372036854.775 duration:
 -9223372036854.775 bitrate=14 kb/s
 [amr @ 0x4b041a0] After avformat_find_stream_info() pos: 1859 bytes
 read:1859 seeks:0 frames:50
 Input #0, amr, from 'udp://0.0.0.0:1234':
   Duration: N/A, bitrate: 14 kb/s
     Stream #0:0, 50, 1/16000: Audio: amr_wb (sawb / 0x62776173), 16000 Hz,
 mono, flt
 [AVIOContext @ 0x4b24e40] Statistics: 1859 bytes read, 0 seeks
 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/6678>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list