You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Recently a new feature was added to majestic, that allows some encoder parameters, important for FPV, to be changed realtime by external requests.
For example, to change bitrate curl -s http://localhost/api/v1/set?video0.bitrate=7000
So I tried curl -s http://localhost/api/v1/set?video0.enabled=false or curl -s http://localhost/api/v1/set?outgoing.enabled=false , but they do not seem to affect anything.
These settings are present in majestic yaml as
For dual camera setups, when switching between cameras, I need to enable one majestic and disable the other.
Setting the parameters above and restarting majestic works, but this causes video delay of more than a second.
Like this:
It would be better to be able to start/stop video output with the new interface with a simple web call.
So a ssh to the second cam will not be required and there will be no video interruption.
Any of the two settings above will do the job, even simply changing the output server udp address is enough.
The text was updated successfully, but these errors were encountered:
I have created majestic plugins, so I can implement the functionality there.
Can you at least point me how to stop/start sigmastar video encoder from within a plugin?
I can access the VENC API from there, calling MI_VENC_StopRecvPic(...) seems the easy part , but I can't recreate the process majestic uses to initialize a stream with MI_VENC_StartRecvPic(...)
So I need some hints how to pause the encoder or how to redirect majestic output to some other endpoint.
Thanks
So, seems brute-force pause/resume video via plugin is working, although I'm not sure whether it will not cause any problems with majestic
static void pauseVideo(const char *value) {
int res = MI_VENC_StopRecvPic(0);
RETURN("Video paused %d",res);
}
static void resumeVideo(const char *value) {
int res = MI_VENC_StartRecvPic(0);
RETURN("Video resumed %d",res);
}
It turned out that plugin server binds to 127.0.0.1:4000 instead of 0.0.0.0:4000
So I had to create a simple redirection to make it accessible from the outside.
while true; do
nc -l -p 4001 | nc 127.0.0.1 4000
done```
Recently a new feature was added to majestic, that allows some encoder parameters, important for FPV, to be changed realtime by external requests.
For example, to change bitrate
curl -s http://localhost/api/v1/set?video0.bitrate=7000
So I tried
curl -s http://localhost/api/v1/set?video0.enabled=false
orcurl -s http://localhost/api/v1/set?outgoing.enabled=false
, but they do not seem to affect anything.These settings are present in majestic yaml as
For dual camera setups, when switching between cameras, I need to enable one majestic and disable the other.
Setting the parameters above and restarting majestic works, but this causes video delay of more than a second.
Like this:
It would be better to be able to start/stop video output with the new interface with a simple web call.
So a ssh to the second cam will not be required and there will be no video interruption.
Any of the two settings above will do the job, even simply changing the output server udp address is enough.
The text was updated successfully, but these errors were encountered: