Jump to content


magische_vogel

Member Since 17 May 2016
Offline Last Active 17 Jan 2021 16:12
-----

Topics I've Started

Convert http stream on port 8001 to udp or rtp stream directely from vu+solo

14 July 2018 - 21:40

Hello everybody,

 

I'm trying to convert (no transcoding needed) the http stream on the port 8001 to udp or rtp stream using ffmeg.

I'm using the following command from my vu+ solo receiver:

root@vusolo:~# ffmpeg -v trace -i "http://127.0.0.1:8001/1:0:19:A01:6:20FA:20D0000:0:0:0:" -acodec copy -vcodec copy -f mpegts udp://@127.0.0.1:8888

I got the following trace:

root@vusolo:~# ffmpeg -v trace -i "http://127.0.0.1:8001/1:0:19:A01:6:20FA:20D0000:0:0:0:" -acodec copy -vcodec copy -f mpegts udp://@127.0.0.1:8888
ffmpeg version 3.0.2 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.9.1 (GCC)
  configuration: --disable-stripping --enable-pic --enable-shared --enable-pthreads --enable-nonfree --cross-prefix=mipsel-oe-linux- --ld='mipsel-oe-linux-gcc -mel -mabi=32 -mhard-float -march=mips32 --sysroot=/media/data2/ff/build/tmp/sysroots/vuduo' --arch=mipsel --target-os=linux --enable-cross-compile --extra-cflags=' -Os -pipe -g -feliminate-unused-debug-types -mel -mabi=32 -mhard-float -march=mips32 --sysroot=/media/data2/ff/build/tmp/sysroots/vuduo' --extra-ldflags='-Wl,-O1 -Wl,--as-needed' --sysroot=/media/data2/ff/build/tmp/sysroots/vuduo --enable-hardcoded-tables --disable-static --disable-runtime-cpudetect --disable-ffserver --disable-ffplay --enable-ffprobe --disable-iconv --disable-doc --disable-altivec --disable-amd3dnow --disable-amd3dnowext --disable-mmx --disable-mmxext --disable-sse --disable-sse2 --disable-sse3 --disable-ssse3 --disable-sse4 --disable-sse42 --disable-avx --disable-xop --disable-fma3 --disable-fma4 --disable-avx2 --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-vfp --disable-neon --disable-inline-asm --disable-yasm --disable-fast-unaligned --disable-muxers --enable-muxer=mpeg1video --enable-encoders --enable-encoder=mpeg1video --disable-decoders --enable-libass --enable-decoder=alac --enable-decoder=ape --enable-decoder=atrac1 --enable-decoder=atrac3 --enable-decoder=atrac3p --enable-decoder=cook --enable-decoder=dsd_lsbf --enable-decoder=dsd_lsbf_planar --enable-decoder=dsd_msbf --enable-decoder=dsd_msbf_planar --enable-decoder=eac3 --enable-decoder=evrc --enable-decoder=iac --enable-decoder=imc --enable-decoder=mace3 --enable-decoder=mace6 --enable-decoder=metasound --enable-decoder=mjpeg --enable-decoder=mlp --enable-decoder=mp1 --enable-decoder=mp3adu --enable-decoder=mp3on4 --enable-decoder=mpeg1video --enable-decoder=nellymoser --enable-decoder=pcm_alaw --enable-decoder=pcm_bluray --enable-decoder=pcm_dvd --enable-decoder=pcm_f32be --enable-decoder=pcm_f32le --enable-decoder=pcm_f64be --enable-decoder=pcm_f64le --enable-decoder=pcm_lxf --enable-decoder=pcm_mulaw --enable-decoder=pcm_s16be --enable-decoder=pcm_s16be_planar --enable-decoder=pcm_s16le --enable-decoder=pcm_s16le_planar --enable-decoder=pcm_s24be --enable-decoder=pcm_s24daud --enable-decoder=pcm_s24le --enable-decoder=pcm_s24le_planar --enable-decoder=pcm_s32be --enable-decoder=pcm_s32le --enable-decoder=pcm_s32le_planar --enable-decoder=pcm_s8 --enable-decoder=pcm_s8_planar --enable-decoder=pcm_u16be --enable-decoder=pcm_u16le --enable-decoder=pcm_u24be --enable-decoder=pcm_u24le --enable-decoder=pcm_u32be --enable-decoder=pcm_u32le --enable-decoder=pcm_u8 --enable-decoder=pcm_zork --enable-decoder=ra_144 --enable-decoder=ra_288 --enable-decoder=ralf --enable-decoder=s302m --enable-decoder=shorten --enable-decoder=sipr --enable-decoder=sonic --enable-decoder=tak --enable-decoder=truehd --enable-decoder=truespeech --enable-decoder=tta --enable-decoder=wmalossless --enable-decoder=wmapro --enable-decoder=wmav1 --enable-decoder=wmav2 --enable-decoder=wmavoice --enable-decoder=aac --enable-decoder=aac_latm --enable-decoder=adpcm_ct --enable-decoder=adpcm_g722 --enable-decoder=adpcm_g726 --enable-decoder=adpcm_g726le --enable-decoder=adpcm_ima_amv --enable-decoder=adpcm_ima_oki --enable-decoder=adpcm_ima_qt --enable-decoder=adpcm_ima_rad --enable-decoder=adpcm_ima_wav --enable-decoder=adpcm_ms --enable-decoder=adpcm_sbpro_2 --enable-decoder=adpcm_sbpro_3 --enable-decoder=adpcm_sbpro_4 --enable-decoder=adpcm_swf --enable-decoder=adpcm_yamaha --enable-decoder=flac --enable-decoder=g723_1 --enable-decoder=g729 --enable-decoder=opus --enable-decoder=qcelp --enable-decoder=qdm2 --enable-decoder=vorbis --enable-decoder=wavpack --disable-demuxer=adp --disable-demuxer=adx --disable-demuxer=afc --disable-demuxer=anm --disable-demuxer=apc --disable-demuxer=ast --disable-demuxer=avs --disable-demuxer=bethsoftvid --disable-demuxer=bfi --disable-demuxer=bink --disable-demuxer=bmv --disable-demuxer=brstm --disable-demuxer=c93 --disable-demuxer=cdg --disable-demuxer=dnxhd --disable-demuxer=dsicin --disable-demuxer=dfa --disable-demuxer=dxa --disable-demuxer=ea --disable-demuxer=ea_cdata --disable-demuxer=frm --disable-demuxer=gif --disable-demuxer=gsm --disable-demuxer=gxf --disable-demuxer=hnm --disable-demuxer=ico --disable-demuxer=ilbc --enable-demuxer=image2 --disable-demuxer=iss --disable-demuxer=jv --disable-demuxer=mm --disable-demuxer=paf --disable-demuxer=pva --disable-demuxer=qcp --disable-demuxer=redspark --disable-demuxer=rl2 --disable-demuxer=roq --disable-demuxer=rsd --disable-demuxer=rso --disable-demuxer=siff --disable-demuxer=smjpeg --disable-demuxer=smush --disable-demuxer=sol --disable-demuxer=thp --disable-demuxer=tiertexseq --disable-demuxer=tmv --disable-demuxer=tty --disable-demuxer=txd --disable-demuxer=vqf --disable-demuxer=wsaud --disable-demuxer=wsvqa --disable-demuxer=xa --disable-demuxer=xbin --disable-demuxer=yop --disable-demuxer=ingenient --disable-demuxer=image_dds_pipe --disable-demuxer=image_dpx_pipe --disable-demuxer=image_exr_pipe --disable-demuxer=image_j2k_pipe --disable-demuxer=image_pictor_pipe --disable-demuxer=image_qdraw_pipe --disable-demuxer=image_sgi_pipe --disable-demuxer=image_sunrast_pipe --disable-filters --enable-filter=scale --disable-mips32r2 --disable-mipsdsp --disable-mipsdspr2 --enable-mipsfpu --enable-libbluray --enable-protocol=bluray --enable-librtmp --disable-indevs --disable-outdevs --pkg-config=pkg-config --disable-debug --extra-cflags='-ffunction-sections -fdata-sections -fno-aggressive-loop-optimizations' --extra-ldflags='-Wl,--gc-sections,-lrt' --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --datadir=/usr/share/ffmpeg --enable-avdevice --enable-avfilter --enable-bzlib --disable-libfaac --enable-gpl --disable-libgsm --disable-indev=jack --disable-libvorbis --disable-lzma --enable-libmp3lame --enable-openssl --disable-libschroedinger --disable-libspeex --enable-libtheora --disable-vaapi --enable-libvpx --disable-x11grab --enable-libx264 --disable-outdev=xv
  libavutil      55. 17.103 / 55. 17.103
  libavcodec     57. 24.102 / 57. 24.102
  libavformat    57. 25.100 / 57. 25.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 31.100 /  6. 31.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'trace'.
Reading option '-i' ... matched as input file with argument 'http://127.0.0.1:8001/1:0:19:A01:6:20FA:20D0000:0:0:0:'.
Reading option '-acodec' ... matched as option 'acodec' (force audio codec ('copy' to copy stream)) with argument 'copy'.
Reading option '-vcodec' ... matched as option 'vcodec' (force video codec ('copy' to copy stream)) with argument 'copy'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'mpegts'.
Reading option 'udp://@127.0.0.1:8888' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument trace.
Successfully parsed a group of options.
Parsing a group of options: input file http://127.0.0.1:8001/1:0:19:A01:6:20FA:20D0000:0:0:0:.
Successfully parsed a group of options.
Opening an input file: http://127.0.0.1:8001/1:0:19:A01:6:20FA:20D0000:0:0:0:.
[http @ 0x45b430] Setting default whitelist 'http,https,tls,rtp,tcp,udp,crypto,httpproxy'
[http @ 0x45b430] request: GET /1:0:19:A01:6:20FA:20D0000:0:0:0: HTTP/1.1
User-Agent: Lavf/57.25.100
Accept: */*
Range: bytes=0-
Connection: close
Host: 127.0.0.1:8001
Icy-MetaData: 1


[http @ 0x45b430] header='HTTP/1.0 200 OK'
[http @ 0x45b430] http_code=200
[http @ 0x45b430] header='Connection: Close'
[http @ 0x45b430] header='Content-Type: video/mpeg'
[http @ 0x45b430] header='Server: streamserver'
[http @ 0x45b430] header=''
Probing mp3 score:1 size:2048
Probing mpegts score:100 size:2048
[mpegts @ 0x45ad20] Format mpegts probed with size=2048 and score=100
score: 44, dvhs_score: 1, fec_score: -1
[mpegts @ 0x45ad20] Filter: pid=0x11
[mpegts @ 0x45ad20] Filter: pid=0x0
[mpegts @ 0x45ad20] PAT:
[mpegts @ 0x45ad20] sid=0x1 pid=0x40
[mpegts @ 0x45ad20] new_program: id=0x0001
[mpegts @ 0x45ad20] Filter: pid=0x40
[mpegts @ 0x45ad20] sid=0x2 pid=0x24e
[mpegts @ 0x45ad20] new_program: id=0x0002
[mpegts @ 0x45ad20] Filter: pid=0x24e
[mpegts @ 0x45ad20] sid=0xa01 pid=0x64
[mpegts @ 0x45ad20] new_program: id=0x0a01
[mpegts @ 0x45ad20] Filter: pid=0x64
[mpegts @ 0x45ad20] sid=0xa02 pid=0xd2
[mpegts @ 0x45ad20] new_program: id=0x0a02
[mpegts @ 0x45ad20] Filter: pid=0xd2
[mpegts @ 0x45ad20] sid=0xa03 pid=0x12c
[mpegts @ 0x45ad20] new_program: id=0x0a03
[mpegts @ 0x45ad20] Filter: pid=0x12c
[mpegts @ 0x45ad20] sid=0xa04 pid=0x190
[mpegts @ 0x45ad20] new_program: id=0x0a04
[mpegts @ 0x45ad20] Filter: pid=0x190
[mpegts @ 0x45ad20] sid=0xa05 pid=0x1f4
[mpegts @ 0x45ad20] new_program: id=0x0a05
[mpegts @ 0x45ad20] Filter: pid=0x1f4
[mpegts @ 0x45ad20] sid=0x201 pid=0x6e
[mpegts @ 0x45ad20] new_program: id=0x0201
[mpegts @ 0x45ad20] Filter: pid=0x6e
[mpegts @ 0x45ad20] sid=0x203 pid=0x136
[mpegts @ 0x45ad20] new_program: id=0x0203
[mpegts @ 0x45ad20] Filter: pid=0x136
[mpegts @ 0x45ad20] sid=0x204 pid=0x19a
[mpegts @ 0x45ad20] new_program: id=0x0204
[mpegts @ 0x45ad20] Filter: pid=0x19a
[mpegts @ 0x45ad20] sid=0x205 pid=0x1fe
[mpegts @ 0x45ad20] new_program: id=0x0205
[mpegts @ 0x45ad20] Filter: pid=0x1fe
[mpegts @ 0x45ad20] sid=0x206 pid=0x262
[mpegts @ 0x45ad20] new_program: id=0x0206
[mpegts @ 0x45ad20] Filter: pid=0x262
[mpegts @ 0x45ad20] PMT: len 103
[mpegts @ 0x45ad20] sid=0xa01 sec_num=0/0 version=7
[mpegts @ 0x45ad20] pcr_pid=0x78
[mpegts @ 0x45ad20] Filter: pid=0x78
[mpegts @ 0x45ad20] stream=0 stream_type=1b pid=78 prog_reg_desc=
[mpegts @ 0x45ad20] Filter: pid=0x82
[mpegts @ 0x45ad20] stream=1 stream_type=6 pid=82 prog_reg_desc=
[mpegts @ 0x45ad20] tag: 0x0a len=4
[mpegts @ 0x45ad20] tag: 0x7a len=2
[mpegts @ 0x45ad20] Filter: pid=0x83
[mpegts @ 0x45ad20] stream=2 stream_type=6 pid=83 prog_reg_desc=
[mpegts @ 0x45ad20] tag: 0x0a len=4
[mpegts @ 0x45ad20] tag: 0x7a len=2
[mpegts @ 0x45ad20] Filter: pid=0x84
[mpegts @ 0x45ad20] stream=3 stream_type=6 pid=84 prog_reg_desc=
[mpegts @ 0x45ad20] tag: 0x0a len=4
[mpegts @ 0x45ad20] tag: 0x7f len=5
[mpegts @ 0x45ad20] tag: 0x7a len=2
[mpegts @ 0x45ad20] Filter: pid=0x96
[mpegts @ 0x45ad20] stream=4 stream_type=6 pid=96 prog_reg_desc=
[mpegts @ 0x45ad20] tag: 0x59 len=8
[mpegts @ 0x45ad20] Filter: pid=0x97
[mpegts @ 0x45ad20] stream=5 stream_type=6 pid=97 prog_reg_desc=
[mpegts @ 0x45ad20] tag: 0x59 len=8
[mpegts @ 0x45ad20] tuning done
[mpegts @ 0x45ad20] Before avformat_find_stream_info() pos: 0 bytes read:65536 seeks:0
[mpegts @ 0x45ad20] Skipping after seek
[mpegts @ 0x45ad20] pid=78 pes_code=0x1e0
[mpegts @ 0x45ad20] PAT:
[mpegts @ 0x45ad20] sid=0x1 pid=0x40
[mpegts @ 0x45ad20] new_program: id=0x0001
[mpegts @ 0x45ad20] sid=0x2 pid=0x24e
[mpegts @ 0x45ad20] new_program: id=0x0002
[mpegts @ 0x45ad20] sid=0xa01 pid=0x64
[mpegts @ 0x45ad20] new_program: id=0x0a01
[mpegts @ 0x45ad20] sid=0xa02 pid=0xd2
[mpegts @ 0x45ad20] new_program: id=0x0a02
[mpegts @ 0x45ad20] sid=0xa03 pid=0x12c
[mpegts @ 0x45ad20] new_program: id=0x0a03
[mpegts @ 0x45ad20] sid=0xa04 pid=0x190
[mpegts @ 0x45ad20] new_program: id=0x0a04
[mpegts @ 0x45ad20] sid=0xa05 pid=0x1f4
[mpegts @ 0x45ad20] new_program: id=0x0a05
[mpegts @ 0x45ad20] sid=0x201 pid=0x6e
[mpegts @ 0x45ad20] new_program: id=0x0201
[mpegts @ 0x45ad20] sid=0x203 pid=0x136
[mpegts @ 0x45ad20] new_program: id=0x0203
[mpegts @ 0x45ad20] sid=0x204 pid=0x19a
[mpegts @ 0x45ad20] new_program: id=0x0204
[mpegts @ 0x45ad20] sid=0x205 pid=0x1fe
[mpegts @ 0x45ad20] new_program: id=0x0205
[mpegts @ 0x45ad20] sid=0x206 pid=0x262
[mpegts @ 0x45ad20] new_program: id=0x0206
[mpegts @ 0x45ad20] PMT: len 103
[mpegts @ 0x45ad20] sid=0xa01 sec_num=0/0 version=7
[mpegts @ 0x45ad20] pcr_pid=0x78
[mpegts @ 0x45ad20] tag: 0x0a len=4
[mpegts @ 0x45ad20] tag: 0x7a len=2
[mpegts @ 0x45ad20] tag: 0x0a len=4
[mpegts @ 0x45ad20] tag: 0x7a len=2
[mpegts @ 0x45ad20] tag: 0x0a len=4
[mpegts @ 0x45ad20] tag: 0x7f len=5
[mpegts @ 0x45ad20] tag: 0x7a len=2
[mpegts @ 0x45ad20] tag: 0x59 len=8
    Last message repeated 1 times
[mpegts @ 0x45ad20] pid=84 pes_code=0x1bd
[mpegts @ 0x45ad20] pid=83 pes_code=0x1bd
[mpegts @ 0x45ad20] pid=82 pes_code=0x1bd
[mpegts @ 0x45ad20] pid=78 pes_code=0x1e0
    Last message repeated 1 times
[h264 @ 0x470300] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x470300] decode_slice_header error
[h264 @ 0x470300] no frame!
[mpegts @ 0x45ad20] PAT:
[mpegts @ 0x45ad20] PMT: len 103
[mpegts @ 0x45ad20] PAT:
[mpegts @ 0x45ad20] PMT: len 103
[mpegts @ 0x45ad20] pid=83 pes_code=0x1bd
[mpegts @ 0x45ad20] pid=82 pes_code=0x1bd
[mpegts @ 0x45ad20] PAT:
[mpegts @ 0x45ad20] PMT: len 103
[mpegts @ 0x45ad20] pid=84 pes_code=0x1bd
[mpegts @ 0x45ad20] pid=96 pes_code=0x1be
[mpegts @ 0x45ad20] PAT:
[mpegts @ 0x45ad20] PMT: len 103
[mpegts @ 0x45ad20] pid=97 pes_code=0x1be
[h264 @ 0x470300] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x470300] decode_slice_header error
[h264 @ 0x470300] no frame!
[mpegts @ 0x45ad20] PAT:
[mpegts @ 0x45ad20] PMT: len 103
[mpegts @ 0x45ad20] pid=78 pes_code=0x1e0
[mpegts @ 0x45ad20] pid=83 pes_code=0x1bd
[mpegts @ 0x45ad20] pid=82 pes_code=0x1bd
[mpegts @ 0x45ad20] pid=78 pes_code=0x1e0
[h264 @ 0x470300] Frame num gap 42 37
[h264 @ 0x470300] Frame num gap 42 38
[h264 @ 0x470300] Frame num gap 42 39
[h264 @ 0x470300] Frame num gap 42 40
[h264 @ 0x470300] mmco: unref short failure
[h264 @ 0x470300] number of reference frames (0+5) exceeds max (4; probably corrupt input), discarding one
[mpegts @ 0x45ad20] pid=78 pes_code=0x1e0
[h264 @ 0x470300] no picture ooo
[mpegts @ 0x45ad20] pid=84 pes_code=0x1bd
[mpegts @ 0x45ad20] PAT:
[mpegts @ 0x45ad20] PMT: len 103
[mpegts @ 0x45ad20] pid=78 pes_code=0x1e0
[h264 @ 0x470300] Increasing reorder buffer to 2
[h264 @ 0x470300] no picture ooo
[mpegts @ 0x45ad20] pid=78 pes_code=0x1e0
[h264 @ 0x470300] no picture

I'm using vlc to test if the udp stream is available without success.

Can some one point me to the good direction on how to convert the http stream to an udp or an rtp stream without touching the stream data.

 

Best regards.