Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7073527
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 28, 20262026-05-28T05:56:25+00:00 2026-05-28T05:56:25+00:00

We use RTMP to secure stream media content through Wowza and it works like

  • 0

We use RTMP to secure stream media content through Wowza and it works like a charm. Wowza is really strong and robust media-server for a business purpose.

But we met a problem, it’s getting bigger every day for us. A lot of new customers can’t use RTMP by their firewall rules, and it’s a problem to deliver a business media content for them.
But everybody has no problems with http pseudo-streaming or just progressive, like it does youtube or vimeo.
So we should do the same, but provide secure links to pseudo-streaming traffic, to prevent a direct download by stealing the links.

We use few servers, one for Rails app, the second for DB, and third as Wowza media server.
My thinking is to setup nginx on Wowza media server and configure to pseudo-stream media originally files (in the same filesystem that Wowza uses to stream through webcam capture).

Can you suggest to use nginx with http_secure_link_module and http_flv_module modules?
Another idea by my colleague is to build a tiny application on Wowza side to get encrypted links and translate it to local file system, then get access to files through X-Accel-Redirect and check authentication via direct connection to DB.

Thanks a lot

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-28T05:56:25+00:00Added an answer on May 28, 2026 at 5:56 am

    I have found a solution, let me share with anyone interested in it.

    First of all, my constraints was to use the minimum tools as possible, so ideally to have built-in module in web-server only, no upstream backend scripts. And I have a solution now.

      server {
          listen       8080 ssl;
          server_name  your_server.com;
    
          location /video/ {
            rewrite /video/([a-zA-Z0-9_\-]*)/([0-9]*)/(.*)\.flv$ /flv/$3.flv?st=$1&e=$2;
          }
    
          location /flv/ {
            internal;
            secure_link $arg_st,$arg_e;
            secure_link_md5 YOUR_SECRET_PASSWORD_HERE$arg_e$uri;
    
            if ($secure_link = "") { return 403; }
            if ($secure_link = "0") { return 403; }
    
            root /var/www/;
            flv;
    
            add_header  Cache-Control             'private, max-age=0, must-revalidate';
            add_header  Strict-Transport-Security 'max-age=16070400; includeSubdomains';
          }
    }
    

    The real flv files located into “/var/www/flv” directory. To encrypt the URL on Ruby side, you can use that script:

    expiration_time = (Time.now + 2.hours).to_i   # 1326559618
    s = "#{YOUR_SECRET_PASSWORD_HERE}#{expiration_time}/flv/video1.flv"
    a = Base64.encode64(Digest::MD5.digest(s))
    b = a.tr("+/", "-_").sub('==', '').chomp    # HLz1px_YzSNcbcaskzA6nQ
    # => "http://your_server.com:8080/video/#{b}/#{expiration_time}/video1.flv"
    

    So the secured 2-hours URL (you can put it into flash-player) looks like:

    "http://your_server.com:8080/video/HLz1px_YzSNcbcaskzA6nQ/1326559618/video1.flv"
    

    P.S. Nginx should be compiled with following options –with-http_secure_link_module –with-http_flv_module

    $ cd /usr/src
    $ wget http://nginx.org/download/nginx-1.2.2.tar.gz
    $ tar xzvf ./nginx-1.2.2.tar.gz && rm -f ./nginx-1.2.2.tar.gz
    
    $ wget http://zlib.net/zlib127.zip
    $ unzip zlib127.zip && rm -f zlib127.zip
    
    $ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.30.tar.gz
    $ tar xzvf pcre-8.30.tar.gz && rm -f ./pcre-8.30.tar.gz
    
    $ wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
    $ tar xzvf openssl-1.0.1c.tar.gz && rm -f openssl-1.0.1c.tar.gz
    
    $ cd nginx-1.2.2 && ./configure --prefix=/opt/nginx --with-pcre=/usr/src/pcre-8.30 --with-zlib=/usr/src/zlib-1.2.7 --with-openssl-opt=no-krb5 --with-openssl=/usr/src/openssl-1.0.1c --with-http_ssl_module --without-mail_pop3_module --without-mail_smtp_module --without-mail_imap_module --with-http_stub_status_module --with-http_secure_link_module --with-http_flv_module
    $ make && make install
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm trying to understand and really pinpoint when to use progressive download vs. rtmp
I'm implementing a very simple audio-only RTMP server. I have my client code like
Flash can use the RTMP protocol to exchange data between a server and a
Which codec does Flash use to stream video from web cameras to RTMP, RTMFP
In Flash, AS3, I am using NetConnection to connect to a RTMP server, then
I want to talk to a flash server which uses RTMP, but I don't
I can't use FMLE(Flash Media Live Encoder) here because the video capture card is
I've got a simple Flash client connecting to a Flash Media Server, and I'd
I'm stumped on how to get started with Adobe Flash Media Server. On Linux.
I have Adobe Media Server 4, and I am using Flash Professional CS5.5 to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.