chrippa / livestreamer

Command-line utility that extracts streams from various services and pipes them into a video player of choice. No longer maintained, use streamlink or youtube-dl instead.
http://livestreamer.io/
BSD 2-Clause "Simplified" License
3.88k stars 586 forks source link

VLC fails on Ubuntu 12.04 #13

Closed Majki closed 12 years ago

Majki commented 12 years ago

Ubuntu 12.04 here.

rtmpdump version from repo: 2.4~20110711.gitc28f1bab-1

michal@michal-F5N ~/Pobrane/chrippa-livestreamer-ad4b6b9 $ livestreamer http://pl.twitch.tv/ignproleague 360p

michal@michal-F5N ~/Pobrane/chrippa-livestreamer-ad4b6b9 $ VLC media player 2.0.1 Twoflower (revision 2.0.1-0-gf432547) [0x8c15908] main libvlc: Uruchamianie vlc z domyślnym interfejsem. Użyj 'cvlc' aby używać vlc bez interfejsu. "sni-qt/4261" WARN 13:10:38.405 void StatusNotifierItemFactory::connectToSnw() Invalid interface to SNW_SERVICE [0xb7000cd8] main stream error: cannot pre fill buffer

Any ideas?

chrippa commented 12 years ago

Hello, I've just pushed some changes that adds some more subprocess error handling. Could you try running with the added -e option and see if it gives you some more useful errors to paste?

Majki commented 12 years ago

Hello Mr chrippa!

michal@michal-F5N ~ $ livestreamer -e http://pl.twitch.tv/ignproleague 360p error: Could not open stream - Installed rtmpdump does not support --jtv argument

chrippa commented 12 years ago

Hello, as the message says your rtmpdump is not the correct version. But the version you posted should have support for --jtv argument, so either the package is broken or you have another version installed conflicting somehow. Make sure you only have a recent git-version installed and it should work.

Majki commented 12 years ago

I have installed 2.5 version, from this PPA: https://launchpad.net/~trebelnik-stefina/+archive/test?field.series_filter=precise

result: michal@michal-F5N ~ $ livestreamer -e http://pl.twitch.tv/ignproleague 360p Traceback (most recent call last): File "/usr/local/bin/livestreamer", line 9, in load_entry_point('livestreamer==1.0.0', 'console_scripts', 'livestreamer')() File "/usr/local/lib/python2.7/dist-packages/livestreamer-1.0.0-py2.7.egg/livestreamer/cli.py", line 160, in main handle_url(args) File "/usr/local/lib/python2.7/dist-packages/livestreamer-1.0.0-py2.7.egg/livestreamer/cli.py", line 132, in handle_url output_stream(stream, args) File "/usr/local/lib/python2.7/dist-packages/livestreamer-1.0.0-py2.7.egg/livestreamer/cli.py", line 79, in output_stream fd = stream.open(errorlog=args.errorlog) File "/usr/local/lib/python2.7/dist-packages/livestreamer-1.0.0-py2.7.egg/livestreamer/stream.py", line 56, in open if "jtv" in self.params and not self._has_jtv_support(): File "/usr/local/lib/python2.7/dist-packages/livestreamer-1.0.0-py2.7.egg/livestreamer/stream.py", line 62, in _has_jtv_support help = self.cmd(help=True, _err_to_out=True) File "/usr/local/lib/python2.7/dist-packages/pbs-0.105-py2.7.egg/pbs.py", line 432, in call return RunningCommand(command_ran, process, call_args, actual_stdin) File "/usr/local/lib/python2.7/dist-packages/pbs-0.105-py2.7.egg/pbs.py", line 145, in init self._handle_exit_code(self.process.wait()) File "/usr/local/lib/python2.7/dist-packages/pbs-0.105-py2.7.egg/pbs.py", line 212, in _handle_exit_code raise get_rc_exc(rc)(self.command_ran, self._stdout, self._stderr) pbs.ErrorReturnCode_127:

Ran: '/usr/bin/rtmpdump --help'

STDOUT:

RTMPDump v2.5 GIT-2012-03-31 (Handshake 10 support by Xeebo) (c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL /usr/bin/rtmpdump: symbol lookup error: /usr/bin/rtmpdump: undef... (51 more, please see e.stdout)

STDERR:

chrippa commented 12 years ago

From the "/usr/bin/rtmpdump: symbol lookup error: /usr/bin/rtmpdump: undef..." message I would guess you are missing/have wrong version of librtmp or some other library, if you run "rtmpdump --help" manually, you can see what it's complaining about. I'd recommend just building rtmpdump yourself if you can't find a working package.

Majki commented 12 years ago

michal@michal-F5N ~/Pulpit/chrippa-livestreamer-04aae63 $ rtmpdump --help RTMPDump v2.5 GIT-2012-03-31 (Handshake 10 support by Xeebo) (c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL rtmpdump: symbol lookup error: rtmpdump: undefined symbol: InjectFlashPlayerRtmpe10HandshakeCode

Majki commented 12 years ago

Okay, I think I should go back to Arch Linux :/

Majki commented 12 years ago

Okay, I'm on Arch Linux, installed your package from AUR and everything works like a charm. But problem still persists on Ubuntu 12.04.

chrippa commented 12 years ago

Since this is a issue with Ubuntu's rtmpdump packaging and not livestreamer I'll close this issue.

Majki commented 12 years ago

Okay Mr chrippa!

Further reading: https://bugs.launchpad.net/rtmpdump/+bug/1013311

Majki commented 11 years ago

I want to say, that on Ubuntu 12.04 after installing things from GIT (rtmpdup) I have this error: michal@michal-F5N:~/Pulpit/chrippa-livestreamer-327585c$ livestreamer http://pl.twitch.tv/garenatw 360p error: Could not open stream - Error while executing subprocess

chrippa commented 11 years ago

Please run livestreamer with the -e option and paste the output from the error log file.

Majki commented 11 years ago

ichal@michal-F5N:~/Pulpit$ livestreamer -e http://pl.twitch.tv/garenatw 360p VLC media player 2.0.3 Twoflower (revision 2.0.2-93-g77aa89e) michal@michal-F5N:~/Pulpit$ [0x8cd1dc8] main interface error: no suitable interface module [0x8b6a908] main libvlc error: interface "globalhotkeys,none" initialization failed [0x8b6a908] main libvlc: Uruchamianie vlc z domyślnym interfejsem. Użyj 'cvlc' aby używać vlc bez interfejsu. [0xb6902520] main stream error: cannot pre fill buffer [0x8cd1f60] [cli] lua interface: Listening on host "*console". VLC media player 2.0.3 Twoflower Command Line Interface initialized. Type `help' for help.

Shutting down. [0x8cd1f60] [cli] lua interface: Requested shutdown.

chrippa commented 11 years ago

That's not the log I wanted, the output from the command should be something like:

error: Could not open stream - Error while executing subprocess, error output logged to: /tmp/livestreamerXXX.err

I want the contents of the /tmp/livestreamerXXX.err file.

Majki commented 11 years ago

michal@michal-F5N:~$ cat /tmp/livestreamerJHcbaF.err RTMPDump v2.4 e0056c5~git (c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL Connecting ... INFO: Connected... ERROR: Closing connection: NetStream.Play.Failed

chrippa commented 11 years ago

Hmm, could you paste me the output of "livestreamer -c http://pl.twitch.tv/garenatw 360p" please?

Majki commented 11 years ago

michal@michal-F5N:/opt$ livestreamer -c http://pl.twitch.tv/garenatw 360p /usr/local/bin/rtmpdump --swfUrl=http://www.justin.tv/widgets/live_embed_player.swf --jtv=77be57e4ce8af1c9aed4cffc41c5c11364a5b800:{"swfDomains": ["justin.tv", "jtvx.com", "xarth.com", "twitchtv.com", "twitch.tv", "newjtv.com", "jtvnw.net", "wdtinc.com", "imapweather.com", "facebook.com", "starcrafting.com"], "streamName": "jtv_ePn0Id_NgEgoaLvp", "expiration": 1344786744.8895099, "server": "ams01-video14-2"} --flv=- --live --rtmp=rtmp://199.9.255.210/app/jtv_ePn0Id_NgEgoaLvp --swfsize=653114 --swfhash=03eed63cd65e29df8a76cf9524a3a88643d0a72a5d6f705e06b0ec5973acc629

chrippa commented 11 years ago

The parameters passed to rtmpdump looks correct. I tried to run them manually with my rtmpdump and it works fine, so it seems to be something wrong with your rtmpdump.

Majki commented 11 years ago

I have made package according to this post: http://ubuntuforums.org/showpost.php?p=11111508&postcount=3

MrKeh commented 11 years ago

I am having the exact same issue as Majki. I am using Ubuntu 12.04 RTS. I downloaded the compiled the source from the git repository.

make SYS=posix output

make[1]: Entering directory /home/jeff/Downloads/rtmpdump/librtmp' gcc -Wall -DRTMPDUMP_VERSION=\"v2.4\" -DUSE_OPENSSL -O2 -fPIC -c -o rtmp.o rtmp.c rtmp.c: In function ‘RTMP_ReadPacket’: rtmp.c:2933:7: warning: variable ‘didAlloc’ set but not used [-Wunused-but-set-variable] gcc -Wall -DRTMPDUMP_VERSION=\"v2.4\" -DUSE_OPENSSL -O2 -fPIC -c -o log.o log.c gcc -Wall -DRTMPDUMP_VERSION=\"v2.4\" -DUSE_OPENSSL -O2 -fPIC -c -o amf.o amf.c gcc -Wall -DRTMPDUMP_VERSION=\"v2.4\" -DUSE_OPENSSL -O2 -fPIC -c -o hashswf.o hashswf.c gcc -Wall -DRTMPDUMP_VERSION=\"v2.4\" -DUSE_OPENSSL -O2 -fPIC -c -o parseurl.o parseurl.c ar rs librtmp.a rtmp.o log.o amf.o hashswf.o parseurl.o ar: creating librtmp.a gcc -shared -Wl,-soname,librtmp.so.0 -o librtmp.so.0 rtmp.o log.o amf.o hashswf.o parseurl.o -lssl -lcrypto -lz ln -sf librtmp.so.0 librtmp.so make[1]: Leaving directory/home/jeff/Downloads/rtmpdump/librtmp' gcc -Wall -DRTMPDUMP_VERSION=\"v2.4\" -O2 -c -o rtmpdump.o rtmpdump.c gcc -Wall -o rtmpdump rtmpdump.o -Llibrtmp -lrtmp -lssl -lcrypto -lz
gcc -Wall -DRTMPDUMP_VERSION=\"v2.4\" -O2 -c -o rtmpgw.o rtmpgw.c gcc -Wall -DRTMPDUMP_VERSION=\"v2.4\" -O2 -c -o thread.o thread.c gcc -Wall -o rtmpgw rtmpgw.o thread.o -lpthread -Llibrtmp -lrtmp -lssl -lcrypto -lz
gcc -Wall -DRTMPDUMP_VERSION=\"v2.4\" -O2 -c -o rtmpsrv.o rtmpsrv.c rtmpsrv.c: In function ‘dumpAMF’: rtmpsrv.c:406:10: warning: variable ‘len’ set but not used [-Wunused-but-set-variable] gcc -Wall -o rtmpsrv rtmpsrv.o thread.o -lpthread -Llibrtmp -lrtmp -lssl -lcrypto -lz
gcc -Wall -DRTMPDUMP_VERSION=\"v2.4\" -O2 -c -o rtmpsuck.o rtmpsuck.c gcc -Wall -o rtmpsuck rtmpsuck.o thread.o -lpthread -Llibrtmp -lrtmp -lssl -lcrypto -lz

sudo make install output

make[1]: Entering directory /home/jeff/Downloads/rtmpdump/librtmp' make[1]: Nothing to be done forall'. make[1]: Leaving directory /home/jeff/Downloads/rtmpdump/librtmp' mkdir -p /usr/local/bin /usr/local/sbin /usr/local/man/man1 /usr/local/man/man8 cp rtmpdump /usr/local/bin cp rtmpgw rtmpsrv rtmpsuck /usr/local/sbin cp rtmpdump.1 /usr/local/man/man1 cp rtmpgw.8 /usr/local/man/man8 make[1]: Entering directory/home/jeff/Downloads/rtmpdump/librtmp' sed -e "s;@prefix@;/usr/local;" -e "s;@libdir@;/usr/local/lib;" \ -e "s;@VERSION@;v2.4;" \ -e "s;@CRYPTO_REQ@;libssl,libcrypto;" \ -e "s;@PRIVATE_LIBS@;;" librtmp.pc.in > librtmp.pc mkdir -p /usr/local/include/librtmp /usr/local/lib/pkgconfig /usr/local/man/man3 /usr/local/lib cp amf.h http.h log.h rtmp.h /usr/local/include/librtmp cp librtmp.a /usr/local/lib cp librtmp.pc /usr/local/lib/pkgconfig cp librtmp.3 /usr/local/man/man3 cp librtmp.so.0 /usr/local/lib cd /usr/local/lib; ln -sf librtmp.so.0 librtmp.so make[1]: Leaving directory `/home/jeff/Downloads/rtmpdump/librtmp'