[FFmpeg-user] rtp source stopped working upgrading ffmpeg from 3.0.0 to 3.1.1

Mark Hassman mark at hassman.org
Thu Jul 7 03:20:16 CEST 2016


Hi,

I'm hoping someone can shed light on an issue I'm experiencing after
upgrading ffmpeg from 3.0.0 to 3.1.1:  Reading source input from rtp no
longer works. tcp dump shows the data stream arriving (no changes other than
upgrading ffmpeg), but ffmpeg is treating the input as if it's null. I've
reproduced the same issue (post-ffmpeg upgrade) on two servers - identical
symptoms.

Checking release notes for v3.1.0, there's mention of: "protocol
blacklisting API". Looking through the diff for that change, looks like an
extension of the newer parameter -protocol_whitelist added in v3.0. Which,
for me, required the addition of -protocol_whitelist file,udp,rtp in order
to read the same rtp source stream that was working in ffmpeg v2.8.
Perhaps, the shell parameter isn't being passed internally? Is there a new
secondary parameter I need to explicitly pass to this new api?

Any thoughts?
Thanks in advance!



Relevant output follows..

-------------------------------
2016-07-07 00:53:41.948 - encoding arguments: '-protocol_whitelist
file,udp,rtp -analyzeduration 2048M -probesize 2048M -y -nostdin -i
/var/www/node.js/encoder/sdp/5021.sdp -threads 3 -s 480x270 -c:v libx264
-tune zerolatency -flags +global_header +cgop -movflags +faststart -pix_fmt
yuv420p -profile:v main -level 3.1 -preset medium -b:v 400K -maxrate 500K
-bufsize 2M -r 10 -g 20 -keyint_min 20 -sc_threshold 0 -x264opts
keyint=5:min-keyint=1:level=41 -c:a libfdk_aac -profile:a aac_low -ac 1
-strict -2 -f tee -map 0:v -map 0:a
[f=hls:hls_time=2:hls_list_size=10:hls_wrap=30:start_number=1]/tmp/live/hls/
480x270.m3u8'
2016-07-07 00:53:41.992 - stderr: ffmpeg version N-80901-gfebc862 Copyright
(c) 2000-2016 the FFmpeg developers
  built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
  configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg
--mandir=/usr/share/man --enable-avresample --disable-debug --enable-nonfree
--enable-gpl --enable-version3 --enable-libopencore-amrnb
--enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb
--enable-libpulse --enable-libfreetype --enable-gnutls --enable-libx264
--enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame
--enable-libopus --enable-libvpx --enable-libspeex --enable-libass
--enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvidstab
  libavutil      55. 28.100 / 55. 28.100
  libavcodec     57. 48.101 / 57. 48.101
  libavformat    57. 41.100 / 57. 41.100
  libavdevice    57.  0.102 / 57.  0.102
  libavfilter     6. 47.100 /  6. 47.100
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
  libpostproc    54.  0.100 / 54.  0.100
2016-07-07 00:53:57.000 - stderr: Guessed Channel Layout for Input Stream
#0.0 : mono
Input #0, sdp, from '/var/www/node.js/encoder/sdp/5021.sdp':
  Metadata:
    title           :
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Audio: pcm_mulaw, 8000 Hz, 1 channels, s16, 64 kb/s
    Stream #0:1: Video: h264 (Constrained Baseline), yuv420p, 800x600, 90k
tbr, 90k tbn, 180k tbc
2016-07-07 00:53:57.000 - Error: EBADF, bad file descriptor
2016-07-07 00:53:57.001 - stderr: [libx264 @ 0x3bb8aa0] using cpu
capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
2016-07-07 00:53:57.002 - Error: EBADF, bad file descriptor
2016-07-07 00:53:57.008 - stderr: [libx264 @ 0x3bb8aa0] profile Main, level
4.1
2016-07-07 00:53:57.008 - Error: EBADF, bad file descriptor
2016-07-07 00:53:57.008 - stderr: [libx264 @ 0x3bb8aa0] 264 - core 148 r2643
5c65704 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 -
http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0
analyse=0x1:0x111 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1
me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1
chroma_qp_offset=-2 threads=3 lookahead_threads=3 sliced_threads=1 slices=3
nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0
weightp=2 keyint=5 keyint_min=1 scenecut=0 intra_refresh=0 rc_lookahead=0
rc=abr mbtree=0 bitrate=400 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4
vbv_maxrate=500 vbv_bufsize=2000 nal_hrd=none filler=0 ip_ratio=1.40
aq=1:1.00
2016-07-07 00:53:57.008 - Error: EBADF, bad file descriptor
2016-07-07 00:53:57.009 - stderr: [tee @ 0x3a32d60] Using AVStream.codec to
pass codec parameters to muxers is deprecated, use AVStream.codecpar
instead.
2016-07-07 00:53:57.009 - Error: EBADF, bad file descriptor
2016-07-07 00:53:57.009 - stderr:     Last message repeated 1 times
Output #0, tee, to
'[f=hls:hls_time=2:hls_list_size=10:hls_wrap=30:start_number=1]/tmp/live/hls
/480x270.m3u8':
  Metadata:
    title           :
    encoder         : Lavf57.41.100
2016-07-07 00:53:57.009 - Error: EBADF, bad file descriptor
2016-07-07 00:53:57.009 - stderr:     Stream #0:0: Video: h264 (libx264),
yuv420p, 480x270, q=-1--1, 400 kb/s, 10 fps, 10 tbn, 10 tbc
    Metadata:
      encoder         : Lavc57.48.101 libx264
    Side data:
      cpb: bitrate max/min/avg: 500000/0/400000 buffer size: 2000000
vbv_delay: -1
    Stream #0:1: Audio: aac (libfdk_aac) (LC), 8000 Hz, mono, s16, 17 kb/s
    Metadata:
      encoder         : Lavc57.48.101 libfdk_aac
Stream mapping:
  Stream #0:1 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:0 -> #0:1 (pcm_mulaw (native) -> aac (libfdk_aac))
2016-07-07 00:53:57.010 - Error: EBADF, bad file descriptor
2016-07-07 00:53:57.010 - stderr: [libfdk_aac @ 0x3bd9000] Trying to remove
1024 samples, but the queue is empty
[tee @ 0x3a32d60] Timestamps are unset in a packet for stream 1. This is
deprecated and will stop working in the future. Fix your code to set the
timestamps properly
[tee @ 0x3a32d60] Encoder did not produce proper pts, making some up.
[libfdk_aac @ 0x3bd9000] Trying to remove 1024 samples, but the queue is
empty
2016-07-07 00:53:57.010 - Error: EBADF, bad file descriptor
2016-07-07 00:53:57.010 - stderr: frame=    0 fps=0.0 q=0.0 Lsize=N/A
time=00:00:00.25 bitrate=N/A speed= 324x
video:0kB audio:1kB subtitle:0kB other streams:0kB global headers:0kB muxing
overhead: unknown
2016-07-07 00:53:57.011 - Error: EBADF, bad file descriptor
2016-07-07 00:53:57.012 - stderr: Exiting normally, received signal 15.
2016-07-07 00:53:57.013 - Error: EBADF, bad file descriptor
2016-07-07 00:53:57.014 - Child exited with code: 255
-------------------------------



More information about the ffmpeg-user mailing list