Streaming IPTS with Pluto

Discussion about this major DATV Project. See https://wiki.batc.org.uk/The_Portsdown_Transmitter
mccla5214
Posts: 61
Joined: Sun Sep 05, 2021 1:45 am

Re: Streaming IPTS with Pluto

Post by mccla5214 » Thu Sep 16, 2021 3:56 pm

Have to run 2000 on SR and am running EC of 1/2. The SR of 2000 is defined by the GTMedia I'm having to use for testing because the Minitourne is not playing well and the Hides HV122 was not working (found out from ATV Magazine that they shipped them with wrong firmware).

I'll try the lower SR tonight when I get home per your suggestions and see if I can get the IPTS Monitor to show anything.

Thanks Dave,

Mike

g0mjw
Posts: 2346
Joined: Sat Sep 20, 2014 9:15 am

Re: Streaming IPTS with Pluto

Post by g0mjw » Thu Sep 16, 2021 4:00 pm

Higher SRs are a problem with the pluto - suggest you reduce it to 333ks and if it works, work up.

Mike

G8GKQ
Site Admin
Posts: 2810
Joined: Sun Mar 22, 2009 1:21 pm

Re: Streaming IPTS with Pluto

Post by G8GKQ » Thu Sep 16, 2021 4:13 pm

Mike

I'm confused. Are you trying to do this with DVB-T or DVB-S/S2? The HV122 seems to be DVB-T only and the MiniTiouner is DVB-S/S2 only.

Either way, nothing over an SR/Bandwidth of 1000 will work with the Pluto.

The Portsdown is now optimised around 333 kS (or 333 kHz for DVB-T). This is more than enough bandwidth for 720p (unless you are trying to transmit IndyCar Racing or something like that....)!

Dave

mccla5214
Posts: 61
Joined: Sun Sep 05, 2021 1:45 am

Re: Streaming IPTS with Pluto

Post by mccla5214 » Thu Sep 16, 2021 10:24 pm

Hi Dave,

There's actually going to be two PD4 units. One will drive 1296 and the pluto in -S and the other will be running on 435 in -T mode. Just got the PA in today for the 435 system and already have a 300W PA for the 1296 that will be turned down to 30 watts or so (I've read that the standard SSB amp needs to be restrained at 10% of max power to keep it linear for DVB mode).

Will get resetting the pluto/PD4 for 333K and see if the IPTS monitor will start showing the stream from OBS.

Speaking of OBS, do I need to use the start recording or just the batch file with the Virtual camera plug-in?

Mike

mccla5214
Posts: 61
Joined: Sun Sep 05, 2021 1:45 am

Re: Streaming IPTS with Pluto

Post by mccla5214 » Thu Sep 16, 2021 10:59 pm

Ok set up on 1296 -S mode OBS seems to be sending out (don't know if it's correct, I'll paste settings below for OBS and Video Transport Stream.

With nothing showing in IPTS Monitor if I hit encoder to IPTS and then transmit button on M1, nothing is transmitted from the PLUTO.

On the Video Transport stream is Drops= xxxx counting up rapidly a good or bad thing, I would have thought drops= was counting the failures to pass data stream.

Here is the VTS output, OBS to follow:

ffmpeg version n4.0.2 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 7.3.0 (Rev2, Built by MSYS2 project)
configuration: --disable-static --enable-shared --disable-autodetect --enable-amf --enable-bzlib --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-iconv --enable-lzma --enable-nvenc --enable-zlib --enable-sdl2 --disable-debug --enable-ffnvcodec --enable-nvdec --disable-w32threads --enable-gmp --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libx264 --enable-libx265 --enable-fontconfig --enable-libass --enable-libfreetype --enable-libmfx --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libwavpack --enable-libwebp --enable-libxml2 --enable-libzimg --enable-libshine --enable-gpl --enable-avisynth --enable-libxvid --enable-libaom --enable-version3 --enable-chromaprint --enable-frei0r --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libkvazaar --enable-libmodplug --enable-libopenmpt --enable-librtmp --enable-librubberband --enable-libssh --enable-libtesseract --enable-libxavs --enable-libzmq --enable-libzvbi --enable-opencl --enable-opengl --enable-libcodec2 --enable-libsrt --enable-ladspa --enable-gnutls --extra-cflags=-fopenmp --extra-libs=-lgomp --extra-cflags=-DLIBTWOLAME_STATIC --extra-libs=-lstdc++ --extra-cflags=-DLIBSSH_STATIC --extra-ldflags='-Wl,--allow-multiple-definition' --extra-cflags=-DCACA_STATIC --extra-cflags=-DMODPLUG_STATIC --extra-cflags=-DCHROMAPRINT_NODLL --extra-libs=-lstdc++ --extra-cflags=-DZMQ_STATIC --extra-libs=-lpsapi --extra-cflags=-DLIBXML_STATIC --extra-libs=-liconv --extra-cflags=-DKVZ_STATIC_LIB --shlibdir=/local32/bin-video
libavutil 56. 14.100 / 56. 14.100
libavcodec 58. 18.100 / 58. 18.100
libavformat 58. 12.100 / 58. 12.100
libavdevice 58. 3.100 / 58. 3.100
libavfilter 7. 16.100 / 7. 16.100
libswscale 5. 1.100 / 5. 1.100
libswresample 3. 1.100 / 3. 1.100
libpostproc 55. 1.100 / 55. 1.100
[swscaler @ 03233000] Warning: data is not aligned! This can lead to a speed loss
Input #0, dshow, from 'video=OBS-Camera':
Duration: N/A, start: 93790.396000, bitrate: N/A
Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1280x720, 60 fps, 60 tbr, 10000k tbn, 10000k tbc
Guessed Channel Layout for Input Stream #1.0 : stereo
Input #1, dshow, from 'audio=OBS-Audio':
Duration: N/A, start: 93790.474000, bitrate: 1411 kb/s
Stream #1:0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (h264_nvenc))
Stream #1:0 -> #0:1 (pcm_s16le (native) -> aac (native))
Press [q] to stop, [?] for help
Output #0, mpegts, to 'udp://192.168.1.184:10000?pkt_size=1316&bitrate=409200':
Metadata:
service_provider: KA5TDA
service_name : KA5TDA
encoder : Lavf58.12.100
Stream #0:0: Video: h264 (h264_nvenc) (Main), yuv420p(progressive), 640x360 [SAR 1:1 DAR 16:9], q=-1--1, 232 kb/s, 25 fps, 90k tbn, 25 tbc
Metadata:
encoder : Lavc58.18.100 h264_nvenc
Side data:
cpb: bitrate max/min/avg: 232703/0/232703 buffer size: 255703 vbv_delay: -1
Stream #0:1: Audio: aac (LC), 44100 Hz, mono, fltp, 64 kb/s
Metadata:
encoder : Lavc58.18.100 aac
frame= 7983 fps= 25 q=18.0 size= 13628kB time=00:05:19.20 bitrate= 349.7kbits/s dup=0 drop=11173 speed= 1x

OBS Recording Screen 3 captures in attachements.

Mike
Attachments
Capture.JPG
Capture.JPG (100.04 KiB) Viewed 2370 times
Capture2.JPG
Capture2.JPG (79.81 KiB) Viewed 2370 times
Capture3.JPG
Capture3.JPG (95.86 KiB) Viewed 2370 times

User avatar
G3GJA
Posts: 338
Joined: Sun Nov 20, 2011 3:44 pm

Re: Streaming IPTS with Pluto

Post by G3GJA » Thu Sep 16, 2021 11:25 pm

Mike

If you are using the F1EJP FreeStreamCoder software for the encoding (recommended) then the only settings you need to worry about in OBS are:

1. The Settings>Video>Resolution and Frames per second parameters. These should match what you want for your RF output.
2. Make sure that the auto-start is on for the VirtualCam in Tools>VirtualCam

No other settings are required in either the recording or streaming section and you do not need to start streaming or recording in OBS.

Next make sure that the MPEG Transport Stream settings in FreeStreamCoder match what you have set in OBS and match what you have set in the Portsdown for modulation type, symbol rate, FEC etc. Note H265 is not permitted with the Pluto.

In the FreeStreamCoder's config tab match the IP & port settings used on the Portsdown. Set Intel for the encoder if you have a 7th generation Intel CPU or later only, NVidia if you have a suitable graphics card such as a GTX1060 or later.

Click start on the FreeStreamCoder and then TX on the Portsdown 4. It should start to transmit after a few seconds.

73

Clive

mccla5214
Posts: 61
Joined: Sun Sep 05, 2021 1:45 am

Re: Streaming IPTS with Pluto

Post by mccla5214 » Fri Sep 17, 2021 12:15 am

Clive thank you for the help,

First I was using a batch file that I was told to download and run to set the parameters, The program you sent me to pointed out a couple of things I was beginning to suspect. First NEITHER of the graphics cards, Intel or NVidia work. When I select them and then start I never get a green light or show any output bitrate. If I select the soft option then it does work. Jerky and about 15 seconds behind the camera BUT IT WORKS. The NVidia is a GTX1660 and the Intel is a UHD Graphics 630. Neither mean much to me but I will look for updated drivers for both of them.

Still not getting anything on the IPTS Monitor on menu 2 but it is transmitting on 1296, the Minitioune Express is receiving the signal and that's a first after almost 2 weeks of trying to get something to stream through Portsdown 4.

Thanks again for the help, I never would have got it without your post about FreeStreamCoder.

Mike/KA5TDA

mccla5214
Posts: 61
Joined: Sun Sep 05, 2021 1:45 am

Re: Streaming IPTS with Pluto

Post by mccla5214 » Fri Sep 17, 2021 1:51 am

Any suggestions for a good graphics card that's going to work with PD4 and streaming from OBS. Apparently Intel and NVidia are going to play along on this laptop so time to get a desktop before I can proceed on properly.

Mike

g0mjw
Posts: 2346
Joined: Sat Sep 20, 2014 9:15 am

Re: Streaming IPTS with Pluto

Post by g0mjw » Fri Sep 17, 2021 8:13 am

The GTX1660 should be fine. More than fine. You HAVE TO USE H264 for the IPTS monitor to work. In the script you need to set the correct codec, "-vcodec h264_nvenc". I suspect you don't have it installed. Read the documentation https://docs.nvidia.com/video-technolog ... vidia-gpu/

You don't need to compile ffmpeg but if you used the script then it will be installed in C:\ffmpeg\bin

if you run C:\ffmpeg\bin\ffmpeg -h what do you get? if you try with C:\ffmpeg\bin\ffmpeg -encoders you should see a long list with h264_nvenc included. You can test its capabilities with C:\ffmpeg\bin>ffmpeg -h encoder=h264_nvenc

If the hardware encoding is not working software h264 should still work very well unless you are using some really underpowered hardware. H265 in software isn't a great experience.

I fear much of your difficulty is arising from not understanding the instructions and limitations. For example, you say "Streaming from OBS" but that isn't how we advise it is done. There have been numerous articles on this in CQTV, in the Wiki and Forum. It is best to start with the simple standard setup and move on from there once you are clear on how it works. It isn't easy, if it were we would not be doing it.

With the IPTS in on the Portsdown4, I recommend Dominique's FreeStreamCoder along with the OBS virtual camera. Take care to only use the virtual camera plugin, not the one built into more recent versions of OBS.

If you have a Pluto you don't need a Portsdown 4 at all if you use Evariste's firmware. The instructions on how to do this are in the firmware itself via the Pluto built in webserver.

The dropped frames are probably because you are running OBS at 30FPS and encoding to 25FPS. It will be dropping 5 frames each second. Change the frame rate in OBS video output to match if it is bothering you.

Mike

g0mjw
Posts: 2346
Joined: Sat Sep 20, 2014 9:15 am

Re: Streaming IPTS with Pluto

Post by g0mjw » Fri Sep 17, 2021 8:48 am

For reference, here is what I use for streaming h264 directly to a pluto on the USB port of my laptop. No Portsdown involved. This assumes ffmpeg in installed in c:/ffmpeg and Evariste's custom firmware, appropriately set up via its inbuilt web server.

c:\ffmpeg\bin\ffmpeg -f dshow -i video="OBS-Camera" -thread_queue_size 512 -f dshow -i audio="OBS-Audio" -vcodec h264_nvenc -s 768x432 -r 15 -bf 0 -pix_fmt yuv420p -b:v 300k -preset slow -profile:v main -rc cbr_hq -rc-lookahead 5 -acodec aac -aac_coder twoloop -ar 48000 -ac 1 -b:a 32k -f mpegts -muxrate 440k -streamid 0:256 -streamid 1:257 -max_delay 1500000 -metadata service_provider="G0MJW" -metadata service_name="Mike" -y "udp://192.168.2.1:8282?pkt_size=1316"

To do the same to a Portsdown with a LIME it ought to look something like:

c:\ffmpeg\bin\ffmpeg -f dshow -i video="OBS-Camera" -thread_queue_size 512 -f dshow -i audio="OBS-Audio" -vcodec h264_nvenc -s 768x432 -r 15 -bf 0 -pix_fmt yuv420p -b:v 300k -preset slow -profile:v main -rc cbr_hq -rc-lookahead 5 -acodec aac -aac_coder twoloop -ar 48000 -ac 1 -b:a 32k -f mpegts -muxrate 440k -streamid 0:256 -streamid 1:257 -max_delay 1500000 -metadata service_provider="KA5TDA" -metadata service_name="Mike" -y "udp://192.168.1.184:10000?pkt_size=1316"

I don't think this works with the Portdown and Pluto. However it should display on IPTS monitor. The advantage of using the command is you will see debug data and error messages.

Mike

Post Reply

Return to “The Portsdown Digital ATV System”