1
0
mirror of https://github.com/BELABOX/belacoder.git synced 2026-07-04 12:06:41 +00:00
Commit Graph

133 Commits

Author SHA1 Message Date
rationalsa 3ea7746ef8 pipelines/rk3588: convert from libuvch264src to libuvch26xsrc (supporting H264 & H265) 2026-05-15 15:37:57 +00:00
rationalsa 4ef1924a35 Update copyright year 2026-01-18 14:41:30 +00:00
rationalsa ccce9ca33c pipeline/rk3588: add queue between mppvideodec and textoverlay
This fixes some framedropping issues when the overlay is enabled
with the pipelines which rescale in mppvideodec. But we add them
everywhere to increase our performance margins and keep things
consistent

We also change the queue into mppvideodec to the standard length.
We only need one extra long queue per input into the muxer to
accommodate the audio / video delay settings, and we already had
one for video, after encoding
2026-01-16 11:13:38 +00:00
rationalsa 2e035481c6 Increase the stall check interval from 1s to 2s
This will avoid some false-positive stall errors with -2000 ms
audio delay, as well as from brief network cutouts with RTMP / SRT
input
2026-01-16 10:41:01 +00:00
rationalsa f005db2245 pipeline/rk3588: add camlink pipelines 2026-01-15 18:05:55 +00:00
rationalsa 2056728619 pipeline/rk3588: remove unneeded format option to mppvideodec
mppvideodec turns out to always decode to NV12, and them, if a
different format is requested, perform a separate conversion
using RGA. We don't gain anything from this conversion, so remove
the format option
2026-01-15 17:38:26 +00:00
rationalsa 453443991a RK3588: add pipelines for Osmo Action 6
When a 1920x1080 H264 configuration is selected, the OA6 actually
outputs 1920x1088 video, with the top 4 and bottom 4 rows black.
These pipelines crop out the extra blank lines

These pipeline files may be removed in the future if DJI fixes the
video format in a firmware update, or if we end up implementing
an automated workaround for this issue in BELABOX
2025-12-17 10:36:49 +00:00
rationalsa 4956dbf929 Add option for reduced SRT packet length for low MTU networks 2025-05-20 03:21:36 +01:00
rationalsa 2f5df54c86 pipeline/rk3588: add "srt" pipelines that receive from srt-live-transmit's udp:// 2025-04-05 11:34:20 +00:00
rationalsa 9d034f2aad pipelines/jetson: add "srt" pipelines that receive from srt-live-transmit's udp:// 2025-04-04 18:12:00 +01:00
rationalsa 94ca129a56 pipelines/rk3588/libuvch264*: change decoder format to RGBA for better performance 2025-01-11 13:39:45 +00:00
rationalsa c8fa3a26e2 pipelines/rk3588: add libuvch264_1440p60 pipeline 2025-01-09 15:40:02 +00:00
rationalsa 7be460e771 pipelines: add libuvch264_4k_2160p30 on both platforms 2025-01-09 15:37:50 +00:00
rationalsa 88d5e8d22b pipelines/jetson: fix libuvch264_1080p60, and add 1440p60 version 2025-01-09 15:33:01 +00:00
rationalsa b0e7d66ced pipelines: add pipelines that force 60 FPS capture and scale to 1080p 2025-01-05 19:38:14 +00:00
rationalsa cf56321840 jetson: add libuvch264src pipelines 2025-01-05 01:05:51 +00:00
rationalsa 5dcd1262ef rk3588: add libuvch264src pipelines 2025-01-05 01:05:44 +00:00
rationalsa 57b3e9b725 irk3588: rtmp pipelines: move the queues immediately after the flv demuxer
This allows more slack in the timing differences between the video
and audio feeds. Should fix pipeline stalls on DJI RC2 RTMP streams
and maybe other devices too
2024-12-08 21:11:52 +00:00
rationalsa 9d409078bd rk3588: add 1440p pipelines 2024-11-28 21:26:44 +07:00
rationalsa 898d9ce03d Print reason for connection errors 2023-10-08 18:00:53 +00:00
rationalsa 3031d455f6 belacoder: don't log SRT errors after stop() 2023-09-28 00:18:34 +00:00
rationalsa 193f02fc54 new_buf_cb(): return GST_FLOW_ERROR on errors 2023-09-28 00:17:19 +00:00
rationalsa fae9d54885 Close the SRT connection before trying to stop the pipeline 2023-08-12 13:52:33 +00:00
rationalsa 7a0165a444 rk3588: MJPEG pipelines: reduce GOP for the 25/30 fps versions 2023-08-11 17:59:34 +00:00
rationalsa ecf3a8ed8b rk3588: add USB MJPEG pipelines 2023-08-11 17:42:10 +00:00
rationalsa 5f62841815 rk3588: HDMI input pipelines: use /dev/hdmirx instead of /dev/video0 2023-08-11 16:27:46 +00:00
rationalsa 1f8a0acb07 rk3588: use ptsfix for the HDMI pipelines 2023-07-06 03:32:55 +00:00
rationalsa 9e397154a1 pipelines/rk3588: add RTMP pipelines 2023-07-01 23:04:21 +00:00
rationalsa ed8b86e2bc rk3588 pipelines: disable zero-copy encoding
Zero-coppying seems to cause elevated framedropping under high
loadscenarios. I suspect that the buffers weren't returned quickly
enough to the capture card's drivers
2023-07-01 17:18:00 +00:00
rationalsa b5437b55b5 rk3588 pipelines: delete p50, p59.94, p60 piepelines, add auto-framerate pipelines instead 2023-07-01 17:14:21 +00:00
rationalsa c3369b736d rk3588: add test pattern pipeline 2023-07-01 17:06:45 +00:00
rationalsa 554c577ccb Add RK3588 pipelines 2023-06-28 11:32:15 +00:00
rationalsa 561bd415b6 Add 480p pipelines for low bitrate scenarios 2023-05-25 21:24:05 +01:00
rationalsa 55f52e2268 Revert "Don't set SRTO_OHEADBW"
This reverts commit de9b4ab2fc.

Looks like we were sometimes hitting some pathological cases where the
backlog of retransmissions was causing additional packet loss
2023-05-15 18:50:01 +01:00
rationalsa 1ff56d88f3 Jetson: add test sources pipeline 2023-05-14 20:15:56 +01:00
rationalsa 69e3e74d5b Enable ptsfix for all camlink pipelines 2023-04-25 02:23:21 +01:00
rationalsa dc498cc6d2 ptsfix: actually drop frames instead of setting PTS to 0 2023-04-25 02:23:21 +01:00
rationalsa de9b4ab2fc Don't set SRTO_OHEADBW
Retransmissions remain limited by the efficient retransmission
algorithm, but will no longer be limited by SRTO_MAXBW

This is an attempt to reduce glitching under lossy networks -
particularly when using modems or networks which throttle by
dropping packets instead of queuing them
2023-03-22 21:04:31 +00:00
rationalsa 0d8ca0c637 Add an audio only pipeline 2023-02-20 16:06:53 +00:00
rationalsa b752c5abca Add 25 FPS capture card pipelines 2023-02-20 15:32:47 +00:00
rationalsa 397dda1e22 Exit immediately if the pipeline file is empty 2022-12-20 21:06:33 +00:00
rationalsa fb0d2a5b11 Merge branch 'master' into debug_overlay 2022-06-06 23:43:08 +01:00
rationalsa 87af3c8493 Print an error message when the SRT connection fails and stop()
Returning GST_FLOW_ERROR from the appsink seemed to sometimes make
gstreamer print error messages related to the input sources
2022-06-06 23:42:13 +01:00
rationalsa 06ed3ef2df Add a manual SRT connection timeout check
SRT's timeout doesn't work correctly under high RTT. It may be
adding a multiple of the RTT to the timeout duration. In any case,
it can take minutes for it to fail a connection that was running
on a congested connection with RTT in the order of seconds

This could result in the encoder reconnecting to the network,
and showing an active stream, even though it had long since timed
out on the ingest server's side
2022-06-06 23:39:00 +01:00
rationalsa 9ba1a81547 Merge branch 'master' into debug_overlay 2022-05-18 21:29:37 +01:00
rationalsa 4d1a8b859b Relax the conditions for increasing the bitrate 2022-05-18 21:27:08 +01:00
rationalsa af19306cd6 Merge branch 'master' into debug_overlay 2022-03-19 01:15:31 +00:00
rationalsa 5bd998eb62 Add RTMP pipelines with fixed framerates
For use with RTMP sources that don't set the framerate in the SPS
headers, such as Larix Broadcaster.
2022-03-19 01:13:30 +00:00
rationalsa 39c2a5ed4e Merge branch 'master' into debug_overlay 2022-02-21 17:00:08 +00:00
rationalsa 5bb3bea961 Revert "Use the naive retransmission algo"
This reverts commit 2003453d4e.

While it improved behaviour over throttled connections, this seemed
more likely to glitch by oversending excessive amounts of data in
the pathological SRT(la) case when moving from areas with good
reception to areas with significantly worse reception, when the SRT
stats are slow to update causing the bitrate to remain set too high
for a few seconds
2022-02-21 16:36:56 +00:00