This forum is run by the BATC (British Amateur Television Club), it is service made freely available to all interested parties, please do not abuse this privilege.
I would appreciate any comments and/or pointers from those of you who are successfully using this combination.
The Encoder box appears to work fine on its own and I can view its streams using VLC. However it's behavior when being controlled by the Pluto seems to be very unpredictable.
I also seem to have to reboot the Pluto regularly when it fails to respond to the network. This is despite trying several power supplies and Ethernet adapters.
However I have managed to get it to transmit H265 encoded video (sometimes). However it never had any sound. When I inspected the H265 Box the sound was always turned off and indeed the stream did not have any sound PIDs in it. If I manually turn on the sound the Pluto stops transmitting. When I restart the transmission or make any changes to the parameters on the Pluto it resets the sound to OFF.
After some investigation I found the file 'encoder_control.php' in the Plutos www directory, I also found the setting needed is 'audioen' by looking at the H265 Box's web page. The Pluto file does not include this setting so I can only assume that the box is defaulting to audio OFF.
By adding the line <audioen>1</audioen> to the set_enc_video function in encoder_control.php I can get the sound to turn on and the Pluto then sees the sound PID and sends sound. However because the Pluto's file system is in ram my change does not survive a reboot.
Does anyone else have this problem? I suspect not. I wonder if my box has different firmware to those others are using.
Is there a way of changing a file permanently on the Pluto?
Is there a any way to use the Encoder box to generate H264 video with the Pluto?
Whenever I tried to change the encoder setting the Pluto changes it back again. Is the only option to turn the Encoder box off and use RTMP direct from OBS? That seems a messy way to do things.
Confused.... Colin G4EML
You can't change a file permanently in the file system as it's a ram disk. The only option is to load what you want each time. I have the same problem trying to get the audio rate down for low SR. Of course if you can make a transport stream and send as UDP it will send it just fine. This is how I send H264 and H265. I just let OBS get on with it and send as UDP. It works well enough and you don't need a box at all. You can do the same with the Nano.
Changing things permanently in the pluto file system requires new firmware and that's hard to set up. I would like to get to that stage but I don't ave time at the moment and in any case the latest firmware source code is not available. Development seems to have stopped for the moment so not sure where we are. I expect Evariste will pick it up again at some point.
That seems to confirm my findings.
I need the box as my shack PC doesn't have a suitable graphics card to do the H265 encoding.
Actually I found it difficult to stop the Pluto from taking control. It almost seems if the H265 Box is on the network it will send it commands. I guess the way to stop that is to enter an invalid address for the box in the pluto.
It does seem to set the box automatically to give a usable stream for the SR selected. That bit of it does seem to work. I can change from 333 to 66 on the Pluto control page and it adjusts the resolution and bitrate of the H265 box to suit. But its always H265 and the sound is always off!
Yes, it would be nice to be able to build firmware for the Pluto, even for small changes like this. But unless Evariste decides to release the source that's not going to happen.
I am looking at the option of plugging a USB thumb drive into the Pluto. According to the ADI website a file on the USB drive called 'runme01' should be executed automatically. If that was a suitable script it might be a way to modify the filesystem on every reboot. It will need a USB Hub on the OTG port though. (more Cables!)
I did ask Evariste about it one evening on the chat-box and it is only doing 265 at present.
Yes if the Pluto finds the encoder box it does take over and that is the only way to operate it, if you wish to use rtmp or other methods then I just drop power to the Encoder and reset the Pluto. That way I can do RTMP with H264 using OBS Studio.
I also use the Encoder as the graphics card is not H265 capable being an older machine.
You mention problems with the Pluto despite several PSU's and network adaptors. I would suggest, if you have not done so, apply the ground mod on the Pluto, this OTG power sensing has caused many a person issues.
Lastly on the audio. My Pluto is switched on all the time, so is the Encoder box, my PC running OBS is not. What appears to happen is on PC switch on the encoder detects the video from the PC (3rd monitor output) but no audio as I am not at that stage pushing audio from OBS to the HDMI port. So that is the mode Pluto and the box enter. I start up OBS studio, that sends audio as well as projector to the HDMI port. to bring on audio I just click on the apply settings on Pluto control panel, it restarts the stream input, detects audio in the stream and works.
You will notice that when ever you boot the Pluto it always starts in transmit mode, this was done I believe to provide a non PC type operation for portable use.
Evariste is an amateur and does the software in his own time. There are probably things going on at the moment that has a higher precedence for him and I am grateful for what he has done to date, I also await further enhancements especially as he seems to be going for DATV receive as well.
Thanks for the reply. It seems to confirm what I found. It’s nice to know a I am not missing something obvious. I have done the ground mod on my Pluto so I don’t think my problem lies there.
I have tried your suggestion of getting the sound to work but in my case it always comes up turned off regardless of the order I do things. I do have a fix but it involves modifying the file on the Pluto every reboot. I am sure I can automate that somehow either with a USB memory stick or by downloading from the PC.
One thing I have never got working is RTMP streaming with the ‘for the brave’ firmware. It streams fine but doesn’t seem to produce any output. The previous firmware works OK with the same settings. Others have reported the same thing. Interesting that you have it working, I may have to try again.
I do appreciate all the work Evariste does for amateur TV, without him I don’t think we would be where we are today.
By connecting a small USB hub to the Pluto OTG port I can connect both the Ethernet adaptor and a USB flash drive.
On the flash drive is a modified version of encoder_control.psp and a file called runme0.sh.
When the Pluto boots it autoruns the runme0.sh file which copies the updated encoder_control.psp onto the Pluto.
Interestingly the Pluto hasn’t crashed with this setup. Doesn’t make much sense though as the hub is not a powered one.
I just used a small 4 port unpowered USB hub and an old 128MB (yes MB not GB) memory stick.
It auto mounts on /media/sda
I then SSH’d into the Pluto and copied the .php file to the stick where it can be modified.
Files named runmex.sh where x is a number will be auto-run in the order of the numbers.
Potentially that should allow us to make any changes we like to the firmware filesystem.
Apparently the hidden button on the Pluto will unmount the drive if you need to remove it.
I'll have to order a different hub and try again.
I'm still using a very old version of pluto firmware, probably the first that controlled the Encoder Box. (it still needs prior script adjustment to make it work)
The later versions do not play at all well here.
If the sound is missing on the HDMI input which often is from the pc output then the pluto will not Tx as it's expecting sound channel.
The blank dropdowns in the Encoder Box settings, for example resolution, are where the setting is not available on the web interface, i found extra resolutions by accident as the default minimum is 1280x720.
Every time the settings on the pluto are altered it re-configures the Encoder Box to follow any parameter changes which make the overall bit-rate different.
The codec setting is inside strategy.sh.
The earlier version of the pluto firmware build source is on Evariste's github and it possible to make work as i did...
be prepared to waste a few days trying if you do
I might have been lucky with my choice of USB hub. I have some others that I will try later today. There are also some hubs available designed for OTG use on tablets, I have one on order to try.
I found the strategy.sh file and have worked out basically how the encoder box is controlled. I think it should be possible to add support for H264 as well by adding an extra selection to the Pluto control page. The strategy script would need to calculate the lower suitable resolution. That way the same OBS setup could be used for both.
I am using the latest release of Evariste’s firmware. Previously I had problems with it but with this setup it seems to work much better.