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
0xboobface
f91a0d27eb
Improve exception handling
...
Change exception handling so that failed post-processing causes the
recording to have the state "failed"
2019-12-21 22:04:59 +01:00
0xboobface
2fb2c932aa
Fix "rerun pp" for MFC dash downloads
2019-12-21 18:59:31 +01:00
0xboobface
bdf7d99ef3
Fix handling of recording structure
2019-12-21 17:04:27 +01:00
0xboobface
a4b805c038
Set version to 3.0.0
2019-12-21 14:33:45 +01:00
0xboobface
4eeb101cbb
Fix recording downloads from server to client
2019-12-21 14:30:57 +01:00
0xboobface
e37c869695
Merge branch 'dev' into mp4-streaming
2019-12-17 21:27:16 +01:00
0xboobface
e734d46e9c
Add gitattributes and run initial normalization
2019-12-17 21:13:18 +01:00
0xboobface
b9f463d0dd
Bump version to 2.3.0
2019-12-08 19:04:22 +01:00
0xboobface
034fe81081
Use FFmpeg to merge HLS segments
2019-12-07 16:58:56 +01:00
0xboobface
32d7a788e0
Add faststart argument to FFmpeg cmdline
2019-12-07 16:58:11 +01:00
0xboobface
1c64b82deb
Add providers for MFC streams sources
...
Since MFC uses different streaming technologies, the stream sources have
to be determined differently. This is now done in dedicated
StreamSourceProvider classes.
2019-12-07 12:00:05 +01:00
0xboobface
26bf26de0a
Fix some code smells
2019-12-06 20:20:50 +01:00
0xboobface
00ea43c8b3
Move HLS related classes ot own package
2019-11-30 16:40:01 +01:00
0xboobface
40c910bd5c
Add JAXB domain classes for MPEG-DASH manifests
2019-11-30 16:37:39 +01:00
0xboobface
f23c33d30a
Move HLS related classes to own package
2019-11-30 16:36:45 +01:00
0xboobface
43dfc4e59c
Set versions in maven POMs
2019-11-23 17:14:44 +01:00
0xboobface
011e8c2f29
Improve thread interrupt and lock handling
2019-11-23 17:13:27 +01:00
0xboobface
8935dd8185
Be a bit more relaxed with deleting recordings
2019-08-16 19:34:07 +02:00
0xboobface
372fce2899
Update the RunningTheServer page
2019-08-10 20:24:27 +02:00
0xboobface
7c29bba16e
Set version to 2.2.0
2019-08-10 18:25:40 +02:00
0xboobface
f12a20a15e
Add support for TLS and changing the context path
2019-08-10 17:45:13 +02:00
0xboobface
bb02b5fd9f
Add HMAC support to the webinterface
...
The webinterface didn't work, if HMAC authentication was enabled.
To make this work, the webinterface downloads the HMAC from the
server and stores it in the local storage of the browser. The
download URL is secured by Basic Auth. The credentials are configured
in the server.json
2019-08-04 12:51:13 +02:00
0xboobface
8450ddd98c
Increase version to 2.1.0
2019-07-27 18:27:54 +02:00
0xboobface
bc724b2f42
Add setting to switch on/off the server webinterface
2019-07-27 17:55:42 +02:00
0xboobface
1e5eff780c
Add input field to add models by URL
2019-07-27 16:53:26 +02:00
0xboobface
2131b596cb
Make loading of recording meta data more robust
2019-07-21 11:23:10 +02:00
0xboobface
e39ff8d7d4
Make sure, the metadata file is set before other operations
2019-07-21 10:48:12 +02:00
0xboobface
d798069a71
Handle models with unknown site
...
Make sure, the recorder does not crash, if a model with unknown site
exists in the condif
2019-07-21 10:46:19 +02:00
0xboobface
1db79541ff
Add web interface for the server
2019-07-21 10:39:00 +02:00
0xboobface
d56f2a1bc1
Handle BOM properly in config file
2019-07-19 19:15:38 +02:00
0xboobface
ddbd8de900
Fix Flirt4Free thumb overviews and recording
2019-06-08 10:34:44 +02:00
0xboobface
ca17d4758c
Increase version to 2.0.1
2019-06-07 21:24:12 +02:00
0xboobface
60aaacc294
Make sure that the recordingsDir path doesn't end with a /
2019-06-07 21:23:37 +02:00
0xboobface
645f0b8231
Hopefully fixed some deadlocks
2019-06-03 21:16:35 +02:00
0xboobface
b136fce0db
Add menu entry to rerun the post-processing script
...
In client/server mode this will trigger the playlist generation and
post-processing. In standalone mode only the post-processing will be
executed.
2019-06-02 19:53:25 +02:00
0xboobface
da486bbf4a
Make recorder and RecordingManager thread-safe
2019-06-02 16:51:42 +02:00
0xboobface
f2cae6a312
Fix model online check for BongaCams
2019-06-02 16:51:07 +02:00
0xboobface
43cfea36de
Wait a few seconds after a problem (404,403) with the HLS playlist occured
2019-06-01 17:27:59 +02:00
0xboobface
25770111da
Delete recordings, which have a size of 0
2019-06-01 17:27:16 +02:00
0xboobface
c0167155f3
Automatically delete empty recordings
2019-06-01 16:35:57 +02:00
0xboobface
501f685626
Remove debug output
2019-06-01 16:12:36 +02:00
0xboobface
ebe9d0cf5e
Fix remaining problems with remote recording
2019-06-01 15:33:47 +02:00
0xboobface
9302dffd7f
Set version to 2.0.0
2019-06-01 15:32:47 +02:00
0xboobface
f11fcf7ca1
Rewrite recording code for remote recording
2019-06-01 12:12:46 +02:00
0xboobface
0f3d0b6337
Rewrite recording code for local recording
...
Remote recording is TBD
2019-05-31 20:00:07 +02:00
0xboobface
f7ac97c683
Implement interface changes
2019-05-11 15:12:48 +02:00
0xboobface
ca8e0a269e
Remove caches from Chaturbate code
...
- Remove caches from the Chaturbate class
- Move all model related code from Chaturbate to ChaturbateModel
- Use a User-Agent string in all HTTP requests
2019-05-11 15:10:42 +02:00
0xboobface
35c8378d88
Add mechanism to restrict the number of requests
...
Flirt4Free is finnicky with the amount of requests you can do. So we use
a mechanism to only allow 2 requests at a time and a cooldown of 500 ms
between requests.
2019-05-11 15:03:15 +02:00
0xboobface
6c9bff56fc
Revert "Remove online check for currently running recordings"
...
This reverts commit e4ab0873bc
.
2019-05-11 13:31:09 +02:00
0xboobface
77fa7eba40
Don't start recordings, if the recorder has been shut down
2019-04-21 16:11:03 +02:00
0xboobface
ee3ae3ef43
Add logging for unexpected errors
2019-04-21 15:05:13 +02:00
0xboobface
1b129ebd41
Add suffix parameter to getFileForRecording
...
This allows different download types to support different file types
2019-04-21 12:42:48 +02:00
0xboobface
0b7eeca5f7
Fix: Post-Processing for split recordings
2019-04-20 22:01:53 +02:00
0xboobface
c1bbce7bcd
Move UnknownModel to its own class
2019-04-20 21:49:23 +02:00
0xboobface
33c4468d1b
Merge branch 'master' into dev
2019-04-20 16:06:17 +02:00
0xboobface
f4b7141a63
Increase version to 1.21.1
2019-04-20 16:03:04 +02:00
0xboobface
c17fe9c173
Fix: Check for empty playlists used the wrong tag
...
Use #EXTINF to check, if a playlist has entries instead of #EXT-X-STREAM-INF, which was accidentally used.
This tag only occurs in master playlists.
2019-04-20 15:54:54 +02:00
0xboobface
133afc2475
Merge branch pprefactor
2019-04-20 15:24:43 +02:00
0xboobface
85411fea2e
Handle empty playlists more gracefully
...
Check, if a playlist is empty, before parsing it with open-m3u8. If it
is empty, return an empty SegmentPlaylist instead of throwing a
ParseException
2019-04-20 14:39:44 +02:00
0xboobface
b854455f8a
Increase version to 1.21.0
2019-04-20 14:27:01 +02:00
0xboobface
f170ce2b07
Improve logging
2019-04-20 14:26:31 +02:00
0xboobface
3cd341d88e
Set affiliate link
2019-04-20 12:50:27 +02:00
0xboobface
6e6597d372
Move post-processing from LocalRecorder to Download
2019-04-20 11:49:41 +02:00
0xboobface
4bc92a9dda
Remove debug output
2019-04-18 20:21:09 +02:00
0xboobface
2d048369a1
Fix JSON exception in isOnline
2019-04-17 14:37:47 +02:00
0xboobface
204eb99b29
Implement follow/unfollow for Flirt4Free
2019-04-16 19:51:57 +02:00
0xboobface
8f5c7ac9c4
Implement login and token balance
2019-04-15 19:17:41 +02:00
0xboobface
50c38d16a7
Implement login for Flirt4Free
2019-04-15 19:16:04 +02:00
0xboobface
8910dd8c4a
Sort fields in Settings by name
2019-04-15 18:19:34 +02:00
0xboobface
1700eeecf5
Implement search for Flirt4Free
2019-04-15 17:42:20 +02:00
0xboobface
94460d1e94
Implement "add by name" and "add by url"
2019-04-15 16:39:09 +02:00
0xboobface
f1d11c07b5
Merge branch 'dev' into flirt4free
2019-04-15 16:02:35 +02:00
0xboobface
8eb5f3f33d
Set version to 1.20.0
2019-04-14 20:38:32 +02:00
0xboobface
15bfe0f44f
Add basic functionality for Flirt4Free
2019-04-12 21:57:53 +02:00
0xboobface
e4ab0873bc
Remove online check for currently running recordings
...
For models, which are currently recorded, a online check is not
necessary. INstead we can assume, that the model is online and continue
with the next one
2019-04-12 21:57:32 +02:00
0xboobface
ca2ceb7f43
Add support for HLS AES encryption
2019-04-12 19:33:18 +02:00
0xboobface
6c6fadd742
Set isOnline to false, of the model is not online
2019-04-10 14:36:24 +02:00
0xboobface
601669fdd6
Added menu entry to ignore models
...
Ignored models are not displayed in the thumb overview tab. This is
useful, if you don't like a model and want to get rid of it for good
2019-04-07 18:43:06 +02:00
0xboobface
458e05d2b4
Add notes column to recorded models tab
2019-04-07 18:11:27 +02:00
0xboobface
2a74761c54
Make sure the playlist is not empty when checking the online state
2019-04-07 12:03:00 +02:00
0xboobface
38d65c4b7d
Remove test class
2019-04-04 19:11:03 +02:00
0xboobface
73221ce881
Set version to 1.19.1
2019-04-04 19:00:49 +02:00
0xboobface
3e4ad5272b
Replace deprecated calls
2019-04-04 18:58:45 +02:00
0xboobface
7ffa41944c
Fix online check for BongaCams
...
The online check now consists of three steps: 1. check, if the model's
state is online on its profile page. 2. check, if the room status is
public with getRoomData 3. check, if the stream playlist is available
2019-04-04 18:07:19 +02:00
0xboobface
335233f473
Replace EvictingQueue with own implementation
...
For some unknown reason the EvictingQueue didn't evict or evicted only
partially. Nevertheless it caused an OutOfMemoryError.
2019-03-21 14:51:52 +01:00
0xboobface
1dd432dbd9
Add base URL setting for Bongacams
2019-03-05 17:01:42 +01:00
0xboobface
a249be01c7
Fix: Adjust Streamate search code to new JSON format
...
Streamate has changed the JSON response for the search. This change
adjusts our code to handle that new format.
2019-02-22 13:42:44 +01:00
0xboobface
37fc341767
Remove debug log
2019-02-20 13:47:34 +01:00
0xboobface
6dbdac6df5
Fix json exception in online check for BongaCams
2019-02-20 13:44:56 +01:00
0xboobface
14b2911651
Increase version to 1.19.0
2019-02-19 18:57:40 +01:00
0xboobface
11f0dfde00
Added comment for PP improvements
2019-02-19 18:53:33 +01:00
0xboobface
e1eeb830da
Add getSanitizedName to Model
...
This method provides returns a name, which is safe to use with
filesystem I/O. Fc2Model returns the model ID for this.
2019-02-19 15:28:52 +01:00
0xboobface
75a625bbe0
Improve deleteIfTooShort method
...
If a directory does not exist, it returns true. If the directory is
empty, it deletes the directory and empty parent directories and returns
true.
2019-02-13 22:07:34 +01:00
0xboobface
27dac97384
Improve handling of postprocessing
2019-02-13 12:24:04 +01:00
0xboobface
351560079b
Add concurrent recordings setting to settings tab
2019-02-05 15:25:56 +01:00
0xboobface
097fb251cb
Add getCurrentlyRecording to recorder
...
This method returns the models, which are currently recorded. It is
implemented as default method, so that LocalRecorder and RemoteRecorder
don't have to implement the same logic.
2019-02-05 15:07:56 +01:00
0xboobface
76f4583ebc
Rename Recorder.isRecording to Recorder.isTracked
2019-02-05 14:45:44 +01:00
0xboobface
198a9c6893
Rename Recorder.getModelsRecording to Recorder.getModels
2019-02-05 14:44:21 +01:00
0xboobface
2dd8100a97
Add setting to limit the number of concurrent active recordings
2019-02-05 14:41:31 +01:00
0xboobface
39679f3162
Improve exception handling and logging for the playlist generation
2019-02-05 13:38:09 +01:00
0xboobface
80e577db7c
Add menu entry to regenerate the playlist
2019-01-31 15:07:42 +01:00
0xboobface
6e58dd6be5
Implement follow/unfollow for BongaCams
2019-01-29 16:28:07 +01:00
0xboobface
4f541c0570
Increased version to 1.18.0
2019-01-29 14:25:54 +01:00
0xboobface
e7feaad11c
Merge branch 'dev' into fc2
2019-01-29 13:05:43 +01:00
0xboobface
2fe6ec0e8f
Fix #156
...
Make sure, that the tray icon is created only once. Also move the
notification methods from OS to DesktopIntegration.
2019-01-28 17:26:53 +01:00
0xboobface
9f13a54eb6
Remove misleading log message
2019-01-28 16:20:07 +01:00
0xboobface
8e2abd2f11
Implement createModelFromUrl for FC2Live
2019-01-28 14:44:45 +01:00
0xboobface
626d13f87a
Implement createModelFromUrl
2019-01-28 13:32:42 +01:00
0xboobface
df38ed3027
Sanitize name before creeating a model object
...
Names can contain '/' on FC2Live, which messes with the directory
structure of recordings
2019-01-27 15:18:19 +01:00
0xboobface
ba0c456f19
Reduce log level for FC2Live websocket messages to TRACE
2019-01-27 15:17:30 +01:00
0xboobface
76c5c2e6c6
Remove log message
2019-01-27 14:10:45 +01:00
0xboobface
70a9d65e48
Fix login for FC2Live
...
FC2Live sends cookies with value "deleted" to invalidate previously set values. In the same request
they send new values, too. That confused OkHttp. We now use a custom cookie jar for FC2Live, which
ignores cookies with the value "deleted"
2019-01-27 14:05:45 +01:00
0xboobface
0f51be96c0
Implement FC2Live downloads for the server
2019-01-24 20:24:09 +01:00
0xboobface
16752b892c
Merge branch 'dev' into fc2
...
# Conflicts:
# common/src/main/java/ctbrec/sites/jasmin/LiveJasminHttpClient.java
2019-01-24 19:16:52 +01:00
0xboobface
a91819c2ca
Extend the recording name to include seconds and milliseconds
...
This is necessary, because there are models, who stream on different
sites with the same name as mentioned in #141 . In that case it can
happen that a recording for each site would be started within the same
minute and one recording would overwrite the other.
2019-01-24 19:00:02 +01:00
0xboobface
2c67b0b75c
Merge branch 'jasmin' into dev
2019-01-24 15:52:38 +01:00
0xboobface
aa093c0ec1
Delete all LiveJasmin cookies, if we are guests
2019-01-24 15:47:26 +01:00
0xboobface
0417fd6bfb
Remove guest session cookies on start for LiveJasmin
2019-01-24 15:41:47 +01:00
0xboobface
beeaca4beb
Implement login and follow/unfollow
2019-01-24 15:24:05 +01:00
0xboobface
6bb6637683
Remove guest session cookies on start for LiveJasmin
2019-01-23 18:27:34 +01:00
0xboobface
16fdee2a2c
Merge branch 'dev' into fc2
...
# Conflicts:
# client/src/main/java/ctbrec/ui/ExternalBrowser.java
2019-01-23 17:56:20 +01:00
0xboobface
e8572434a9
Set version to 1.17.1
2019-01-23 17:41:03 +01:00