Commit Graph

43 Commits

Author SHA1 Message Date
Álvaro Velad Galván 15244793d2 docs: Add FAQ about EXT-X-SESSION-KEY (#7792)
Related to https://github.com/shaka-project/shaka-player/pull/7775
2024-12-23 10:00:11 +01:00
Wojciech Tyczyński 51765e9693 build: Change spellchecking tool and fix spelling mistakes (#7765)
Fixes #7693
2024-12-20 12:27:05 +01:00
Álvaro Velad Galván 2260aa9cf6 feat: Update usage of minBufferTime according to the DASH spec (#7616)
Related to
https://github.com/shaka-project/shaka-player/issues/7602#issuecomment-2479518970

From 23009-1:

The value of the minimum buffer time does not provide any instructions
to the client on how long
to buffer the media. The value however describes how much buffer a
client should have under
ideal network conditions. As such, MBT is not describing the burstiness
or jitter in the network,
it is describing the burstiness or jitter in the content encoding.
Together with the BW value, it is
a property of the content. Using the "leaky bucket" model, it is the
size of the bucket that makes
    BW true, given the way the content is encoded
2024-11-19 10:47:18 +01:00
Álvaro Velad Galván 63ddbc9056 chore(docs): Update FAQ to mention a HLS out of sync on some cases (#7552)
Close https://github.com/shaka-project/shaka-player/issues/7551
2024-11-06 08:51:38 -08:00
theodab d01bef3acb docs: Add FAQ entry about new versions. (#6425)
Issue #6424
2024-04-09 22:56:16 -07:00
Álvaro Velad Galván 73d888e880 docs: Add FAQ documentation for minimum recommended chunks (#6366)
Closes https://github.com/shaka-project/shaka-player/issues/6231
2024-03-26 07:26:36 +01:00
Joey Parrish b8b53992df docs: Update FAQ for v4.5 release (#5725) 2023-10-04 13:48:07 -07:00
loicraux df2739ea1d docs: Fix registerScheme snippet (#5635)
Fixes #5634

Co-authored-by: Loïc Raux <loicraux@gmail.com>
2023-09-11 11:24:28 -07:00
Álvaro Velad Galván 7df3321272 feat: Add TS transmuxer for muxed content (#5571) 2023-09-07 18:20:03 +02:00
Álvaro Velad Galván 8623a5d030 feat: Add AAC transmuxer (#4632) 2022-10-28 15:43:02 -07:00
Joey Parrish 1507b1e844 chore: Update URLs after moving projects (#4008) 2022-03-03 14:34:40 -08:00
Michelle Zhuo 36d0b5484f feat(HLS): Containerless format support
This adds code to allow Shaka Player to play media in sequence
mode, an alternate playback mode that makes the browser ignore
media timestamps, when playing HLS media.
This is important for containerless media formats, as they do not
contain such timestamps.
Changing HLS to not require timestamps also means that we no
longer need to fetch media segments in order to get the start
time, which should lower bandwidth usage and startup delay.
In initial tests, on a simulated 3G network, load latency went down
from an average 3.16s to 2.61s on the HLS version of "Big Buck Bunny:
the Dark Truths of a Video Dev Cartoon"; an improvement of about 17%.

Issue #2337

Change-Id: I507898d74ae30ddfb1bddf8dce643780949fbd9b
2022-02-08 09:34:03 -08:00
Theodore Abshire 7c81b0b3f7 docs: Add FAQ entry for common Vue problem
Closes #3155

Change-Id: Ia8340796507ce4db37e29bd0d7c729cbb26b1325
2021-09-30 14:18:33 -07:00
fingerartur e1b3debb33 docs: how to disable Range header requests at start of HLS playback (#3442)
Co-authored-by: Artur Finger <artur.finger@nangu.tv>
2021-06-04 09:16:22 -07:00
Michelle Zhuo 95ba28b5af refactor: Remove IE 11 support
Issue #2339

Change-Id: I80ffa7b04f7afd943aa0f881d2a494dd35def732
2021-04-29 17:47:07 +00:00
Adit Mehta 1b1227f46d docReplace manually defined links in the doc (#3287)
* REplace manually defined links in the doc

* Update gsoc-ideas-list.md

* Update gsoc-ideas-list.md

* Update gsoc-ideas-list.md

* Update faq.md

* Update faq.md

Co-authored-by: aditmehta9 <aditmehta9@gmail.com>
2021-03-29 09:45:42 -07:00
Theodore Abshire 7941703c5a Fix(hls): Allow config to play video-only HLS.
If an HLS stream has no provided codec information in its manifest,
we previously defaulted to providing a best-guess video and audio
codec.  This, however, caused problems for video-only and audio-only
streams; Chrome does not like it if an audio codec is provided for
a stream with no audio at all, for example, and fails to append the
chunks.
This modifies the HLS parser to not provide a default video codec if
the 'disableVideo' config is set, and similarly to not provide a
default audio codec if 'disableAudio' is set.

Issue #2868

Change-Id: I7826fdb69f2e5290914ed2c0d1e109f9db94f80d
2020-09-26 06:04:00 +00:00
michellezhuo 5923388211 docs: Add native HLS playback in Safari in FAQ
Change-Id: Ibb8e96037521ea31546a8760220413592ba8d9a4
2020-07-09 16:52:57 +00:00
Joey Parrish a3f1c0220f Fix CEA caption extraction for b-frame content
This updates to mux.js 5.6.3, which includes a fix for v1 trun box
parsing to fix caption extraction for content with b-frames.

Closes #2395

Change-Id: I206ce26bb43e8187599e8ca7be2e718f4ea345c3
2020-05-07 14:01:26 -07:00
Joey Parrish 42afedd1e4 Update to mux.js 5.5.4
This gets us a fix for a closed caption parsing issue described in
videojs/mux.js#330 and fixed in videojs/mux.js#333:

> Atypical streams containing 2+ SEI NAL payloads of type 0x04
> (CEA-708 caption content) in the sei_rbsp (specifically a DTG1
> payload preceding a GA94 payload) fail to display captions in this
> scenario, as the current logic results in parseSei() prematurely
> returning with the DTG1 payload.
>
> By checking for the user ID within parseSei, mux.js can continue
> iterating through the sei_rbsp for the GA94 payload.

Change-Id: I9d90419643279a1273187e0354b5e991cd609ba2
2020-04-14 10:26:39 -07:00
michellezhuo 734d129fcd Add Support for HLS Discontinuity
Closes #2397
Closes #1335

Change-Id: I6f540c42c72bf0ae36239b682d4016cca3981c0f
2020-04-09 14:59:42 -07:00
Joey Parrish 1005f760dd Add FAQ entry about minBufferTime
Closes #2000

Change-Id: Ic336c681dea0169fe5e7c5ca62f08e3e1b926b25
2020-04-07 23:37:26 +00:00
Sandra Lokshina 151c06985a Add a FAQ about ad blockers.
Issue #2222.

Change-Id: I6af12a98bf976c19fdc69bbad9f4fdde69f84dc2
2019-12-03 21:52:00 +00:00
Joey Parrish d66d6c4255 Upgrade mux.js and use minified version
The new mux.js release fixes support for a minified build, so we
should use that from now on.

videojs/mux.js#173

Change-Id: I08cff8d33a520fe753c5490a4719cba3bb27f19e
2019-05-13 14:24:41 -07:00
Jacob Trimble 6f47a6bf88 Add link for Shaka Player Embedded.
This also updates our docs for iOS support.

Issue #997
Closes #1846

Change-Id: If95d726acc00e16a4f25291b9791bee820a74b84
2019-04-23 22:31:57 +00:00
Jacob Trimble ced5ecda48 Add FAQ entry about Chrome robustness warning.
Change-Id: I02515fc254b3947af6816b1ad729bf213f797ea5
2018-12-20 10:10:51 -08:00
Joey Parrish 4c34b89c1b Document restrictions on large timescales
Fixes #1667

Change-Id: I00f0e049f6111dffa73c6dce852c9db81373b359
2018-11-15 09:50:25 -08:00
Joey Parrish 7a3b352023 An external Promise polyfill is no longer required
At some point, a compiler upgrade introduced a built-in polyfill for
Promise.  A third-party polyfill for Promises on IE11 is no longer
required.

Change-Id: Ie5a649232d949b0bba0c6c68ea54ceed6fb30891
2018-09-13 22:12:04 +00:00
Sandra Lokshina 8065bd54a8 Change namespace from shakaExterns to shaka.externs
Change-Id: I16432351e2a266aa8fd175669aa27c44bfdffeae
2018-04-11 17:26:26 +00:00
Joey Parrish 66abf9cb27 Remove all protocol-relative URIs
According to @beaufortfrancois, we should no longer be using protocol-
relative URIs.  He quotes this passage from Paul Irish:

> Now that SSL is encouraged for everyone and doesn’t have performance
> concerns, this technique is now an anti-pattern. If the asset you
> need is available on SSL, then always use the https:// asset.

> Allowing the snippet to request over HTTP opens the door for attacks
> like the recent Github Man-on-the-side attack. It’s always safe to
> request HTTPS assets even if your site is on HTTP, however the
> reverse is not true.

Source: https://www.paulirish.com/2010/the-protocol-relative-url/

This change was begun with the following command:
  git grep -l "'//" | xargs sed -i "s@'//@'https://@g"

Some changes made by that command were false-positives, which I then
reverted manually.  Others required additional cleanup to meet style
rules.

I've also just discovered that the "max-len" rule in eslint's Google
style config exempts URIs, so there's no need to disable the max-len
rule on URIs in the assets list.  These have been removed in the asset
list where unnecessary.

Finally, testing these updated URIs led to the discovery that two of
our third-party demo assets are no longer available.  One URI needed
to be updated.  The other had no obvious replacement, so it was
removed.

Closes #1390

Change-Id: I2fe23faec04f1904c1741236b364d5089900092a
2018-04-09 18:06:18 +00:00
Theodore Abshire f2244d1aa7 Added FAQ entry for forceTransmuxTS
Change-Id: Ibe090fb3224c192cf389caebc0bbfedeb449f4ae
2018-03-30 12:13:12 -07:00
theodab b4ca4bf51c Adds an HTTP/s scheme plugin using Fetch
This plugin is preferred over the XHR plugin, if available.
This plugin requires AbortController, which is only present on
Firefox 57 and Edge 16, so this will not be active on every platform.

This also adds a simple mock for the Fetch API for use with Jasmine.

Closes #829

Change-Id: Ifb79d29334fbfcfd175afe0706da5a3d5e452e2f
2018-02-08 23:11:53 +00:00
Joey Parrish 82357486a6 Replace buggy Promise polyfill
A bug in our Promise polyfill caused issues with the recently-added
AbortableOperation class on IE11.  Since external polyfills for this
are smaller, it is easier to remove ours in favor of a third-party
polyfill.  Applications that wish to support IE11 must now load this
additional polyfill.

We are using the "es6-promise-polyfill" module from npm, but any
compliant polyfill should suffice.

One feature our own polyfill offered was the ability to flush all
Promises, which allowed us to write synchronous unit tests that
simulated async processes.  To get this ability back, we are now
using the "promise-mock" module in our tests.

Getting "promise-mock" to load correctly involved switching from
"requirejs" to "cajon", which builds on requirejs and supports
AMD modules more directly.

Closes #1260

Change-Id: I5de48e88a910736ae5c1897a7a509bc5641acb70
2018-01-30 23:10:04 +00:00
Joey Parrish e298fb60fc Update muxjs to use new keepOriginalTimestamps option
Depended on issue videojs/mux.js#168

Issue #1194

Change-Id: Ia2ad5c17ad82a2c53215d34fbfec7be1d119df95
2018-01-18 20:18:09 +00:00
theodab 27ffe4d23a Add an FAQ entry for handling file:// requests
Closes #1222

Change-Id: I5cb9dcb07d65d839aa4809faaea9bf2273c69c68
2018-01-16 15:03:55 -08:00
Joey Parrish 4372d482b2 Update FAQ
Issue #1183

Change-Id: I1830b1343b11567643ef1994113265c037662701
2017-12-16 10:41:44 -08:00
Jacob Trimble c9aca1aeb9 Add CORS explanations to tutorial.
Closes #1018

Change-Id: I0ec915fe37b3cc62aff0184f2306297b388db701
2017-09-26 17:17:23 +00:00
Joey Parrish c7cd714b0d Fix FAQ typo
Change-Id: I6f2cd0b383ab849e7b4b0d14929b7c4b16dfa8e4
2017-08-31 20:05:37 +00:00
Joey Parrish 16f3965496 Update FAQ with regard to error codes
We no longer use UNPLAYABLE_PERIOD when TS is unsupported.

Change-Id: Ic6278e8eda62d8fd55697c64226a4ac868078a1e
2017-08-14 15:04:30 -07:00
Sandra Lokshina 5e8fc2065d Update HLS TS question in FAQ.
Update HLS TS question in FAQ to include info about our ongoing
effort on transmuxing TS to fMP4. This will let people know that
the solution is coming and subscribe to the issue on github.

Change-Id: I9b90e4c355834573a0d23472a2ffd369847ddb16
2017-06-22 21:08:33 +00:00
Jacob Trimble 678390b92a Update tutorials and add another FAQ entry.
Closes #862
Closes #866
Closes #867

Change-Id: I8e97750ddc9851a9d893f0d9aadab234a1deb988
2017-06-21 23:35:50 +00:00
Joey Parrish 65785451b0 Add FAQ entry about buffering and ABR interactions
Also changes some formatting on the existing entries.

Closes #864

Change-Id: I11f2c3f905c43c28649786837c9ea678227002f4
2017-06-09 23:53:38 +00:00
Joey Parrish 2f7a5b6059 Build the FAQ into the tutorials
The FAQ file had to be moved into the tutorials folder to make this
work for some reason.  JSDoc did not want to take "../faq" as a name.

Closes #865

Change-Id: I63ff5b181f494d72c04eaa054111d9fdc866064c
2017-06-09 23:53:38 +00:00