MMS stream

Home Forums Third Party Enhancements VLC Shares MMS stream

  • This topic has 2 voices and 27 replies.
Viewing 15 posts - 1 through 15 (of 28 total)
  • Author
    Posts
  • #23996
    Anonymous
    Inactive

    i tried adding this as a profile

    #transcode{
    threads=2,
    vcodec=h264,
    vb=2048,
    scale=1,
    venc=x264{
    aud,
    profile=baseline,
    level=30,
    keyint=30,
    bframes=0,
    ref=1
    },
    acodec=mp4a,
    ab=128,
    channels=2
    }:duplicate{
    dst=std{
    access=mmsh,
    mux=asfh,
    dst=192.168.10.101:1234
    }
    }

    and it will play at:
    http://localhost:8081/

    but wont play at the mms address
    mms://192.168.10.101:1234

    or

    mmsh://192.168.10.101:1234

    and the stream source is set to:
    mmsh://192.168.10.101:1234

    do you see what is wrong with that?

    #30145
    zany130
    Participant

    You have to ask this on Vlc forum. I can’t help you about this

    Which version of vlc-shares are you using?

    If you are using 0.5.5, transcode related params and output related params have to be put all together. Then (on vlc startup), vlc params will be composed in the a complete cli command like this one


    VLCPATHvlc.exe SOURCEURL --play-and-exit --sout="PARAMS_ABOVE" --sout-keep --http-caching="10000" --sout-mux-caching="20000" SUBTITLES_RELATED_PARAMS ALTERNATIVEAUDIO_RELATED_PARAMS FILTERS_RELATED_PARAMS

    if you are using 0.5.4 transcode related params must be placed in the profile plugin interface (http://localhost/vlc-shares/profiles), output related params in the output plugin interface (http://localhost/vlc-shares/outputs). Then they will be composed in


    VLCPATHvlc.exe SOURCEURL --play-and-exit --sout="PROFILE_PARAMS:OUTPUT_PARAMS" --sout-keep SUBTITLES_RELATED_PARAMS ALTERNATIVEAUDIO_RELATED_PARAMS FILTERS_RELATED_PARAMS

    My advice is to enabled debug to level ALL (in configurations page, advanced configs) and per-thread log too if you are in vlc-shares 0.5.5. This way you can read in the debug log the complete vlc startup string composed

    #30146
    Anonymous
    Inactive

    if mms wont work do you know anyway to stream to another VLC or ffplay or FFmpeg ? None of the examples that come in VLC shares will work. the only way i can seem to get any stream to work is using http://localhost:8081/ in VLC but wont play in ffplay and/or FFmpeg

    #30147
    zany130
    Participant

    source matter: rtmp streams always go to http://localhost:8081 and vlc is no spawned (and transcoding options are ignored this way). same story for sopcast streams.

    vlc stream link for other types of stream changes following output mode selected.

    That’s all. I’ve told you: enable debug log a watch the complete vlc startup command used. It’s easier for you to understand the problem this way 🙂

    (anyway, i suppose you are trying to watch rtmp streams, so output mode are ignored because rtmpgw is used to stream instead of vlc… and rtmpgw always stream to http://localhost:8081/)

    #30148
    Anonymous
    Inactive

    @ximarx wrote:

    (anyway, i suppose you are trying to watch rtmp streams, so output mode are ignored because rtmpgw is used to stream instead of vlc… and rtmpgw always stream to http://localhost:8081/)

    That is exactly the issue!! LOL….

    what is the method your talking about with the debug? where do i add that and find the debug file, thanks

    #30149
    zany130
    Participant

    vlc-shares 0.5.4:

    http://localhost/vlc-shares/configs

    Show advanced configs, then select:
    Debug enabled?: YES
    Debug level: All

    Debug log can be found in temp directory
    Windows: %TMP%vlcShares.debug.log
    Ubuntu: /tmp/vlcShares.debug.log

    vlc-shares 0.5.5:

    http://localhost/vlc-shares/gconfigs/index/filter/general

    Show advanced configs, then select:
    Debug enabled?: YES
    Debug level: All
    Per-thread log: YES

    Debug log can be found in temp directory
    Windows: %TMP%vlcShares.debug.log
    Ubuntu: /tmp/vlcShares.debug.log
    Per-thread logs are under the name of vlcShares.thread-THREADID.log
    (streamer thread log file is vlcShares.thread-streamer.log)

    #30150
    Anonymous
    Inactive

    one thing i have found and i think it is something that can be fixed in VLC shares is this error

    [http @ 01c82840] HTTP error 416 Requested Range Not Satisfiable

    I get this when trying to use FFplay or FFMpeg to http://localhost:8081/

    something like this maybe?
    http://stackoverflow.com/questions/9752191/howto-restream-live-stream-captured-with-rtmpdump

    #30151
    zany130
    Participant

    no.

    The solution to that is fix rtmpgw……. 🙂

    …or port this solution i used for weebtv to normal rmtp stream (this works only for vlc 2+):

    http://vlc-shares.googlecode.com/svn/trunk/plugins/weebtv/library/X/Streamer/Engine/RtmpDumpWeebTv.php

    Basically: it use vlc to read the rtmp stream from rtmpdump and broadcast it over http (something like)


    rtmpdump RTMPDUMP PARAM -o - | vlc - --stdout="#std{access=http{mime=video/x-flv},mux=ffmpeg{mux=flv},dst=0.0.0.0:8081/stream}"

    (to be clear, there is 1 file only you have to change: https://code.google.com/p/vlc-shares/source/browse/trunk/core/library/X/Streamer/Engine/RtmpDump.php and switch from rtmpgw to rtmpdump as executable)

    #30152
    Anonymous
    Inactive

    @ximarx wrote:

    no.

    The solution to that is fix rtmpgw……. 🙂

    …or port this solution i used for weebtv to normal rmtp stream (this works only for vlc 2+):

    http://vlc-shares.googlecode.com/svn/trunk/plugins/weebtv/library/X/Streamer/Engine/RtmpDumpWeebTv.php

    Basically: it use vlc to read the rtmp stream from rtmpdump and broadcast it over http (something like)


    rtmpdump RTMPDUMP PARAM -o - | vlc - --stdout="#std{access=http{mime=video/x-flv},mux=ffmpeg{mux=flv},dst=0.0.0.0:8081/stream}"

    (to be clear, there is 1 file only you have to change: https://code.google.com/p/vlc-shares/source/browse/trunk/core/library/X/Streamer/Engine/RtmpDump.php and switch from rtmpgw to rtmpdump as executable)

    Is it possible for me to change the VLC settings as well somewhere? or just the rtmpdump?

    also when looking at that file what line should i change?

    this one?

    $thread->log("Spawning RTMPDump (rtmpgw)...");
    #30153
    Anonymous
    Inactive

    wow i see how you did it in the weebTv…. very nice!!

    gives me a few ideas 😉

    is it possible to use this throughout VLCShares for all of the rtmp usage?

    #30154
    Anonymous
    Inactive

    i am still seeing the rtmpgw.exe running however when i try changing this:

    $thread->log("Spawning RTMPDump (rtmpgw)...");

    to this:

    $thread->log("Spawning RTMPDump (rtmpdump)...");

    Did i miss something?? and i am still getting the same http error… it will still play at http://localhost:8081 tho

    i see now im so dumb, that is just for the log file… 😐

    i will wait and see where i need to change this info, thanks!!

    #30155
    zany130
    Participant
    $thread->log("Spawning RTMPDump (rtmpgw)...");

    This simply add a new line in the log file…….

    This patch should work for you (not tested)


    Index: library/X/Streamer/Engine/RtmpDump.php
    ===================================================================
    --- library/X/Streamer/Engine/RtmpDump.php (revision 706)
    +++ library/X/Streamer/Engine/RtmpDump.php (working copy)
    @@ -73,12 +73,33 @@
    */
    public function startEngine(X_Threads_Thread $thread) {
    // assume all parameters are ready
    - $thread->log("Spawning RTMPDump (rtmpgw)...");
    + $thread->log("Spawning RTMPDump (rtmpdump | vlc)...");
    $source = $this->getParam('source');
    - $command = (string) X_RtmpDump::getInstance()->parseUri($source)->setStreamPort(X_VlcShares_Plugins::helpers()->rtmpdump()->getStreamPort());
    - X_Env::execute($command, X_Env::EXECUTE_OUT_NONE, X_Env::EXECUTE_PS_WAIT);
    - //$this->vlc->spawn();
    - $thread->log("RTMPDump execution finished");
    +
    + if ( X_VlcShares_Plugins::helpers()->streamer()->isRegistered('vlc') ) {
    +
    + $command = (string) X_RtmpDump::getInstance()->parseUri($source)
    + /*->setStreamPort(X_VlcShares_Plugins::helpers()->rtmpdump()->getStreamPort())*/
    + ;
    +
    + $streamPort = X_VlcShares_Plugins::helpers()->rtmpdump()->getStreamPort();
    +
    + // try to get reference to vlc-streamer
    + /* @var $vlcStreamer X_Streamer_Engine_Vlc */
    + $vlcStreamer = X_VlcShares_Plugins::helpers()->streamer()->get('vlc');
    +
    + $vlcStreamer->getVlcWrapper()->setPipe($command);
    + $vlcStreamer->setSource('-');
    + $vlcStreamer->setParam('profile', "#std{access=http{mime=video/x-flv},mux=ffmpeg{mux=flv},dst=0.0.0.0:{$streamPort}/}");
    +
    + //X_Env::execute($command, X_Env::EXECUTE_OUT_NONE, X_Env::EXECUTE_PS_WAIT);
    + $vlcStreamer->getVlcWrapper()->spawn();
    + //$this->vlc->spawn();
    + $thread->log("RTMPDump execution finished");
    +
    + } else {
    + $thread->log("RTMPDump cannot be started without vlc streamer");
    + }

    }

    Index: library/X/RtmpDump.php
    ===================================================================
    --- library/X/RtmpDump.php (revision 761)
    +++ library/X/RtmpDump.php (working copy)
    @@ -221,7 +221,7 @@
    if ( !X_Env::isWindows() ) {
    X_Env::execute("kill -9 `ps aux | grep {$this->path} | grep -v grep | awk '{print $2}'`", X_Env::EXECUTE_OUT_NONE, X_Env::EXECUTE_PS_WAIT);
    } else {
    - X_Env::execute("taskkill /IM rtmpgw.exe /F", X_Env::EXECUTE_OUT_NONE, X_Env::EXECUTE_PS_WAIT);
    + X_Env::execute("taskkill /IM rtmpdump.exe /F", X_Env::EXECUTE_OUT_NONE, X_Env::EXECUTE_PS_WAIT);
    }

    }

    After you apply this patch to the code, go inside vlc-shares configurations, rtmpdump helper configs (http://localhost/vlc-shares/gconfigs/index/filter/helpers%3Artmpdump) and set Path to RTMPDump rtmpgw to the path to the rtmpdump.exe file (not rtmpgw.exe)

    This work only for vlc-shares 0.5.5 and vlc 2.0+

    This is my last advice about this

    #30156
    Anonymous
    Inactive

    thanks cant wait to try it when i get home from wrestling!

    #30157
    Anonymous
    Inactive

    I know you said that you wouldn’t help any more on this but is quite difficult to know what to fix , but I did everything shown above and it is not working in fact

    I have the newest 5.5 beta and latest VLC, i located and added the path to RTMP Dump as you said.

    But as soon as you click start stream you get a VLC i get this error:

    [00e1ed58] logger interface: VLC media player - 2.0.1 Twoflower
    [00e1ed58] logger interface: Copyright c 1996-2012 VLC authors and VideoLAN
    [00e1ed58] logger interface:
    Warning: if you cannot access the GUI anymore, open a command-line window, go to
    the directory where you installed VLC and run "vlc -I qt"

    [00e1ed58] logger interface: using logger.
    [00e1a930] [http] lua interface: Lua HTTP interface
    [00e2f520] access_output_http access out: Consider passing --http-host=IP on the
    command line instead.
    [00e1a930] [http] main interface error: invalid IP address ::1
    [00e1a930] [http] main interface error: cannot add ACL from C:Program FilesVid
    eoLANVLCluahttp/.hosts

    Just so you know i decided to test the weebtv plugin and i get the same error.

    I am using a windows machine.

    #30158
    zany130
    Participant

    If you use vlc 2, you have to select the right vlc version in vlc-shares params (http:/localhost//vlc-shares/gconfigs/index/filter/vlc)

    Ps: if you use vlc-shares-0.5.5beta2 package, you have to apply this patch to make vlc streamer to work:
    https://code.google.com/p/vlc-shares/source/detail?r=764

Viewing 15 posts - 1 through 15 (of 28 total)
  • The forum ‘VLC Shares’ is closed to new topics and replies.

Login

Lost Password