hlsdl
hlsdl copied to clipboard
Windows binaries
Any chance anyone could provide those? I've tried to compile sources with cygwin, but it fails.
I’ll leave this open, I don’t use Windows so I have no idea how to do them.
I'm messing around with cygwin too. What errors are you getting?
If I remember correctly, there was something about not being able to locate mentioned sources, probably some makefile .o/.h syntax restrictions. I was trying to build it on a japanese locale, could be the reason. I'm too bipolar about compiling, have no IT education by any means, so I usually erase all of the cygwin, when I fail to build anything, and I'm too lazy to start it all over again. An artist, a psychonaut.
Here's what I did.
Install Cygwin with the following packages:
- Entire base package
- Devel : binutils, gcc-core, git, make, mingw-runtime (mingw64-i686-runtime), pkg-config, subversion, yasm
- Text : Texi2html
- Util : diffutils , dos2unix
- Libs: libcurl-devel
- Net: curl
Some of these are probably redundant but it works. Then do thse commands:
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
dos2unix configure
./configure
make
make install
cd ..
export PKG_CONFIG_PATH=c:\\cygwin64\\usr\\local\\lib\\pkgconfig
git clone https://github.com/selsta/hlsdl.git hlsdl
cd hlsdl
make
make install
Set "c:\\cygwin64" to whatever your cygwin path is. This should work on a Japanese locale computer, but I haven't ever done that.
@SalamanderSandwich Do you have a Windows binary that you are able to share? Or, can I send you a sample M3U8 to see if this even works?
I would be happy too if someone can confirm that hlsdl works on Windows.
@besweeet give me an m3u8 for now, I'll try to figure out how to make a windows executable that can be distributed or at least a .bat that will do all the work for you but that will take more time.
@SalamanderSandwich What's the best way to private message you?
@besweeet email: [email protected]
@SalamanderSandwich Any updates on executables?
@SalamanderSandwich Did you had time to work on Windows binaries? Thanks!
Warning: HLS stream is DRM protected. Exiting
If you are interested with Windows version here you can find prebuilded binary on fork: https://github.com/samsamsam-iptvplayer/hlsdl/releases/tag/hlsdlv0.22
There is no dependency to ffmpeg because SAMPLE-128 mode is now handled using own TS muxer/demuxer. Also AES CBC is now handled using OpenSSL which decrease CPU overload.
There is also solution for MS Visual Studio 2017 (https://github.com/samsamsam-iptvplayer/hlsdl/blob/master/msvc/hlsdl.sln) and description how to build dependencies (openssl, libcurl, pthreads) https://github.com/samsamsam-iptvplayer/hlsdl/blob/master/msvc/BUID_WINDOWS.txt
This version is also able to download and merge HLS VOD were audio and video are in separate playlists for example: https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8 or https://devstreaming-cdn.apple.com/videos/streaming/examples/img_bipbop_adv_example_ts/master.m3u8
I hope it will be useful for someone.
Regards, SSS
@samsamsam-iptvplayer I’ve linked to your fork, as this was mostly a project to learn C for me and I don’t have the time to keep it up to date.
OK. Thanks again for the great project.
hi!
Thanks!
failed http_code[404]
Error: Getting key-file [ https://nbanlds245vod.akamaized.net/nlds_vod/nba/vod/2018/10/22/drm/nlncp/21800045/3efa4860-5d26-3de3-eb85-0024d05c25c8/v1/stream/2_21 00045_mem_uta_2018_b_whole_1_6000_ipad.mp4.m3u8/../skd://584F18B125FFC2735ED1806F79D15CFB] failed http_code[404]. {"t_d":7136,"d_d":440,"d_s":329743916} Downloading part 44
пт, 2 нояб. 2018 г. в 0:22, samsamsam-iptvplayer [email protected]:
If you are interested with Windows version here you can find prebuilded binary on fork: https://github.com/samsamsam-iptvplayer/hlsdl/releases/tag/hlsdlv0.22
There is no dependency to ffmpeg because SAMPLE-128 mode is now handled using own TS muxer/demuxer. Also AES CBC is now handled using OpenSSL which decrease CPU overload.
There is also solution for MS Visual Studio 2017 ( https://github.com/samsamsam-iptvplayer/hlsdl/blob/master/msvc/hlsdl.sln) and description how to build dependencies (openssl, libcurl, pthreads) https://github.com/samsamsam-iptvplayer/hlsdl/blob/master/msvc/BUID_WINDOWS.txt
This version is also able to download and merge HLS VOD were audio and video are in separate playlists for example: https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8 or
https://devstreaming-cdn.apple.com/videos/streaming/examples/img_bipbop_adv_example_ts/master.m3u8
I hope it will be useful for someone.
Regards, SSS
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/selsta/hlsdl/issues/31#issuecomment-435191950, or mute the thread https://github.com/notifications/unsubscribe-auth/ATETKHL1-b6mkOJSU6FGTNcDWW4Yp1utks5uq2YbgaJpZM4Q5N0A .
@nickomaru If your HLS stream is protected with DRM then you will not be able to download it. and your stream is protected with DRM.
but then what's the point? they are already tons of script to download hls streams I thought this was meant to decrypt drm'ed streams.
@campones
Please let point me these tons of script which are able to decrypt HLS stream using SAMPLE AES.
Maybe you don't know but not all SAMPLE AES encrypted streams use DRM. DRM is only one of the method providing AES keys.
Some streams providers use uri to key file, which is authenticated for example with HTTP cookie.
If you will be able to get AES keys then hlsdl will be able to decrypt stream for you. Do you have any more questions?
Please, could someone tell me where I can find regularly updated binaries/windows versions (like source files are updated), of this perfect program? Because I can not make such versions using this description "https://github.com/samsamsam-iptvplayer/hlsdl/blob/master/msvc/BUID_WINDOWS.txt'. I just do not know how to do all this!!! I am sure I can not do this!!!
Please, HELP me!!!!!
Any chance anyone could provide those?
Is this already merged ffmpeg? why it's big size?
Not as far as I know. Because I linked a full blown ffmpeg
binary to it back then.
To create a smaller hlsdl
binary maybe selsta could show us the minimum amount of ffmpeg
configure-options needed to build a ffmpeg
binary that would work with hlsdl
.
...or is ffmpeg
not necessary anymore? I do still see libavformat libavutil libavcodec
in the makefile
.
@Reino17 Only libcurl and libcrypto libraries is required. There is also a Visual Studio project now which might help. I have to update the makefile.
@Reino17 Only libcurl and libcrypto libraries is required. There is also a Visual Studio project now which might help. I have to update the makefile.
Hi Selsa. Could you share the Visual Studio project file?
Are you still planning to update to new version?
@Reino17 Only libcurl and libcrypto libraries is required. There is also a Visual Studio project now which might help. I have to update the makefile.
Is it possible that we can automatically download from url without getting the m3u8 file?
Are you still planning to update to new version?
Update what? Clone the project and look into the msvc folder. I’m not a Windows users so can’t help.
Is it possible that we can automatically download from url without getting the m3u8 file?
m3u8 is required. youtube-dl might be interesting for your use case.
Are you still planning to update to new version?
Update what? Clone the project and look into the msvc folder. I’m not a Windows users so can’t help.
Is it possible that we can automatically download from url without getting the m3u8 file?
m3u8 is required. youtube-dl might be interesting for your use case.
I much like to use your tool because I can download from the site that can't youtube-dl do I'm planning to make a gui version in vb.net but I'm still gathering some information
If youtube-dl
doesn't support a website you'd like to download a video from, then you could request it, use another tool that does, or do it manually.
https://github.com/selsta/hlsdl/issues/31#issuecomment-390519537:
hlsdl-g15e64f8(ffmpeg-N-91127-g411f714)-win32.7z
I've had another look and I've created a new binary:
[edit]
hlsdl-0.26-2bc52ab-win32-static-xpmod-sse.7z
Compiled with Curl 7.69.1 using OpenSSL 1.1.1g.
[/edit]
I haven't encountered non-DRM SAMPLE_AES HLS-videostreams yet, so I can't test it.
@selsta Besides make "CC=/cygdrive/[...]/bin/i686-w64-mingw32-gcc PREFIX=/cygdrive/m/[...]/i686-w64-mingw32"
(as mentioned here) I've also had to apply the following patch to add support for my environment, Cygwin:
diff --git a/makefile b/makefile
index 197c249..4bb00b2 100644
--- a/makefile
+++ b/makefile
@@ -14,20 +14,22 @@ ifeq ("$(OSNAME)", "darwin")
LDFLAGS+=-L$(OPENSSL_MACOS)/lib
else ifeq ("$(OSNAME)", "linux")
CFLAGS+=-D_GNU_SOURCE=1 -std=gnu99
-else ifneq ($(findstring "$(OSNAME)","mingw32" "mingw64"),)
+else ifneq ($(findstring "$(OSNAME)","mingw32" "mingw64" "cygwin"),)
CFLAGS+=-D_GNU_SOURCE=1 -std=gnu99 -DCURL_STATICLIB
S_SRC+=msvc/win/memmem.c
else
endif
S_OBJS= $(S_SRC:.c=.o)
-PKGCONFIG= pkg-config libcurl libavformat libavutil libavcodec
+PKGCONFIG= pkg-config libcurl
CFLAGS+=-Wall -Wstrict-prototypes -Wmissing-prototypes
CFLAGS+=-Wmissing-declarations -Wshadow -Wpointer-arith -Wcast-qual
CFLAGS+=-Wsign-compare -Iincludes
CFLAGS+=-DPREFIX='"$(PREFIX)"'
-ifneq ($(findstring "$(OSNAME)","mingw32" "mingw64"),)
+ifeq ("$(OSNAME)", "cygwin")
+ LDFLAGS+=-lpthread $(shell $(PKGCONFIG) --static --libs)
+else ifneq ($(findstring "$(OSNAME)","mingw32" "mingw64"),)
LDFLAGS+=-Wl,-Bstatic -lpthread -lcurl -lnghttp2 -lssh2 -lbrotlidec-static -lbrotlicommon-static -lssl -lcrypto -lcrypt32 -lwsock32 -lws2_32 -lwldap32 -lz
else
LDFLAGS+=-lpthread -lcurl -lcrypto -lssl
I've compiled curl
from source without ssh2
, nghttp2
, or brotli
and so LDFLAGS+=-lpthread $(shell $(PKGCONFIG) --static --libs)
works fine for me. These don't seem needed anyway.
(Somehow I can't seem to find the original line LDFLAGS=$(shell $(PKGCONFIG) --libs)
(as mentioned here) anywhere in the entire (history of the) repo. As if that line never existed. Strange.)
@Reino17 Can you PR your changes? I tried to add Windows CI support here but it did not seem to work: https://github.com/selsta/hlsdl/runs/616171505