forked from j62/ctbrec
1
0
Fork 0
Commit Graph

541 Commits

Author SHA1 Message Date
0xboobface d2c2cb476b Fix MyFreeCams websocket message parsing 2020-07-03 18:56:59 +02:00
0xboobface 09337aa59a Update Java class with newer Java versions 2020-06-30 20:45:24 +02:00
0xboobface 3382c7ff54 Fix initialization of the range slider 2020-06-30 19:40:08 +02:00
0xboobface d3d9662ec5 Add websocket client 2020-06-20 11:17:19 +02:00
0xboobface e6fa97dc15 Add affiliate link 2020-06-14 15:07:58 +02:00
0xboobface 00692f991e Add UI part for MVLive
At the moment only the thumbnail overview is working. More stuff to come...
2020-06-14 15:07:54 +02:00
0xboobface e59de2f70b Add base classes for Manyvids Live 2020-06-14 15:06:17 +02:00
0xboobface ff08fda618 Set default for max resolution to max value 2020-06-14 11:22:26 +02:00
0xboobface 3b5cbfaddf Fix NPE in getHttpHeaderFactory in MyFreeCamsModel 2020-06-14 11:22:01 +02:00
0xboobface 6e25f98b2b Add range slider for the recording resolution 2020-06-13 20:08:25 +02:00
0xboobface 229fc1f432 Add possibility to add notes to recordings 2020-06-13 19:32:00 +02:00
0xboobface 583c4ec722 Implement bandwidth meter for remote recording 2020-06-12 19:18:53 +02:00
0xboobface 43d2676e11 Add HttpHeaderFactory mechanism
Each model can provide its own factory to provide HTTP headers for the
different download requests (playlist, segment playlist, segments)
2020-06-12 18:24:34 +02:00
0xboobface 06029a1331 Code cleanup 2020-06-12 18:22:12 +02:00
0xboobface cd6175a7eb Add BandwidthMeter, which tracks the current bandwidth usage 2020-06-12 18:21:32 +02:00
0xboobface bd48d6bf9c Set version to 3.8.0 2020-06-12 18:10:56 +02:00
0xboobface 0ed6d93d30 Set version to 3.7.3 2020-06-09 19:36:17 +02:00
0xboobface d55f1c04ee Fix MFC websocket communication
The protocol had been changed for the initial login sequence
2020-06-09 19:33:43 +02:00
0xboobface 7e4a6393b0 Set version to 3.7.2 2020-06-07 13:57:15 +02:00
0xboobface acd6126619 Add "New" tab to each site where it was missing 2020-06-07 13:53:54 +02:00
0xboobface fdce3bcec0 Fix chaturbate login check
The check if ctbrec is logged in always returned true because of a
change on the user profile page. ctbrec now uses the user icon to check,
if the user is the anonymous user or a logged in user.
2020-06-07 12:28:08 +02:00
0xboobface c8614d7208 Set version to 3.7.1 2020-05-31 18:44:04 +02:00
0xboobface 1bea13dc05 Improve server download progress calculation 2020-05-31 17:20:25 +02:00
0xboobface b87f090ac3 Add max resolution setting for the player 2020-05-31 14:50:12 +02:00
0xboobface 258334b637 Add setting to remove recordings after post-processing 2020-05-29 19:50:03 +02:00
0xboobface 0858941b50 Fix NPE in MFC client 2020-05-23 16:20:49 +02:00
0xboobface f1a0e5900c Fix createModelFromUrl for Showup and Fc2Live 2020-05-23 16:20:32 +02:00
0xboobface 3958a7b5f1 Reduce log level in getModelList 2020-05-23 13:47:07 +02:00
0xboobface 9eea66d94f Remove the uid field from ShowupModel 2020-05-20 19:37:01 +02:00
0xboobface 9462a31111 Improve detection of stream termination 2020-05-20 19:00:09 +02:00
0xboobface c05785cd20 Improve Showup online detection 2020-05-20 18:18:29 +02:00
0xboobface e096e8555f Fix possible NPE 2020-05-20 18:17:58 +02:00
0xboobface 33a0094b19 Adjust to Stripchat API changes 2020-05-20 18:17:46 +02:00
0xboobface a91923baff Use the small preview image for the thumbnails 2020-05-16 22:45:15 +02:00
0xboobface 66b37b65c0 Set version to 3.7.0 2020-05-16 22:20:06 +02:00
0xboobface 9cd9bdf973 Remove handling for online states private and group
They don't seem to affect the recording of the stream
2020-05-16 22:19:55 +02:00
0xboobface 39c1fd94ba Fix isOnline for SHowupModel 2020-05-16 21:34:39 +02:00
0xboobface 1a5c32167e Preparation for Showup login 2020-05-16 21:30:25 +02:00
0xboobface 6c85a2a493 First working version of Showup.tv 2020-05-16 16:28:44 +02:00
0xboobface bd92c315fb Set version to 3.6.4 2020-05-13 18:46:24 +02:00
0xboobface ef3c036f49 Fix race condition causing orphaned FFmpeg processes
The problem was, that an error occured before FFmpeg was completely
launched. ctbrec called internalStop, but the FFmpeg fields still
pointed to null. ctbrec then finished the recording. In the meantime
FFmpeg fired up and was abandoned by the recording.
2020-05-10 14:58:42 +02:00
0xboobface b820021aee Spawn FFmpeg process only if playlist request was successful 2020-05-10 13:16:47 +02:00
0xboobface e6dae3b2af Set version to 3.6.3 2020-05-10 12:03:32 +02:00
0xboobface 2e4ec80bd8 Reduce visibility of public method 2020-05-10 10:43:53 +02:00
0xboobface 3c4ef05a48 Fix NPE in internalStop 2020-05-10 10:43:37 +02:00
0xboobface cd5172613e Fixed player start for recordings starting with a dash 2020-05-03 15:32:54 +02:00
0xboobface 8cdc2a4a56 Set version to 3.6.2 2020-05-02 14:43:20 +02:00
0xboobface df50646627 Change FFmpeg termination handling again
FFmpeg was killed to early, so that the file encoding was not finished
properly. For example the moov atom was not written for MP4 files. We
now wait at most 5 minutes for FFmpeg to finish and only kill it then
with force.
2020-05-02 12:45:15 +02:00
0xboobface b402bb0df7 Set version to 3.6.1 2020-04-28 22:07:38 +02:00
0xboobface a0d9835192 Fix streamate stream source parsing 2020-04-28 22:05:06 +02:00
0xboobface d78f96fef6 Improve handling of recording termination
This change hopefully helps to terminate FFmpeg reliably once a
recording terminates.
2020-04-25 15:42:41 +02:00
0xboobface 3c86310edf Add stream source "Origin" 2020-04-23 19:28:12 +02:00
0xboobface a30d4ed463 Change data type of all Integer fields to String 2020-04-18 19:51:40 +02:00
0xboobface 0c7650f94f Remove retry loop in getNextSegments
This might cause blocks by MFC because we are asking for a resource,
which is not available.
2020-04-18 19:50:42 +02:00
0xboobface a37a018159 Remove outdated settings for MFC 2020-04-13 19:43:33 +02:00
0xboobface aa42e82153 Set version to 3.6.0 2020-04-13 18:53:29 +02:00
0xboobface e5a9c468eb Remove "(broken)" from MFC's title 2020-04-13 18:52:29 +02:00
0xboobface ae6fa229e7 Add user-agent agent header to every http request in MFC classes 2020-04-13 18:42:57 +02:00
0xboobface 970b9ab574 Fix follow/unfollow for BongaCams 2020-03-28 13:07:54 +01:00
0xboobface 915be1d4fc Save column order in tables 2020-03-22 13:54:31 +01:00
0xboobface 243d2757b0 Set version to 3.5.0 2020-03-19 15:01:34 +01:00
0xboobface 13da583483 Revert refresh of segment playlist url 2020-03-19 15:00:23 +01:00
0xboobface d716354dc1 Add config setting for the number post-processing threads 2020-03-17 20:20:11 +01:00
0xboobface ff9ff8f40f Add dialog to specify media player params in the settings 2020-03-16 20:51:09 +01:00
0xboobface 6f57579041 Add pinning for recordings
Recordings can now be set to pinned. Pinned recordings cannot be
deleted.
2020-03-16 16:10:09 +01:00
ctbrec-contrib-01 e333722522 Improve directory size update performance
Use NIO Files.walkFileTree() instead of IO File.ListFiles() API.
Speed improvement was ~6.1s -> ~4.4s on my recordings list.

TODO: implement more intelligent refresh.
2020-03-03 19:53:29 +01:00
0xboobface 2eb1b17513 Change cookie name of the sorting settings 2020-03-02 20:45:24 +01:00
0xboobface 2f013bc870 Change BongaCams online check 2020-02-29 18:30:57 +01:00
0xboobface 3636d34d22 Set version to 3.4.0 2020-02-27 20:59:53 +01:00
0xboobface 46bd8667c8 Separate site name and displayed title 2020-02-26 21:40:58 +01:00
0xboobface 8cafc7124f Add search for Stripchat 2020-02-23 19:36:14 +01:00
0xboobface e4b9da7685 First working implementation for Stripchat 2020-02-23 18:47:37 +01:00
0xboobface 4dcf9944f8 Set version to 3.3.0 2020-02-22 17:57:03 +01:00
0xboobface 71be9b3665 Improve support for server-side single files 2020-02-22 17:40:22 +01:00
0xboobface 351066e869 Add comment 2020-02-22 14:35:04 +01:00
0xboobface bc929cc6e1 Switch to MergedFfmpegHlsDownload 2020-02-22 14:33:51 +01:00
0xboobface 4f9c1606fc Fix download of recordings 2020-02-22 14:26:50 +01:00
0xboobface 4ebc847720 Use MergedFfmpegHlsDownload for merged HLS downloads 2020-02-22 13:27:17 +01:00
0xboobface 1e95872cb7 Disguise FFmpeg as normal browser 2020-02-22 12:38:28 +01:00
0xboobface f98d442096 Implement custom command line parameters and clean shutdown 2020-02-22 12:19:32 +01:00
0xboobface d2f490f8f6 Add FFmpeg downloaders 2020-02-22 11:20:10 +01:00
0xboobface e98a3bc7c2 Set version to 3.2.1 2020-02-16 17:04:46 +01:00
0xboobface 110fc2a6bf Fix LiveJasmin HD recordings 2020-02-16 15:18:38 +01:00
0xboobface b18a32ede3 Fix LiveJasmin followed tab 2020-02-16 13:28:33 +01:00
0xboobface 9a4461a0d1 Set version to 3.2.0 2020-02-01 10:03:56 +01:00
0xboobface 316d2a7e22 Fix loading of the Streamate model ID 2020-01-31 19:50:17 +01:00
0xboobface 741072b1f0 Rename site to MyFreeCams (broken) 2020-01-26 19:18:30 +01:00
0xboobface 18669a9c43 Fix Streamate
Streamate introduced a CSRF token, which has to be sent in the HTTP
header.
2020-01-26 18:33:13 +01:00
0xboobface 3cf6038da0 Don't kill the ws in the keep-alive thread, if it is establishing a
connection
2020-01-11 13:20:49 +01:00
0xboobface b66989fe85 Set version to 3.1.0 2020-01-11 11:30:02 +01:00
0xboobface 3bb161c055 Add columns "last recorded" and "last seen" to models table 2020-01-05 16:02:22 +01:00
0xboobface 9037b525bd Code cleanup 2020-01-04 16:13:03 +01:00
0xboobface 242897719b Sort models by prio before online check 2020-01-04 15:59:11 +01:00
0xboobface d82c3b490b Implement recording priorities for RemoteRecorder 2020-01-04 15:30:54 +01:00
0xboobface 5448763b9d Fix possible NPE 2020-01-03 21:53:37 +01:00
0xboobface 4d6e74562c Add recording priority for models
Models with high priority will be favored over models with low priority.
Recordings for models with low priority might even get stopped to free
up a slot for a model with a higher priority
2020-01-03 19:06:05 +01:00
0xboobface 808810b6d6 Set version to 3.0.4 2020-01-03 12:43:07 +01:00
0xboobface b12f3e5789 Add setting to switch between DASH and HLS for MFC 2020-01-03 12:27:06 +01:00
0xboobface d8e78bb910 Add null check 2019-12-31 12:53:12 +01:00
0xboobface 643650d69e Change log level 2019-12-30 18:54:47 +01:00
0xboobface c767d14aa9 Use one global connection pool for all http clients 2019-12-30 18:49:50 +01:00
0xboobface 52bc8a6b64 Check the online state of models in parallel
For each site a SingleThreadExecutor is used to check the online state
of the site's models in series. These SingleThreadExecutors run in
parallel to speed the online check up.
2019-12-30 18:30:31 +01:00
0xboobface 24cb3ecf99 Use HLS streaming for MFC models again 2019-12-30 16:15:47 +01:00
0xboobface 499708ffcf Set version to 3.0.3 2019-12-30 14:52:04 +01:00
0xboobface 5ac4241886 Improve logging 2019-12-30 11:59:53 +01:00
0xboobface 5ecad75b0d Wait for stdout and stderr log threads to finish 2019-12-29 22:04:50 +01:00
0xboobface b37178170b Improve logging 2019-12-29 20:50:34 +01:00
0xboobface e0f494d6da Improve recording download from server 2019-12-29 15:39:44 +01:00
0xboobface 8596b1e6e1 Fix log statement, which prevent getMasterPlaylist form working 2019-12-29 15:07:09 +01:00
0xboobface 16dfc07a8e Use AtomicBoolen to indicate, if a download has finished 2019-12-29 14:29:36 +01:00
0xboobface 85bacb8c04 Remove recordings, which fail immediately after starting 2019-12-28 19:58:04 +01:00
0xboobface e333175ecb Fix stream URL for wowza HLS streaming 2019-12-28 19:54:55 +01:00
0xboobface a9d87bfd99 Code cleanup 2019-12-28 19:54:04 +01:00
0xboobface 672d7c23ec Stop immediately, if the manifest download fails and the model is
offline
2019-12-28 19:51:59 +01:00
0xboobface 678a6e5513 Remove redundant log message 2019-12-28 19:50:58 +01:00
0xboobface d820d611f1 Try to update the segment playlist URL, if loading the playlist fails 2019-12-28 16:59:20 +01:00
0xboobface 0fe466bc1a Don't catch exceptions in generatePlaylist 2019-12-28 16:58:43 +01:00
0xboobface a3dee454a5 Write the output of FFmpeg to a log file in the segment directory 2019-12-28 16:57:55 +01:00
0xboobface 2da3d64ac8 Make Model and Download serializable 2019-12-28 16:57:11 +01:00
0xboobface a165a83dca If a recording does not exist, show n/a for its size 2019-12-28 16:56:18 +01:00
0xboobface 6fcbdab174 Reset state to WAITING for FAILED, PP and GENERATING_PLAYLIST on start 2019-12-28 15:42:45 +01:00
0xboobface a59313df49 Code cleanup 2019-12-28 15:38:33 +01:00
0xboobface d742756413 Combine recordings and model locks to one lock
Using 2 locks caused deadlocks.
2019-12-27 23:35:49 +01:00
0xboobface 296396f2d3 Set version to 3.0.2 2019-12-27 15:17:53 +01:00
0xboobface 87b0ce0d21 Use constants from HttpConstants 2019-12-27 15:14:55 +01:00
0xboobface b91bfdc353 Introduce new HttpConstants class for header constants etc 2019-12-27 14:27:10 +01:00
0xboobface 4f852bd5f3 Create a temporary directory for HLS downloads
Create a temporary download directory similar to DASH downloads
2019-12-27 14:26:48 +01:00
0xboobface e8fccb327a Determine the movie's length from the MP4 file
Use the time spent recording the stream as a fallback
2019-12-27 14:21:09 +01:00
0xboobface da4c1bda2c Change log levels of some log messages 2019-12-27 14:02:33 +01:00
0xboobface b72777f6fb Code cleanup 2019-12-27 13:51:48 +01:00
0xboobface f3a13a6f06 Fix CamSoda downloads
Some models now have a different stream URL. ctbrec has to distiguish
between the old and the new URLs
2019-12-27 13:51:28 +01:00
0xboobface 33c7c6606d Improve playlist loading for Cam4Model
Also improve isOnline to take into account, if a playlist url is
available or not
2019-12-26 23:44:26 +01:00
0xboobface 55760a1b7d Fix log messages 2019-12-26 23:43:32 +01:00
0xboobface df3e87f1dd Add loop to get manifest for retries
Try to download the manifest 10 times with a little break in between
before giving up causing the download to terminate
2019-12-26 22:19:25 +01:00
0xboobface c2901284ef Improve error handling in downloads 2019-12-26 21:47:03 +01:00
0xboobface c774a29421 Improve error handling for loading the master playlist for Cam4Models 2019-12-26 21:46:57 +01:00
0xboobface 5b2ddfb825 Fix NPE in MergedHlsDownload 2019-12-26 21:46:50 +01:00
0xboobface d48498e715 Change PlaylistGenerator.genertate to not return null
Instead an exception is thrown, if something goes wrong
2019-12-26 21:46:46 +01:00
0xboobface a33d3045c1 Improve segment download retry code 2019-12-26 21:46:37 +01:00
0xboobface 6cc8fd9cc2 Fix post-processing timestamp problems 2019-12-26 21:46:33 +01:00
0xboobface b8cdb2200e Remove mpegts library 2019-12-26 21:46:27 +01:00
0xboobface 67c69e3c1b Fix call of user defined pp script 2019-12-26 21:46:18 +01:00
0xboobface 8dfc4c775f Add post-processing support to the DashDownload 2019-12-26 21:46:15 +01:00
0xboobface a018b15384 Improve DashDownload handling of init segments
After an init segment has been downloaded, check, if exists and is not empty before
setting the booleans to true, which determine, that the files have been loaded
2019-12-26 21:46:12 +01:00
0xboobface 33c298d558 Set version to 3.0.1 2019-12-26 21:46:06 +01:00
0xboobface 2973dd2e6d Code cleanup 2019-12-26 21:45:53 +01:00
0xboobface da28d02da8 Implement getLength in MergedHlsDownload with jcodec 2019-12-26 21:45:43 +01:00
0xboobface 66525de4ea Run FFmpeg in the segments directory of HLS downloads 2019-12-26 21:45:29 +01:00
0xboobface 5b9b91d6e8 Add try-with-resources blocks to free up the HLS playlist file handle 2019-12-26 21:45:22 +01:00
0xboobface 5d2d5145b9 Remove dependency to isoparser library 2019-12-22 11:14:33 +01:00