zany130
Forum Replies Created
-
AuthorPosts
-
June 23, 2012 at 6:31 am in reply to: Watch Megavideo,HD,Youtube w/ CC through WiiMC (VLCShares) #26483zany130Participant
*** 0.5.5 beta3 (23/06/2012) ***
– Fix for vlc 2.0
– Rtmpdump bootstrap changed (need test)Download links in project home (link in my sign)
zany130ParticipantYes. I suggest you to do a new clean vlc installation
zany130ParticipantDid you manually enabled http interface for VLC inside vlc configs (from the VLC gui)?
http://forum.videolan.org/viewtopic.php?t=54375
/quote
J-b,
entually I managed to get web interface to work.
I removed all VLC versions from my pc, cleaning all prefernces and cache, re-installed VLC 0.9.8a, NO CHANGE to the .hosts file (i.e the line with ::1 is still uncommented as in the original file)
The messages windows now reads:
main info: Esecuzione di vlc con l’interfaccia predefinita. Utilizza ‘cvlc’ per avviare vlc senza interfaccia.
(sorry, VLC now speaks Italian…but not always)
I manually add a web interface using the tools menu.
The messages windows reads:
main info: creating httpd
main error: invalid IP address ::1
main error: cannot add ACL from C:Program FilesVideoLANVLC\http.hosts
main error: invalid IP address ::1
main error: cannot add ACL from C:Program FilesVideoLANVLC\httpold.hosts
main error: invalid IP address ::
main error: cannot add ACL from C:Program FilesVideoLANVLC\httpold.hosts
i.e. just as it was doing before.
But when “I access http://localhost:8080/", I get access to the web interface ! Pretty powerful!Unfortunately VLC crashes badly when I try to stream with H264. Any idea on how to solve this? shall I post the question elsewhere in the forum?
Thankszany130Participant@dynamitemedia wrote:
i am not getting any logs in the debug folder, not ignoring you… thought since nothing was there and it is turned on inside the general settings that there must not be any vlc shares issues… im using 5.5 and it has 2 options 1 is language second is yes or no and i have it set at yes
@ximarx wrote:
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 Windows’s 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)@dynamitemedia wrote:
i will look around for what you added, it is a bit hard when your going thru someones else code… and for PHP which i thought iu understood your code is very complex! wish i could write it like this
This has nothing to do with coding skills or any other kind of magic.
You can change vlc startup params simply adding arguments and params inside Vlc args field value
http://localhost/vlc-shares/gconfigs/index/filter/vlc
(click on Show Advanced)
As last thing: i’ve already told you that DEBUG LOG FILES are mandatory to understand your problem. In the debug log you can find exactly the command used to spawn vlc and you can try to tune it without the use of vlc-shares and solve your problem. THEN you can think about how to archive changes inside vlc-shares. Your problems are not related with vlc-shares, but to VLC configuration/startup params.
This conversation is a waste of time if you can’t enable and find your debug log files because it’s like to try to fix an engine… blindPs.
How to find Windows’s Temp directory: http://appscout.pcmag.com/microsoft-windows/272405-find-the-temp-folder-in-vista-and-windows-7
zany130Participant@dynamitemedia wrote:
where do i put these options i looked everywhere…
$vlcStreamer->setParam('profile', "#std{access=http{mime=video/x-flv},mux=ffmpeg{mux=flv},dst=0.0.0.0:{$streamPort}/}");
i tried adding –ipv4 –no-ipv6 like this but got same error
$vlcStreamer->setParam('profile --ipv4 --no-ipv6', "#std{access=http{mime=video/x-flv},mux=ffmpeg{mux=flv},dst=0.0.0.0:{$streamPort}/}");
since this is using rtmpdump to VLC then adding this to a profile wont work i am assuming, and i cant figure out where ‘profile’ is located so i can try to add the “–ipv4 –no-ipv6“
Im sorry but i am working on getting this set up to work with Roku and that would be great for your project. You seem to have been upset when asking questions and I am sorry, i am trying to port this to ROKU so other ppl can enjoy your great project
$vlcStreamer->setParam( ARG_KEY, ARG_VALUE)
is used to register substitutions inside vlc startup command.
Default startup command for vlc:
{%source%} --play-and-exit --sout="{%profile%}" --sout-keep --http-caching="10000" --sout-mux-caching="20000" {%subtitles%} {%audio%} {%filters%}
You can change it in http://localhost/vlc-shares/gconfigs/index/filter/vlc (advanced configs)
To be more clear:
1) X_Streamer_Engine_Vlc::setParam($param, $value): https://code.google.com/p/vlc-shares/source/browse/trunk/core/library/X/Streamer/Engine/Vlc.php line 126
2) X_Vlc::registerArg($placeholder, $substitution): https://code.google.com/p/vlc-shares/source/browse/trunk/core/library/X/Vlc.php line 1131 calls 2
On vlc spawn, X_Vlc::spawn() is called which resolve placeholders in the startup command (strings between {% %} marks) to registered values
This code is not so hard to trace….
If you want to add
--ipv4 --no-ipv6
you have to do it inside the vlc startup command
Anyway I’m not upset, but i have no time to work on vlc-shares anymore for at least 6 month. So, if you want to add new features, port code to new devices or anything else you have to do it by yourself.
I’ve told you to read and post debug log + streamer thread log, but you ignored me…
zany130Participantdebug log + streamer thread log required
Anyway:
http://forum.videolan.org/viewtopic.php?f=13&t=27026
/quote:
try to add the options : –ipv4 –no-ipv6
::1 is the ipv6 adress for the local machine
zany130ParticipantCheck file: /vlc-shares/application/controllers/IndexController.php…
It looks like a broken installation (or wrong permissions for some files)… reinstall?
zany130ParticipantIf 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=764zany130Participant@Yann wrote:
If i go to localhost/vlc-shares or localhost/vlc-shares/public it takes me to localhost/vlc-shares/manage. Is it all right?
thanksSo, it works…
What’s your problem then?
zany130Participantvlc-shares/public
shouldn’t be available in a correct configuration. Do you have a symbolic link in /var/www/ for vlc-shares? (if yes, remove it)
zany130ParticipantWhat i’m trying to tell you is to add a “Directory” directive with AllowOverride All in it, for the directory where you installed vlc-shares. For example, using deb installer vlc-shares is installed in /opt/vlc-shares/, so the Directory directive for apache is:
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
If you put vlc-shares outside the standard document-root folder of apache (so directory directives for /var/www/ are not valid anymore), you have to create new rules like this one for the vlc-shares directory.
zany130ParticipantCheck your apache config to be sure that
AllowOverride All
is available for the directory where you installed vlc-shares. As reference: https://code.google.com/p/vlc-shares/wiki/InstallationUbuntu054En#Apache_configuration
zany130Participant8081 must not be bind to apache. port 8081 is used for streaming…
Check mod_rewrite configurations for index/collections error
zany130Participant$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
zany130Participantno.
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)
-
AuthorPosts