Results 1 to 5 of 5

Thread: setting up a streaming server

  1. #1
    Join Date
    Aug 2011

    setting up a streaming server

    Can anyone point me to a how-to on setting up a streaming server? We've got several mp4 videos that we'd like to stream. However right now when someone visits the URL they have to download the whole file before it starts playing.

    We're using RHEL Linux 6 and Apache 2.2. Ideally we would like something that works with this setup.

  2. #2
    Join Date
    Dec 2005
    If you've got MP4 videos, then you don't want to stream them, you want to pseudo-stream them. There's a difference between streaming and "pseudo-streaming" which is what's called progressive downloading, allowing a user to watch content as it's downloaded rather than waiting for it to load.

    What you're looking for is a program to put the video meta information at the beginning of the file, rather than at the end (which is why the video can't start until that piece is downloaded, the very last piece of the file).

    There's an Adobe AIR program called QTIndexSwapper that will do this for you:


    Run your video file through that and it should automatically progressively download.
    I've switched careers...
    I'm NO LONGER a scientist,
    but now a web developer...

  3. #3
    Join Date
    Feb 2008
    NW Washington State
    Just to clarify, "Progressive downloading" is NOT "Pseudo streaming".
    Pseudo streaming is sort of a middle step between True Streaming (you can seek to any point in a pre-recorded video file) and Progressive Download (you can only seek to that part of the video file that has already been downloaded into your cache).
    Pseudo streaming is done using a server side script via HTTP, rather than... say RTMP for true streaming. More info here:
    Since it uses HTTP, it's generally cheaper to implement than True streaming, (since it can be done on a regular Web server, rather than a streaming media server) though it still usually requires your own dedicated server to install the script on.
    But yes, if you are having to download the entire file (older QT files are notorious for that) it's because the MOOV atom is at the end of the file rather than the beginning.
    Swap Index and then progressive download... much cheaper and easier than either pseudo or true streaming.
    Best wishes,
    Eye for Video

  4. #4
    Join Date
    Dec 2005
    Thanks for correcting my terminology, EyeForVideo...was it that obvious that I had a general idea, but was faking it? Now I know how to explain the difference to people in the future. For a site I did in the past I needed to use QT Index swapper AND set up a pseudo-streaming script, simply because I think it's nicer to your visitors if you have a long video that you give them the ability to jump around instead of downloading the entire thing at the very beginning, progressive downloading or not.

    You don't need a dedicated server to set up pseudo-streaming, however, any old server that supports server side scripting will do.
    I've switched careers...
    I'm NO LONGER a scientist,
    but now a web developer...

  5. #5
    Join Date
    Feb 2008
    NW Washington State
    Thanks for the reply!
    As for needing a dedicated server... it's not that you "need" a dedicated server but rather that some Web hosts will not allow you to install the HTTP streaming on a shared server.
    Anyway, pseudo streaming is great for that ability to "seek" into the video.
    Best wishes,

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
HTML5 Development Center



X vBulletin 4.2.2 Debug Information

  • Page Generation 0.09396 seconds
  • Memory Usage 2,879KB
  • Queries Executed 15 (?)
More Information
Template Usage (32):
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_global_above_footer
  • (1)ad_global_below_navbar
  • (1)ad_global_header1
  • (1)ad_global_header2
  • (1)ad_navbar_below
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)ad_thread_first_post_content
  • (1)ad_thread_last_post_content
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)headinclude_bottom
  • (5)memberaction_dropdown
  • (1)navbar
  • (4)navbar_link
  • (1)navbar_moderation
  • (1)navbar_noticebit
  • (1)navbar_tabs
  • (2)option
  • (5)postbit
  • (5)postbit_onlinestatus
  • (5)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available (6):
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files (26):
  • ./showthread.php
  • ./global.php
  • ./includes/class_bootstrap.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/functions_navigation.php
  • ./includes/class_friendly_url.php
  • ./includes/class_hook.php
  • ./includes/class_bootstrap_framework.php
  • ./vb/vb.php
  • ./vb/phrase.php
  • ./includes/functions_facebook.php
  • ./includes/functions_calendar.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_notice.php
  • ./packages/vbattach/attach.php
  • ./vb/types.php
  • ./vb/cache.php
  • ./vb/cache/db.php
  • ./vb/cache/observer/db.php
  • ./vb/cache/observer.php 

Hooks Called (73):
  • init_startup
  • friendlyurl_resolve_class
  • init_startup_session_setup_start
  • database_pre_fetch_array
  • database_post_fetch_array
  • init_startup_session_setup_complete
  • global_bootstrap_init_start
  • global_bootstrap_init_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • load_show_variables
  • load_forum_show_variables
  • global_state_check
  • global_bootstrap_complete
  • global_start
  • style_fetch
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • strip_bbcode
  • friendlyurl_clean_fragment
  • friendlyurl_geturl
  • forumjump
  • cache_templates
  • cache_templates_process
  • template_register_var
  • template_render_output
  • fetch_template_start
  • fetch_template_complete
  • parse_templates
  • fetch_musername
  • notices_check_start
  • notices_noticebit
  • process_templates_complete
  • friendlyurl_redirect_canonical
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • memberaction_dropdown
  • tag_fetchbit
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • build_navigation_data
  • build_navigation_array
  • check_navigation_permission
  • process_navigation_links_start
  • process_navigation_links_complete
  • set_navigation_menu_element
  • build_navigation_menudata
  • build_navigation_listdata
  • build_navigation_list
  • set_navigation_tab_main
  • set_navigation_tab_fallback
  • navigation_tab_complete
  • fb_like_button
  • showthread_complete
  • page_templates