LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Slackware Video Streaming Package is now available (https://www.linuxquestions.org/questions/slackware-14/slackware-video-streaming-package-is-now-available-4175610552/)

posktomten 07-25-2017 05:40 AM

Slackware Video Streaming Package is now available
 
Hi!
My program "streamCapture2", which is a graphical shell for svtplay-dl and ffmpeg, is available as a Slackware installation package.

http://ceicer.org/streamcapture2/index_eng.php

All comments, ideas, suggestions and bug reporters are welcome.

Have fun!
Ingemar Ceicer

tdos20 07-25-2017 09:44 AM

Nice - this looks interesting.

business_kid 07-25-2017 10:29 AM

Nice!

Could you explain something to me? I already have ffmpeg in /usr/bin; do I need another copy? What's with ffmpeg-10bit? And why isn't svtplay-dl in the $PATH? Why are the executables in /usr/local/streamcapture2?

posktomten 07-25-2017 03:30 PM

Absolute path and static
 
First, I apologize for my bad English! I'm doing the best I can.

Svtplay-dl is called by my program (streamcapture2) using absolute path. svtplay-dl, in turn, calls, if necessary, ffmpeg. Svtplay-dl looks for ffmpeg in $PATH. It could have been possible to place svplay-dl in $PATH and let streamcapture2 look in $PATH.

All programs, including streamcapture2 are static. In the case of streamcapture2, I use Qt5, and Slackware still uses Qt4. So to allow streamcapture2 to be statically compiled, I do not need to send a lot of library files.

I attached ffmpeg because the user Should not be forced to think about installing the latest version. If you install the Slackware package from slackbuilds.org you get version 3.2.4 so my version is also a bit newer. The system will first look in /usr/local/bin and find the latest version.

As for ffmpeg10-bit (ffmpeg uses 8-bit) then I have to admit I do not know if it's needed.

bash-4.3$ /usr/bin/ffmpeg -version
ffmpeg version 3.2.4 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.3.0 (GCC)
configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --docdir=/usr/doc/ffmpeg-3.2.4/html --mandir=/usr/man --disable-debug --enable-shared --disable-static --enable-gpl --enable-version3 --enable-avresample --arch=x86_64 --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-gnutls --enable-libcaca --enable-libcdio --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvorbis --enable-libvpx --enable-opengl --enable-libopenjpeg --enable-libpulse --enable-libsmbclient --enable-libwavpack --enable-x11grab
libavutil 55. 34.101 / 55. 34.101
libavcodec 57. 64.101 / 57. 64.101
libavformat 57. 56.101 / 57. 56.101
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libavresample 3. 1. 0 / 3. 1. 0
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100



bash-4.3$ ffmpeg -version
ffmpeg version 3.3.2-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.4.1 (Debian 5.4.1-11) 20170519
configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-5 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100


Ingemar Ceicer

business_kid 07-25-2017 04:27 PM

Thanks for the reply.

It's more usual to put binaries in a $PATH directory, streamcapture2 particularly as things are often moved around, and having a binaries hidden like that defeats the purpose of bin directories in the first place. It also places the restriction of only working if the full path is supplied.

Being lazy, I imagine I'll just use symlinks. I'll have to try it out on some of my own video sites.

Oh, and I rteally like all_dependencies.tar.gz, making it easy for me.

posktomten 07-25-2017 08:14 PM

Follow the path
 
You are correct that the whole idea of $PATH is that it should be logical and work predictable. I'll think of a solution ... Took a shortcut. New version with comboBox to choose quality and a progress bar is under development.

business_kid 07-26-2017 07:54 AM

Just feeding back: The intention is noble, but in practise I will never be accessing the sites it offers so I deleted it again.

A man page with usage examples would be great.

The real 'Holy Grail' of video streaming is something that would allow you to stream video, pick it up in my own box, and write to disk in some format. Netflix segments the movies in unpredictable ways and formats, for example. It would also allow recording of sports events, or perhaps even pc games.

a4z 07-26-2017 10:04 AM

looks like this can be used to download sista chansen videos från svt?
need to test this, thanks for sharing!

BW-userx 07-26-2017 10:39 AM

first thoughts without install - just looking at your sight, where we get to the "hey I got it for Slack 14.2 also" part. Instead of having to down load everything then manually linking LIBs to it?

create a SlackBuild for it - run it, get it to work, then submit it to Slackbuilds.org and after they post it, then provide a link straight to your page on slackbuilds.

posktomten 07-26-2017 05:50 PM

Thanks for the input
 
HI
I am I Norway on fly-fishing holiday. Thanks for the input. I vill consider it all then I am back home!

posktomten 08-03-2017 04:15 PM

Slackware uses old libraries
 
My program uses Qt 5, Slackware still uses version 4 (4.8.7). Unfortunately, it makes it impossible to use a slackbuild script. The libraries that the script needs to use is simply not available. In order not to mess with a lot of library files (Qt 5 files), the executable file is static linked, that is, all files that are required are included in a single executable file. This also makes the program a bit more efficient and it requires a bit less RAM.

Ingemar Ceicer

BW-userx 08-03-2017 05:07 PM

Quote:

Originally Posted by posktomten (Post 5744071)
My program uses Qt 5, Slackware still uses version 4 (4.8.7). Unfortunately, it makes it impossible to use a slackbuild script. The libraries that the script needs to use is simply not available. In order not to mess with a lot of library files (Qt 5 files), the executable file is static linked, that is, all files that are required are included in a single executable file. This also makes the program a bit more efficient and it requires a bit less RAM.

Ingemar Ceicer

i have not looked to see to refresh my memory on your sight, but if it takes qt5 and slack only has qt 4

anyways.

qt5 can be installed

you can pull it in , but it takes awhile to compile it
14.2 > Libraries > qt5 (5.7.1)
https://slackbuilds.org/repository/14.2/libraries/qt5/

you can pull it in
pre compiled look here

http://www.slackware.com/~alien/slackbuilds/qt5/

and

Slackware packages made by Alien
================================
http://www.slackware.com/~alien/slackbuilds/

it can be done ;)

Drakeo 08-04-2017 12:36 AM

what I read he built a static blob and did not understand how to make the blob repacked for Slackware system. Seems he is a tad confused with the language.
So just like many blobs we repack like JDK and opera repack I do with the option to build libffmpg.so from chromes proprietary git.
He need to learn how to package it. or like we all have done makepkg :).

BW-userx 08-04-2017 09:08 AM

yeah it might be worth it for him to make a copy of his original stuff before linking everything then taking the dep he has for it and figuring out how to get it to check for them dependencies on the method used to install it, then make make install, and with a slack build I've used some that ones have set theirs up to check for needed deps and it it is not their it just logs on to internet pulls it in and compiles that and installs it before moving on with itself

I've always had a copy of a make file that I use and just modify it to my needs, using automake errors to guild me for what I need to look for in order to make the needed changes.

putting links into it I think limited him on options for people to install his hard work product. but that is part of the whole package from code time to deployment time, then if needed updates to his product. all got to be looked at -- what about the deb community of linux distros? Then their is red hat knock offs that uses rpm's I think they are called, or some crazy three letter extension.

With all of the links he has for slackers to download the dependencies for his program then install them first then his then complete that little line telling them what to link together, It looks like it is not preventing him from making a slackbuild to check for all of the dependencies then if true install his stuff and create the links needed.

From what I remember when I submitted mine all he has to do is submit a working slackbuild for his stuff and give a list of what is needed. and that was it.

It might not be as hard as he thinks it is,
https://slackbuilds.org/guidelines/

but enough taking about him behind his back right in front of him. I'm not an expert on the subject I only know the basic steps needed to take from start to finish. It is all just a learning process.

posktomten 08-04-2017 09:25 AM

Quote:

Originally Posted by Drakeo (Post 5744195)
what I read he built a static blob and did not understand how to make the blob repacked for Slackware system. Seems he is a tad confused with the language.
So just like many blobs we repack like JDK and opera repack I do with the option to build libffmpg.so from chromes proprietary git.
He need to learn how to package it. or like we all have done makepkg :).


Yes, I'm bad in English, unfortunately ... Hope it's understandable!
My idea is that it should be easy to install.

First install Qt 5, then compile the source code for svtplay-dl and streamCapture2 through slackbuildscript would be the right way? And maybe update ffmpeg? Use shared libraries, which is what should be done if you want to strictly follow the ideas behind Slackware (and Linux) It would definitely work. But it may not suit all users.

Before Qt5, I did programs in the "right" way, with slackbuild script ...


All times are GMT -5. The time now is 12:00 AM.