From 73fd2c5fbad8d6ece56498f684a36808121373b6 Mon Sep 17 00:00:00 2001 From: Joey Parrish Date: Fri, 25 Oct 2024 13:50:28 -0700 Subject: [PATCH 1/2] docs: Update cloud upload docs --- docs/source/overview.rst | 3 +-- docs/source/prerequisites.rst | 30 ++++++++++++++++++++++++------ shaka-streamer | 3 +-- 3 files changed, 26 insertions(+), 10 deletions(-) diff --git a/docs/source/overview.rst b/docs/source/overview.rst index b5dffe6..8e17637 100644 --- a/docs/source/overview.rst +++ b/docs/source/overview.rst @@ -159,8 +159,7 @@ loop that input file indefinitely. If the ``-c`` option is given with a Google Cloud Storage URL, then an additional node called ``CloudNode`` is added after ``PackagerNode``. It runs a -thread which watches the output of the packager and pushes updated files to the -cloud. +local webserver which takes the output of packager and pushes to cloud storage. The pipeline and the nodes in it are constructed by ``ControllerNode`` based on your config files. If you want to write your own front-end or interface diff --git a/docs/source/prerequisites.rst b/docs/source/prerequisites.rst index b97baa9..050854c 100644 --- a/docs/source/prerequisites.rst +++ b/docs/source/prerequisites.rst @@ -119,21 +119,29 @@ Cloud Storage (optional) ------------------------ Shaka Streamer can push content directly to a Google Cloud Storage or Amazon S3 -bucket. To use this feature, the Google Cloud SDK is required. - -See https://cloud.google.com/sdk/install for details on installing the Google -Cloud SDK on your platform. +bucket. To use this feature, additional Python modules are required. Google Cloud Storage ~~~~~~~~~~~~~~~~~~~~ -If you haven’t already, you will need to initialize your gcloud environment and -log in through your browser. +First install the Python module if you haven't yet: + +.. code:: sh + + python3 -m pip install google-cloud-storage + +To use the default authentication, you will need default application +credentials installed. On Linux, these live in +``~/.config/gcloud/application_default_credentials.json``. + +The easiest way to install default credentials is through the Google Cloud SDK. +See https://cloud.google.com/sdk/docs/install-sdk to install the SDK. Then run: .. code:: sh gcloud init + gcloud auth application-default login Follow the instructions given to you by gcloud to initialize the environment and login. @@ -142,9 +150,19 @@ and login. Amazon S3 ~~~~~~~~~ +First install the Python module if you haven't yet: + +.. code:: sh + + python3 -m pip install boto3 + To authenticate to Amazon S3, you can either add credentials to your `boto config file`_ or login interactively using the `AWS CLI`_. +.. code:: sh + + aws configure + Test Dependencies (optional) ---------------------------- diff --git a/shaka-streamer b/shaka-streamer index 70587de..1cc45c0 100755 --- a/shaka-streamer +++ b/shaka-streamer @@ -68,8 +68,7 @@ def main(): parser.add_argument('-o', '--output', default='output_files', help='The output folder to write files to, or an HTTP ' + - 'or HTTPS URL where files will be PUT.' + - 'Used even if uploading to cloud storage.') + 'or HTTPS URL where files will be PUT.') parser.add_argument('--skip-deps-check', action='store_true', help='Skip checks for dependencies and their versions. ' + From 491e4c1f56e3f2bba4f074276b3182a5a7a0e100 Mon Sep 17 00:00:00 2001 From: Joey Parrish Date: Mon, 28 Oct 2024 10:58:17 -0700 Subject: [PATCH 2/2] Fix node name --- docs/source/overview.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/overview.rst b/docs/source/overview.rst index 8e17637..1edfccd 100644 --- a/docs/source/overview.rst +++ b/docs/source/overview.rst @@ -158,7 +158,7 @@ All input types are read directly by ``TranscoderNode``. If the input type is loop that input file indefinitely. If the ``-c`` option is given with a Google Cloud Storage URL, then an -additional node called ``CloudNode`` is added after ``PackagerNode``. It runs a +additional node called ``ProxyNode`` is added after ``PackagerNode``. It runs a local webserver which takes the output of packager and pushes to cloud storage. The pipeline and the nodes in it are constructed by ``ControllerNode`` based on