Commit Graph

31 Commits

Author SHA1 Message Date
Bruno
f5da4c8bc2 Recording: support for NVIDIA nvenc and improved stability
Let gstreamer appsrc generate PTS automatically (seems to fix crash of encoding after long duration). Added test for GPU encoders and switch if enabled and available.
2021-08-14 13:41:53 +02:00
Bruno
79433dd45c Improved Log message Video recording 2021-08-11 22:17:43 +02:00
Bruno
fe72c9b829 Cleanup and improve stability of FrameGrabber 2021-08-11 20:48:18 +02:00
Bruno
b37d22ba47 Improved FrameGrabber with clock duration and priority strategies
Keep track of actual FrameGrabber duration (different from timestamp). Two strategies for frame PTS: clock and framerate priorities. Implemented variable Framerate selection for VideoRecorder.  Integration of all this in UserInterface and Settings.
2021-08-11 00:20:28 +02:00
Bruno
5a18dbaf37 Video Recoding Buffer management
Implemented methods to supervise encoding in FrameGrabber, avoid running out of buffer, and give user a selection of buffer sizes for recording.
2021-08-08 23:58:35 +02:00
Bruno
e47e76962b Fixed Recording (timing and UI)
Improved frame grabber timing and fixed UserInterface to show the "saving file" info.
2021-08-07 12:34:05 +02:00
Bruno
fb3e1d0d25 Detecting EOF recording and unexpected termination 2021-08-06 21:23:01 +02:00
Bruno
e9b7e55570 work in progress recording probe 2021-08-06 17:56:48 +02:00
Bruno
ec4214ebf8 improved quality realtime recorder h264 2021-06-19 01:03:21 +02:00
brunoherbelin
209caadd44 Bugfix in realtime vtenc OSX recording (allow-frame-reordering=0) 2021-02-08 12:09:53 +01:00
brunoherbelin
56dfbc737d Deep redesign of frame grabbers to prevent multiple frame captures
(slow) and optimize distribution of gabbed frames to multiple recording
and streaming pipelines (e.g. record H264 *and* share stream on the
network). New implementation of Loopback source for LINUX using
v4l2loopback (experimental).
2020-11-09 23:56:41 +01:00
brunoherbelin
940dd0f2a5 Using OSX avenc hardware decoder 2020-10-31 19:19:34 +01:00
brunoherbelin
27239b7513 working on streaming and clients 2020-10-20 00:28:44 +02:00
brunoherbelin
d7893be541 First working implementation of Streamer, with TCP and SharedMemory. 2020-10-18 13:13:07 +02:00
brunoherbelin
59c07ceb96 First working implementation of VideoStreamer 2020-10-17 11:32:29 +02:00
brunoherbelin
007d876dbc Initial commit of Video Streamer. bugFix delete Pbos. 2020-10-14 22:58:02 +02:00
brunoherbelin
3a34da9322 Renaming Recorder to FrameGrabber 2020-10-14 21:04:22 +02:00
brunoherbelin
a4b61927bc minor improvement codec recorder 2020-08-16 23:36:26 +02:00
brunoherbelin
e9440c2326 Avoid unsupported x264 image format (4:4:4 is not standard) 2020-08-02 13:20:25 +02:00
brunoherbelin
acd0689899 Finetuning recorder options 2020-07-28 12:50:31 +02:00
brunoherbelin
b04fce5031 Added recorder H265 encoder profiles 2020-07-28 12:26:41 +02:00
brunoherbelin
5c6a5b57b1 Minor adjustments video recorder 2020-07-28 11:24:30 +02:00
brunoherbelin
e7107ca6c0 Added Timeout to recorder in User Interface and Settings, and duration
query on Recorder.
2020-07-27 23:19:12 +02:00
brunoherbelin
5010ec85cd Finetuning options for ProRes and VP8 encoders to achieve reasonable
performance and quality. Added MultipleJpeg recording profile.
2020-07-27 22:11:47 +02:00
brunoherbelin
e7634941ad pedantic clang compiler 2020-07-27 16:16:16 +02:00
brunoherbelin
3bb3e66f55 Implementation of Recorder with dual PBO mechanism for best efficiency
and compatibility. Fixed user interface and avoid user creating multiple
recorders.
2020-07-27 15:56:24 +02:00
brunoherbelin
3f782736ac Fixed Recorder and Session to allow transfer of recorders when changing
session.
2020-07-27 11:45:15 +02:00
brunoherbelin
60880a1a8b First operational implementation of video recorder. 2020-07-26 23:54:29 +02:00
brunoherbelin
ab7ce4aa40 Video recorder parameters and process figured out. 2020-07-26 19:33:39 +02:00
brunoherbelin
9fdc9e6c1a Early testing of video Recorder 2020-07-26 01:28:20 +02:00
brunoherbelin
978bbff9a7 Implementation of Recorder class. For now, only a capture to PNG is
available, but the mechanism is in place for video capture.
2020-07-23 23:50:32 +02:00