{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import panel as pn\n", "\n", "pn.extension()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The ``Video`` Pane displays a video player given a local or remote video file. The widget also allows access and control over the player state including toggling of playing/``paused`` and ``loop`` state, the current ``time``, and the ``volume``. Depending on the browser the video player supports ``mp4``, ``webm``, and ``ogg`` containers and a variety of codecs.\n", "\n", "#### Parameters:\n", "\n", "For layout and styling related parameters see the [customization user guide](../../user_guide/Customization.ipynb).\n", "\n", "* **``name``** (str): The title of the widget\n", "* **``loop``** (boolean): Whether to loop when reaching the end of playback\n", "* **``object``** (string): Local file path or remote URL pointing to audio file\n", "* **``paused``** (boolean): Whether the player is paused\n", "* **``autoplay``** (boolean): When True, it specifies that the output will play automatically. In Chromium browsers this requires the user to click play once\n", "* **``muted``** (boolean): When True, it specifies that the output should be muted\n", "* **``throttle``** (int): How frequently to sample the current playback time in milliseconds\n", "* **``time``** (float): Current playback time in seconds\n", "* **``volume``** (int): Volume in the range 0-100\n", "\n", "___" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `Video` Pane can be constructed with a URL pointing to a remote video file or a local video file (in which case the data is embedded)." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "video = pn.pane.Video('https://file-examples-com.github.io/uploads/2017/04/file_example_MP4_640_3MG.mp4', width=640, height=360, loop=True)\n", "\n", "video" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The player can be controlled using its own widgets, as well as by using Python code as follows. To pause or unpause it in code, use the ``paused`` property:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#video.paused = False" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The current player ``time`` can be read and set with the time variable (in seconds):" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "video.time" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The ``volume`` may also be read and set:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "video.volume = 50" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Controls\n", "\n", "The `Video` pane exposes a number of options which can be changed from both Python and Javascript try out the effect of these parameters interactively:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "pn.Row(video.controls(jslink=True), video)" ] } ], "metadata": { "language_info": { "name": "python", "pygments_lexer": "ipython3" } }, "nbformat": 4, "nbformat_minor": 4 }