Skip to content

v1.7.0-alpha.1: Add quality upgrade

Pre-release
Pre-release
Compare
Choose a tag to compare
@Darkness4 Darkness4 released this 09 Jun 15:19
· 68 commits to main since this release
v1.7.0-alpha.1
b3878a3

Caution

Windows binaries are not statically compiled since v1.1.3+3. This is obviously a bug that need to be fixed.

New feature: Quality upgrade

When downloading a stream, FC2 may not expose the 3Mbps URL at the start of the download (because the streamer was streaming below 3MBps, for example). The solution proposed by HoloArchivists is to use waitForQualityMaxTries (wait-for-quality-timeout), which waits for the download.

However, there's a problem: the 3Mbps URL may appear later, perhaps 1, 5, 10 minutes... depending on the streamer's bitrate. Because of this, the waitForQuality feature may delete the beginning of the video.

A new feature is added to handle this issue: quality upgrade during download.

allowQualityUpgrade and pollQualityUpgradeInterval have been added to the configuration file:

   ## If the requested quality is not available, keep retrying before falling
   ## back to the next best quality. (default: 60)
   ##
   ## There is a 1 second delay between each retry. The value must be big enough
   ## so that the best quality (3Mbps) is available. If your streamer takes more
   ## than expected to prepare, you should increase this value.
   waitForQualityMaxTries: 60
+  ## EXPERIMENTAL: Allow quality upgrade during download if the requested
+  ## quality is not "yet" available. (default: false)
+  ##
+  ## If the requested quality is not available, the downloader will fallback to
+  ## the best quality available. However, it is possible that the streamer will
+  ## upgrade the quality during the stream. FC2 often "waits" for the stream to
+  ## be stable before upgrading the quality.
+  ##
+  ## If this option is enabled, the downloader will periodically check if the
+  ## quality has been upgraded. If the quality has been upgraded, the downloader
+  ## will switch to the new quality. **A cut off will be present in the recording.**
+  ##
+  ## If this option is enabled, it is recommended to:
+  ##
+  ## - Reduce waitForQualityMaxTries to 10s.
+  ## - Enable Remux or Concat to fix mpegts discontinuities.
+  allowQualityUpgrade: false
+  ## How many seconds between checks to see if the quality can be upgraded. (default: 10s)
+  ##
+  ## allowQualityUpgrade needs to be enabled for this to work.
+  pollQualityUpgradeInterval: '10s'

Please read the comments before enabling this feature. A cut will be present in the recording. (similar to switching qualities on Youtube).

Known issues:

  • concat: Concatenating with extract audio with a mp4 and ts results in invalid data (#39)

SHA256 Checksums

b7b9f1ec8ab19f9f4cedfb62c6314fbf1c5cecf1ed9a040f5a19d8167e0af54d *fc2-live-dl-go-darwin-amd64
c12b2dee2850ac14e6270221bb9741cc1679f23ef7c40801fee2a5dc001806bf *fc2-live-dl-go-darwin-arm64
60bc382432c2bf5ce9916bd2765655487568f1c7fa70d95a9c90945d216c8138 *fc2-live-dl-go-linux-amd64
0025e7eca539838f5260ca58db0edac39ab31e2d964894f363e0945e78c6fda1 *fc2-live-dl-go-linux-arm64
c3b0fa0f2d76cda90075ec72b7d9ea1f2220d54c4838a9bc07b3fb85678d0745 *fc2-live-dl-go-linux-riscv64
0d138c1af20265b0669d767bd44900f0e8a6a2cb14b1c7c7449968f9d2206eab *fc2-live-dl-go-windows-amd64.exe

Full Changelog: v1.6.5...v1.7.0-alpha.1