Using Docker¶
Docker is a tool that can package an application and its dependencies in a virtual container to run on different host operating systems.
Get Shaka Packager from Dockerhub¶
To pull latest Shaka Packager:
$ docker pull google/shaka-packager
You can pull a specific version, e.g. v1.6.2:
$ docker pull google/shaka-packager:release-v1.6.2
The full list of tags is available here.
Run the container¶
Assume you have your media files stored in host_media_path
in the host
machine.
This runs the container and maps host_media_path
to media
in the container:
$ docker run -v /host_media_path/:/media -it --rm google/shaka-packager
Note that the networking in the container is containerized by default, so if
you want to access UDP multicast in the host network, you will need to configure
the network explicitly. You may do this with --net=host
option, i.e.
$ docker run -v /host_media_path/:/media -it --net=host --rm google/shaka-packager
Then in the container, run the packager command, e.g.:
$ packager input=/media/example.mp4,stream=audio,output=/media/audio.mp4 \
input=/media/example.mp4,stream=video,output=/media/video.mp4 \
--mpd_output /media/example.mpd
Outputs are available in the host’s media folder host_media_path
.