grab music HQ from spotify using vlc jack and pulseaudio


in this article i was just testing jack pulse vlc and spotify together to test how audio stream can be re-indirect  using these tools. so this is only a test , and illegal stuff it’s on your shoulder. i have tested this for fun.

DEPENDENCIES INSTALLATION

sudo apt-get install pulseaudio-module-jack qjackctl

after that you need to restart pulseaudio

sudo service pulseaudio restart

if you have not service then just do this …

pkill -9 pulseaudio && pulseaudio &

ok now you have what you need to run jack flash pulseaudio together.

RUN JACK SERVER

type

qjackctl

you should see something like this, click to CONNECT TO SEE THE SECOND WINDOW, if there are no connections then do by yourself … spotifygrabaudiohq make sure like you can see in this picture that spotify has set to jack sink in the audio , like you can see i use veromix instead of the classical kmixer … in this test i have tried mp3 codec with 128kbit like bitrate if you want better stuff just try other codecs and bitrate

cd /tmp ; cvlc  pulse://jack_in --sout "#transcode{acodec=m,ab=128,channels=2, samplerate=44100}:duplicate{dst=std{access=file,mux=mp3,dst=nowardev.mp3}}}"

in this example i used flac instead of mp3

cd /tmp ; cvlc  pulse://jack_in --sout "#transcode{acodec=flac,quality=100,channels=2, samplerate=44100}:duplicate{dst=std{access=file,mux=flac,dst=nowardev.flac}}}"

you can even put this function in your $HOME/.bashrc in this way :

jack_grab_a(){
cvlc  pulse://jack_in --sout "#transcode{acodec=m,ab=128,channels=2, samplerate=44100}:duplicate{dst=std{access=file,mux=mp3,dst=nowardev.mp3}}}"
}

jack_grab_av(){
cd /tmp ; cvlc --jack-input-auto-connect screen:// --screen-fps=25 --input-slave pulse://jack_in --sout "#transcode{venc=x264,quality:100,scale=1,fps=30,acodec=mp3,ab=128,channels=2, samplerate=44100}:duplicate{dst=std{access=file,mux=mp4,dst=nowardev.mp4}}}"

}

after that , to load these function in your current session

source $HOME/.bashrc 

so now just type jack_grab_a and you will get the audio recorded where you prefer and into your quality ….

ffmpeg configure help


this is my script made with awk that helps me to write down the configuration it requires a lots of libraries

./configure --prefix=/usr/local   $(./configure --help|sort -r | awk  '/enable/{ print $1} END{printf "\n"}' | awk  '!/[A-Z]/ && !/avisynth/ && !/shared/ && !/poison/ && !/incompa/ && !/random/ && !/test/ && !/cross-compile/ && !/memalign-hack/ &&!/deck/ && !/libiec/ && !/libaacplus/ && !/libcelt/ && !/libflite/ && !/libilbc/ && !/libnut/ && !/opencv/ && !/shine/ && !/libstagefright/ && !/utvideo/ && !/vidstab/ && !/x265/ && !/libxavs/ && !/opencl/ && !/-rpath/ && !/ftrapv/ && !/hardcoded/ && !/major/ && !/libfdk-aac/ && !/opengl/ && !/enable-pic/ && !/enable-lto/ && !/small/ && !/gray/{print }'|awk -v ORS=" " '{print $1} END {printf "\n"}')

ffmpeg kubuntu 14.04 compile


here it is my own stuff ==>

dependecies

sudo apt-get build-dep libav-tools  ;  sudo apt-get install build-essential git libopencore-amrnb-dev libopencore-amrwb-dev libopenjpeg-dev libx264-dev libxvidcore-dev libx264-dev libopenjpeg-dev libasound2-dev libdc1394-22-dev libgsm1-dev libimlib2-dev libraw1394-dev libsdl1.2-dev libschroedinger-dev libspeex-dev libtheora-dev libvorbis-dev libx11-dev libxext-dev libxvmc-dev quilt texi2html zlib1g-dev libfaad-dev libdirac-dev libfaac-dev libmp3lame-dev frei0r-plugins-dev libdirac-dev libfaac-dev ;sudo apt-get install libass-dev libbluray-dev libfontconfig1-dev libmodplug-dev librtmp-dev libv4l-dev libvo-aacenc-dev libvo-amrwbenc-dev libass-dev libbluray-dev libmodplug-dev libssl-dev libquvi-dev libsoxr-dev libssh-dev libtwolame-dev libvo-aacenc-dev libwavpack-dev libzmq3-dev libzvbi-dev libopenal-dev libgme-dev libsmbclient-dev libwebp-dev libxcb-*
cd /home/shared/git ; git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg-$(date +"%m-%d-%y");cd  ffmpeg-$(date +"%m-%d-%y") 

then this will configure ffmpeg to be installed in USR/LOCAL SO YOU CAN INSTALL IN YOUR SYSTEM WITHOUT DESTROY YOUR DISTRO but remember you will do this to your own risk

 ./configure --prefix=/usr/local  --enable-gpl --enable-version3 --enable-nonfree --enable-small --enable-gray --enable-avresample --enable-vda --enable-fontconfig --enable-frei0r --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libcaca --enable-libcdio --enable-libdc1394 --enable-libfaac --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libquvi --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libv4l2 --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-openal --enable-openssl --enable-x11grab  --enable-thumb --enable-extra-warnings --enable-ftrapv 

to extract every enable stuff you can try this

./configure --prefix=/usr/local   $(./configure --help|sort -r | awk  '/enable/{ print $1} END{printf "\n"}' | awk  '!/[A-Z]/ && !/avisynth/ && !/shared/ && !/poison/ && !/incompa/ && !/random/ && !/test/ && !/cross-compile/ && !/memalign-hack/ &&!/deck/ && !/libiec/ && !/libaacplus/ && !/libcelt/ && !/libflite/ && !/libilbc/ && !/libnut/ && !/opencv/ && !/shine/ && !/libstagefright/ && !/utvideo/ && !/vidstab/ && !/x265/ && !/libxavs/ && !/opencl/ && !/-rpath/ && !/ftrapv/ && !/hardcoded/ && !/major/ && !/libfdk-aac/ && !/opengl/ && !/enable-pic/ && !/enable-lto/ && !/small/ && !/gray/{print }'|awk -v ORS=" " '{print $1} END {printf "\n"}')
Follow

Get every new post delivered to your Inbox.