Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bugfix/default transcripts #4

Closed

Conversation

OPersian
Copy link
Contributor

@OPersian OPersian commented Feb 14, 2017

Fix default transcripts autoload:

  • Clean special characters from the captions text
  • If no enabled/available transcript left, respective block label is not displayed
  • Affect standard transcripts list on actions with default transcripts and vice versa, reproducing the whole default transcripts functionality on the frontend
  • Result messages are displayed in default transcripts sections on any action with transcripts

z4y4ts and others added 30 commits November 30, 2016 19:10
This changeset includes basic files required for an xblock. Such as:
- video_xblock.py with Python side of the VideoXBlock
- backends directory with BaseVideoPlayer class and it’s minimal implementation
  DummyPlayer
- student_view.html a template to render video
- Documentation in README.md
- setup.py with module specifications
- bower.json with external JavaScript dependencies
- requirements.txt with Python dependencies
- backends/youtube.py is a server-side part responsible for the logic
- static/html/youtube.html is a template to render video player
- static/css/videojs.css is a video.js skin definition to replicate
  Open edX video player look
- backends/wistia.py is a server-side part. Prepares context for video player
- static/html/wistiavideo.html is a template to render video player
Brightcove video players are special. They are based on a Video.js but
are loaded from the player.brightcove.net. Hence we use separate css.

- backends/brightcove.py is a server-side part responsible for the logic
- static/html/brightcove.html is a template to render video player.
  Also includes styles for Brightcove’s ‘default’ theme
- static/css/brightcove.css is a video.js skin definition to replicate
  Open edX video player look
To turn on playback rates support for all video.js plugins we patch
video.js Tech component.
Playback state includes:
- Current time to within 1 second. Unique for each player
- Playback rate. Unique for user, shared between players
- Volume. Unique for user, shared between players
- Muted. Unique for user, shared between players

Playback state is loaded after Video.js player is fully initialized and
passed from server in the video player’s template at rendering time.

Every video player is rendered inside an iframe and doesn’t have access
to xblock’s runtime. So they post their state to a parent frame as a
message using `Window.postMessage`. Parent frame in turn accepts and
verifies the state and post it to the server to a json handler resolved
by `runtime.handlerUrl(element, 'save_player_state’)` method.

Playback state is being saved at following events:
- Volume change
- Playback rate change
- Play
- Pause
- Video ended
Progress bar had incorrect position on Safari and IE
add videojs resolution switcher for youtube provider
…storage

Download and upload handout file on MongoDB
add style for right focus pleyer elements
Add player id to studio form.
Consider player id in student view.
Consider player id in brightcove.css
Avoid using player id in  brightcove.css
…thub.com/raccoongang/xblock-video into feature/brightcove_player_id

# Conflicts:
#	video_xblock/static/css/brightcove.css
#	video_xblock/video_xblock.py
Created videojs plugin for catching events and sending them as messages from iframe to parent window
Created listener for catching event messages and publishing it by xblock handler
Use cases covered:
- Upload transcripts with extensions .sjson, .srt and .vtt
- Upload transcripts for differenet languages
- Store uploaded transcripts in MongoDb
- Download or replace previously uploaded transcripts
Add transcripts upload feature in the studio
get transcripts for youtube, wistia, brightcove
- add transcripts to context template players
- add button for subtitles and text block with translates
Add new library videojs-offset
Add new fields start_time and end_time
 - 500 error with canceling of file upload
 - Handout download on both sides
 - Add status of upload handout
 - Add name of file to status of uploading
 - Add name of file to download attribute in button "Download"
 - After uploading handout replace wording "Upload" to "Replace" in button
add responsive for player, fix progres bar width
z4y4ts and others added 28 commits February 3, 2017 16:19
…#101)

* Move bower.json to root directory and add .bowerrc add deps make target
* More precise XBlock and xblock-utils version specification
* Update README with make tasks instead of commands, add clean, deps-test & tools make targets
* Update .travis.yml to utilize Makefile and cache node_modules
* Order tabindex in progressbar

- add into options "tabindex" to togleButton
- add into options "tabIndex" to transcript

* Fix customize xblock fields

-fill method customize_xblock_fields_display for return video fields
# Brightcove content protection and auto-quality:

On API authentication uploads two custom Ingest Profiles:

- Creates new API credentials with required permissions
- HLS for auto quality
- HLSe for auto qualify & encryption
- Add new UI controls after a user has authenticated against Brightcove API:

View video tech info
- Send video re-transcode request on a Brightcove side

# Default transcripts upload:
- Allows to fetch transcripts from the platform and store them into XBlock.
- Supports: Brightcove, Youtube & Wistia.
- Brightcove & Wistia require API authentication before default transcripts upload can work.
* added base exception, refactored existing exceptions

* refactored exceptions

* correct docstring

* added init call of parent init method to base exception

* Update base.py

* fix pylint violation

* address comments
…113)

- Bump Xblock dependency to 0.4.14 and install it from PyPI rather than git
- Switch to container-based Travis build
- Install python-lxml using Travis' apt addon
* Move django vars from js

-add valid json into player context on backend
-parse json on frontend and use js object as global var
@OPersian OPersian closed this Feb 14, 2017
bryanlandia pushed a commit that referenced this pull request Jul 28, 2021
…hanges

Fixes for rendering player and edit block popup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants