Giter Site home page Giter Site logo

docker-wowza's Introduction

Docker Repository on Quay.io

NOTICE:

Due to changes in the WOWZA installer, 4.3.x and later versions are installed during container startup.

sameersbn/wowza:4.1.2-8

Introduction

Dockerfile to create a Docker container image for Wowza Streaming Engine.

This Dockerfile is not provided by or endorsed by Wowza Media Systems.

NOTE: By using this image you are agreeing to comply with the Wowza EULA

Wowza Streaming Engine is unified streaming media server software developed by Wowza Media Systems. The server is used for streaming of live and on-demand video, audio, and rich Internet applications over IP networks to desktop, laptop, and tablet computers, mobile devices, IPTV set-top boxes, internet-connected TV sets, game consoles, and other network-connected devices.

Contributing

If you find this image useful here's how you can help:

  • Send a pull request with your awesome features and bug fixes
  • Help users resolve their issues.
  • Support the development of this image with a donation

Issues

Before reporting your issue please try updating Docker to the latest version and check if it resolves the issue. Refer to the Docker installation guide for instructions.

SELinux users should try disabling SELinux using the command setenforce 0 to see if it resolves the issue.

If the above recommendations do not help then report your issue along with the following information:

  • Output of the docker version and docker info commands
  • The docker run command or docker-compose.yml used to start the image. Mask out the sensitive bits.
  • Please state if you are using Boot2Docker, VirtualBox, etc.

Getting started

Installation

Automated builds of the image are available on Dockerhub and is the recommended method of installation.

Note: Builds are also available on Quay.io

docker pull sameersbn/wowza:4.1.2-8

Alternatively you can build the image yourself.

docker build -t sameersbn/wowza github.com/sameersbn/docker-wowza

Quickstart

Before you can start using this image you need to acquire a valid license from Wowza Media Systems for the Wowza Streaming Engine software. If you do not have one, you can request a free trial license or purchase a license from Wowza Media Systems.

Start Wowza using:

docker run --name wowza -d --restart=always \
  --publish 1935:1935 --publish 8086:8086 \
  --publish 8087:8087 --publish 8088:8088 \
  --env 'WOWZA_ACCEPT_LICENSE=yes' \
  --env 'WOWZA_KEY=xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx' \
  --volume /srv/docker/wowza/data:/var/lib/wowza \
  --volume /srv/docker/wowza/log:/var/log/wowza \
  sameersbn/wowza:4.1.2-8

The --env WOWZA_ACCEPT_LICENSE=yes parameter in the above command indicates that you agree to the Wowza EULA.

Alternatively, you can use the sample docker-compose.yml file to start the container using Docker Compose

Point your browser to http://localhost:8088 and login using the default username and password:

  • username: admin
  • password: admin

Refer to the wowza quickstart guide to get started with Wowza.

Persistence

For Wowza to preserve its state across container shutdown and startup you should mount a volume at /var/lib/wowza.

The Quickstart command already mounts a volume for persistence.

SELinux users should update the security context of the host mountpoint so that it plays nicely with Docker:

mkdir -p /srv/docker/wowza
chcon -Rt svirt_sandbox_file_t /srv/docker/wowza

At first run the Wowza configuration files, among other things, will be copied into this location. You can manually edit these configurations if required.

Logs

The Wowza logs are populated in /var/log/wowza. You can mount a volume at this location to easily access these logs and/or perform log rotation.

Alternatively you can also use docker exec to tail the logs. For example,

docker exec -it wowza tail -f /var/log/wowza/wowza/wowzastreamingengine_access.log

Maintenance

Upgrading

To upgrade to newer releases:

  1. Download the updated Docker image:
docker pull sameersbn/wowza:4.1.2-8
  1. Stop the currently running image:
docker stop wowza
  1. Remove the stopped container
docker rm -v wowza
  1. Start the updated image
docker run -name wowza -d \
  [OPTIONS] \
  sameersbn/wowza:4.1.2-8

Shell Access

For debugging and maintenance purposes you may want access the containers shell. If you are using Docker version 1.3.0 or higher you can access a running containers shell by starting bash using docker exec:

docker exec -it wowza bash

References

docker-wowza's People

Contributors

mtneug avatar waja avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-wowza's Issues

Cannot connect to Wowza Streaming Enginer Service (http://localhost:8087)

I've installed the wowza docker images following the instruction. And run it by docker-compose.
I can login to port 8088 webpage and enter the account and password, but it shown below message
"Wowza Streaming Engine Manager could not connect to the Wowza Steaming Engine service(http://localhost:8087). Verify that the Wowza Streaming Engine service has started and is running."

I use `docker exec' to enter the wowza container and type 'netstat -lnp4' to check the listen port, however I didn't see any program listen and bind 8087 port. Could you please guide me how to solve this issue?
Thank you very much.

Can't push RTMP to instance using this container

First, I realize this isn't wowza support and I don't expect that, but I'm gonig to ask anyway in case this has to do with setup and assumptions that might have been made one way or another.

For testing live, I use ffmpeg to push RTMP using copy where the source is a an h.264, baseline with aac audio (all very typical). In the past, I've had no issues using this (see below) to push a stream to wowza, but with the instance I created using this container, I'm getting strange errors that I've not seen and I'm wondering if there might be dependencies on the server that aren't setup, which were with the official EC2 Wowza AMI.

To make matters worse, it seems like the stream will run for as much as 10 seconds some times and error out instantly at others. I have ~35Mbps uplink and the video is only 3.5Mbps so I don't think that's relevant (though I've never seen such behavior when I was pushing too much anyway.)

Any thoughts?

My command: "c:\Program Files\ffmpeg\bin\ffmpeg.exe" -stream_loop -1 -i teaser.mp4 -vcodec copy -acodec copy -f flv rtmp://my.streaming.server:1935/liveorigin/teaser

The errors (tail of output):

Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
WriteN, RTMP send error 10054 (129 bytes)
WriteN, RTMP send error 10054 (41 bytes)
WriteN, RTMP send error 10038 (42 bytes)
av_interleaved_write_frame(): Operation not permitted
[flv @ 00000228787fa020] Failed to update header with correct duration.
[flv @ 00000228787fa020] Failed to update header with correct filesize.
Error writing trailer of rtmp://my.streaming.server:1935/liveorigin/teaser: Operation not permittedframe=   24 fps=0.0 q=-1.0 Lsize=     294kB time=00:00:00.95 bitrate=2514.0kbits/s speed=3.75x
video:461kB audio:23kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Conversion failed!

Need to add custom applications

I've got a backup of another install I'd been using (AMI right from Wowza) and ideally, I'd like to use it (contents of /conf), but at the least, I want to add a custom Wowza app definition and I'm still getting a feel for Docker. I know that in general, I should fork this project, create my own repo, include that folder in the root of the project, then modify the dockerfile to add it before I build/deploy, but that's where I'm a little fuzzy still. I would like the entire conf folder to be persistent ideally, my media for sure and even if conf wasn't, I'm not 100% sure how to get that change to the Dockerfile done correctly. I think such a need would be common and so it would be a great feature. if I can figure it out, I'll add a PR with stock files or at least the README with an explanation, but I'd still need a hand getting it there.

Any advice or suggestions?

Nvidia GPU support in container

Over the last fews days I've gone through some major learning experiences with EC2, Docker, ECS, Wowza and Nvidia GPU acceleration (on G2 instances).

After days of effort, I finally gave up on Docker to do a completely vanilla install of Wowza on a g2 instance and was able to get things working, which got me thinking. What I've found was that I'd made a bad assumption and in order for Wowza to get GPU support in a container, not only the host-os needs attention, but there are considerations for docker as well.

There is a very nice answer at the following which looks to provide the needed details and I'm going to make an effort to get this working for myself, but I also need 4.4.0. I've figured out how to update based on the image you're maintaining, but there's a minor caveaot and that is due to the fact that I cannot stop the service with your image. It appears to restart itself instantly which forced me to edit their update script and hope that the upgrade works (which I think it does).

If there's a way I can help you keep your image up to date when I'm already work on it, I'd be happy to.

Including the changes outlined HERE to enable GPU support in your image would be greatly appreciated though.

I'm somewhat new to Docker though and I'm not sure how contributions there work compared to with just a github repo, but if it's in my ability, I'd be happy to do so.

Still running 4.1.2

Based on the README, I started with docker pull sameersbn/wowza:4.1.2-8, but from what I'd seen in commits and issues, I was expecting to end up running 4.3 and I'm still running 4.1.2. Is there another image I should have pulled, was my expectation off, or did something not work as expected?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.