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

Questions: How to use the shaka-streamer? #15

Closed
Romantic-LiXuefeng opened this issue Sep 3, 2019 · 4 comments
Closed

Questions: How to use the shaka-streamer? #15

Romantic-LiXuefeng opened this issue Sep 3, 2019 · 4 comments
Assignees
Labels
status: archived Archived and locked; will not be updated type: question A question from the community

Comments

@Romantic-LiXuefeng
Copy link

Romantic-LiXuefeng commented Sep 3, 2019

Hope to give more clear documents to guide how to use the shaka-streamer.

  • I know the shaka-packager doesn't support transcode. From the README, I find the shaka-streamer using FFmpeg to support transcode. Transcoding and Packaging are executed parallelly or serially?

  • Is support rtmp or rtsp input?

  • How to config the file to support a variety of scenes?

    1. Video-On-Demand:
      If I have a local file, I want to package to HLS/DASH stream, which contains different
      bitrate streams, how to config the transcode file and packager file.
    2. LIVE:
      If I have a rtmp live stream, I want to package to HLS/DASH stream. how to config the
      packager file.

Forgive me for my poor English!

@joeyparrish joeyparrish added type: docs Improvements or fixes to documentation and removed needs triage labels Sep 3, 2019
@shaka-bot shaka-bot added this to the v1.0 milestone Sep 3, 2019
@joeyparrish
Copy link
Member

Hi there!

Transcoding and packaging are done in a streaming pipeline. We will package content as it leaves the transcoder, rather than serializing the operations. This should be mentioned in the README.

RTMP is not yet supported as an input, but that should be easy to add. I filed #16 to track that enhancement.

  • How to config the file to support a variety of scenes?
    1. Video-On-Demand:
      If I have a local file, I want to package to HLS/DASH stream, which contains different
      bitrate streams, how to config the transcode file and packager file.

First, you need an input config file that specifies the different streams of the input file or files. For example, see config_files/input_vod_config.yaml.

Then, you need a pipeline config file that specifies the different resolutions and manifest formats you want. For example, see config_files/pipeline_vod_config.yaml.

We don't yet have support for customizing the bitrates used for each resolution, and for now, we only support standard resolutions like 4k, 2k, 1080p, 720p, 480p, 360p, 240p, and 144p. We plan to allow you to customize those things in the future through a config file (#5), but in the mean time, you can edit RESOLUTION_MAP in streamer/metadata.py.

2. LIVE:
   If  I have a rtmp live stream, I want to package to HLS/DASH stream. how to config the
   packager file.

We don't support RTMP yet, but I've filed an enhancement for this (#16) for the future. If you'd like to work on RTMP yourself, you could start by reading streamer/loop_input_node.py, which is a simple input node that runs ffmpeg and outputs to a pipe. Then look at streamer/controller_node.py to see how we hook an input node like that into the pipeline.

Forgive me for my poor English!

Not a problem at all! Your English is much better than you think.

@joeyparrish
Copy link
Member

(I've labeled this a "docs" issue to improve the docs around the fact that we build a pipeline so that transcoded outputs go directly to the packager.)

@joeyparrish joeyparrish self-assigned this Sep 3, 2019
shaka-bot pushed a commit that referenced this issue Sep 3, 2019
This adds some information on the architecture, to clarify how the
pipeline works.

Issue #15

Change-Id: I0ad505419eabd6e66c12584e3180fad16d450b9f
@joeyparrish
Copy link
Member

I've added some technical details in the README. Please also check the usage examples there and some of the sample config files we put in the repo.

Does this help answer your questions?

@joeyparrish joeyparrish added type: question A question from the community and removed type: docs Improvements or fixes to documentation labels Sep 3, 2019
@joeyparrish joeyparrish removed this from the v1.0 milestone Sep 3, 2019
@Romantic-LiXuefeng
Copy link
Author

@joeyparrish Thanks for your detail answer !

@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Nov 3, 2019
@shaka-project shaka-project locked and limited conversation to collaborators Nov 3, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status: archived Archived and locked; will not be updated type: question A question from the community
Projects
None yet
Development

No branches or pull requests

3 participants