MMS stream
Home › Forums › Third Party Enhancements › VLC Shares › MMS stream
- This topic has 2 voices and 27 replies.
-
AuthorPosts
-
April 18, 2012 at 12:01 am #23996AnonymousInactive
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:1234or
mmsh://192.168.10.101:1234
and the stream source is set to:
mmsh://192.168.10.101:1234do you see what is wrong with that?
April 18, 2012 at 12:52 pm #30145zany130ParticipantYou 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
April 18, 2012 at 3:47 pm #30146AnonymousInactiveif 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
April 18, 2012 at 4:09 pm #30147zany130Participantsource 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/)
April 18, 2012 at 5:51 pm #30148AnonymousInactive@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
April 18, 2012 at 6:48 pm #30149zany130Participantvlc-shares 0.5.4:
http://localhost/vlc-shares/configs
Show advanced configs, then select:
Debug enabled?: YES
Debug level: AllDebug log can be found in temp directory
Windows: %TMP%vlcShares.debug.log
Ubuntu: /tmp/vlcShares.debug.logvlc-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: YESDebug 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)April 18, 2012 at 8:47 pm #30150AnonymousInactiveone 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-rtmpdumpApril 19, 2012 at 6:35 am #30151zany130Participantno.
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+):
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)
April 19, 2012 at 4:47 pm #30152AnonymousInactive@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+):
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)...");
April 19, 2012 at 4:55 pm #30153AnonymousInactivewow 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?
April 19, 2012 at 5:31 pm #30154AnonymousInactivei 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!!
April 20, 2012 at 6:47 am #30155zany130Participant$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
April 23, 2012 at 9:44 pm #30156AnonymousInactivethanks cant wait to try it when i get home from wrestling!
April 25, 2012 at 11:35 pm #30157AnonymousInactiveI 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.
April 26, 2012 at 5:44 am #30158zany130ParticipantIf 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 -
AuthorPosts
- The forum ‘VLC Shares’ is closed to new topics and replies.