Jetson Nano and Lime SDR mini

  • I downloaded the software recommended on the Jetson site. It's a customised version. I wonder if you did this?


    https://developer.nvidia.com/embedded/downloads

    Yes Mike the download comes from the link in your message.


    I tryed with success another version of ffmpeg, but unfortunately works in a very bad way at lower speed.


    Now I'm starting from a fresh installation and following exactly the description done in the BATC forum for the Jetson nano DVBSDR.


    The result back to no TS in the tx. There's something of wrong in the ffmpeg, because I Checked the UDP stream on NANO, with tcpdump. Packets coming regularly, same test made from Robert.


    I will need a Teamviewer session with Evariste, but my opinion is that this is a "abandoned project". He starts to develop new solution for Pluto, may be he haven't interest to continue on Nano project.


    73

  • Hello everybody,

    Creating a boot SD for the Nano seems to have current content with the latest images from Nvidia as it did in April of this year.

    With a current Jetson Nano Boot SD and the installation routine for DVB-SDR from https://wiki.batc.org.uk/Jetson_Nano there is no FFMPEG program at the end of all installations!

    The compilation process is aborted:

    Makefile: 32: receipe before target 'ffmpeg.o' failed.

    make: *** [ffmpeg.o] Error 1


    The subsequent installation of a standard ffmpeg package is probably not right, because it does not work.



    Now the question arises for me with which SD image of Nvidia at that time Evariste or G8GKQ created his boot SD?



    73's de Robert

  • After several tryes no success on Nano. Asked on github a help to Evariste.


    Regards.


    Flow :


    1. Installed SO - SD _> jetson-nano-sd-r32.1-2019-03-18

    2. Followed exactly - >https://wiki.batc.org.uk/Jetson_Nano


    Repeated 3 times the entire cicle, with experimentation of several ffmpeg libraries, after 1 partial success at the next start won't run again.


    Checked udp packets incoming regularly on Nano.....


    No more try will be done.

  • I can't recall the exact steps I took many months ago now but I recall I stated from a fresh install and ran the dvbsdr code. There was an error but it wasn't a problem. The nano uses gstreamer, not ffmpeg for encoding. If I can find a way to say what I have installed I will post.


    Mike

  • I can't recall the exact steps I took many months ago now but I recall I stated from a fresh install and ran the dvbsdr code. There was an error but it wasn't a problem. The nano uses gstreamer, not ffmpeg for encoding. If I can find a way to say what I have installed I will post.


    Mike

    To clarify - ffmpeg is not used for encode but it is used to create the transport stream. all this magic is in the nanoencode script in the include directory.

  • OK - so with the intuitive command found online

    Code
    (zcat $(ls -tr /var/log/apt/history.log*.gz); cat /var/log/apt/history.log) 2>/dev/null | egrep '^(Start-Date:|Commandline:)' | grep -v aptdaemon | egrep '^Commandline:'

    I find what I have installed manually on the nano


    Commandline: apt-get install -y git g++ cmake libsqlite3-dev libi2c-dev libusb-1.0-0-dev netcat

    Commandline: apt-get install -y libfftw3-dev

    Commandline: apt-get install nano

    Commandline: apt-get install buffer

    Commandline: apt-get install ffmpeg


    and later on


    Commandline: apt-get -y dist-upgrade

    Commandline: apt-get -y install git htop nano

    Commandline: apt-get install v4l-utils


    Commandline: apt-get install -y curl build-essential libpcre3-dev libpcre++-dev zlib1g-dev libcurl4-openssl-dev libssl-dev


    I hope this helps


    - what happens when you run jetson_nano.sh ?

  • Thank you for the reply Mike. I've just done a fresh installation with the newest Nvidia Jetson Nano Image, then followed the package installation instructions you've provided. After that (and a reboot), I've went and got the DVBSDR from Github and started install.sh. This runs for a while, but then drops out with a error message "ffmpeg.c:39:10: fatal error: libavcodec/avcodec.h: No such file or directory". This can be resolved by installing "libavcodec-dev", but then you get another missing package and another.


    Here's the complete list of all packages missing and error messages, as well as the messages I get when trying to receive the UDP stream with jetson_nano.sh


    picam still works fine, the stream however does not. You can see the stream getting received fine with tcpdump.

  • Try a different HDMI source. There seems to be a problem with gstreamer launching. I will check


    Mike


    Here is what I see:


    ./jetson_nano.sh

    I run on Nano

    DVB ShortFrame

    Frame Size=16200

    Net TS bitrate input should be 472949


    VideoBitrate = 272316

    VideoPeakBitrate = 299547

    DVB ShortFrame

    Frame Size=16200

    Net TS bitrate input should be 472949

    Using live mode

    Reference clock 40.00 MHz

    LimeSDR-Mini Library 19.04.0-gae075ca8 Firmware 6 Gateware 1.30 Temperature 45.00

    LMS_GetSampleRate() return : 1331999.983106

    TXLPF set to 5.000 MHz (requested 1.798 MHz [out of range])

    ffmpeg version 3.4.6-0ubuntu0.18.04.1 Copyright (c) 2000-2019 the FFmpeg developers

    built with gcc 7 (Ubuntu/Linaro 7.3.0-16ubuntu3)

    configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared

    libavutil 55. 78.100 / 55. 78.100

    libavcodec 57.107.100 / 57.107.100

    libavformat 57. 83.100 / 57. 83.100

    libavdevice 57. 10.100 / 57. 10.100

    libavfilter 6.107.100 / 6.107.100

    libavresample 3. 7. 0 / 3. 7. 0

    libswscale 4. 8.100 / 4. 8.100

    libswresample 2. 9.100 / 2. 9.100

    libpostproc 54. 7.100 / 54. 7.100

    Filter calibrated. Filter order-4th, filter bandwidth set to 5 MHz.Real pole 1st order filter set to 2.5 MHz. Preemphasis filter not active

    TX LPF configured

    With Calibration

    Set TX gain to 0.950000

    Calibrating Tx for 2.5 MHz (requested 1.7982 MHz [out of range])

    Tx calibration finished

    sample_rate: 1331999.983106



    CoefBufferSize=2

    Underflow 0/130560

    Underflow 25840/130560

    Underflow 23120/130560

  • I realise you said the camera works.


    I have modified my nanoencode.sh but you should have something like below. If you add a -v to the gst-launch-1.0 command it might be more informative. It looks like it is not capturing the multicast but the debug information is not the same as I see so I don't quite understand. This could be a network issue or it might be a compatibility problem with the HDMI and LKV373A.


    Mike



    case "$CODEC" in

    "H264")

    gst-launch-1.0 udpsrc address=$VIDEOSOURCE_IP_ADRESS port=$VIDEOSOURCE_IP_PORT !

    video/mpegts \

    ! tsdemux name=dem dem. ! queue ! h264parse ! omxh264dec ! nvvidconv \

    ! "video/x-raw(memory:NVMM), width=(int)$VIDEO_RESX, height=(int)$VIDEO_

    RESY, format=(string)I420" \

    ! omxh264enc vbv-size=15 control-rate=2 bitrate=$VIDEOBITRATE peak-b

    itrate=$VIDEOPEAKBITRATE insert-sps-pps=1 insert-vui=1 cabac-entropy-coding=1 pr

    eset-level=3 profile=8 iframeinterval=$VIDEO_GOP \

    ! "video/x-h264, level=(string)4.1, stream-format=(string)byte-stream" !

    mux. dem. ! queue ! mpegaudioparse \

    ! avdec_mp2float ! audioconvert ! audioresample ! 'audio/x-raw, format=S

    16LE, layout=interleaved, rate=48000, channels=2' \

    ! voaacenc bitrate=$AUDIO_BITRATE ! queue ! mux. mpegtsmux alignment=7

    name=mux ! fdsink \

    | ffmpeg -i - -ss 8 -c:v copy -max_delay $PCR_PTS -muxrate $BITRATE_TS -c:a copy -f mpegts -flush_packets 1 -metadata service_provider="QO-100" -metadata service_name=$CALL -streamid 0:256 $ffmpegoutput


    ;;


    "H265")

    gst-launch-1.0 udpsrc address=$VIDEOSOURCE_IP_ADRESS port=$VIDEOSOURCE_IP_PORT ! video/mpegts \

    ! tsdemux name=dem dem. ! queue ! h264parse ! omxh264dec ! nvvidconv \

    ! "video/x-raw(memory:NVMM), width=(int)$VIDEO_RESX, height=(int)$VIDEO_RESY, format=(string)I420" \

    ! omxh265enc vbv-size=15 EnableTwopassCBR=1 control-rate=2 bitrate=$VIDEOBITRATE peak-bitrate=$VIDEOPEAKBITRATE preset-level=3 iframeinterval=$VIDEO_GOP \

    ! "video/x-h265,level=(string)high5,stream-format=(string)byte-stream" ! mux. dem. ! queue \

    ! mpegaudioparse ! avdec_mp2float ! audioconvert ! audioresample \

    ! 'audio/x-raw, format=S16LE, layout=interleaved, rate=48000, channels=1' ! voaacenc bitrate=$AUDIO_BITRATE \

    ! queue ! mux. mpegtsmux alignment=7 name=mux ! fdsink \

    | ffmpeg -i - -ss 8 -c:v copy -max_delay $PCR_PTS -muxrate $BITRATE_TS -c:a copy -f mpegts -pat_period 0.5 -metadata service_provider="QO-100" -metadata service_name=$CALL -streamid 0:256 $ffmpegoutput

  • problem solved


    The script in the BATC forum is ok. My problem was, or is still the HDMI signal from the Intel NUC. Attempts with the HDMI output of the Octagon SR8008 or an old notebook were successful right away ...


    Note: HDMI is not the same as HDMI


    All attempts with the HDMI signal from the NUC have failed ...


    73s de Robert

  • It's timing.


    Best option now is to forget the LKV373 if it wont work with your source. Use OBS record with an Nvidia hardware encoder sent as UDP to a pluto or send say 4Ms H264 from OBS to the nano to transcode with it's hardware encoder. There is also that €60 H264/H265 encoder box.