jaromil / muse Goto Github PK
View Code? Open in Web Editor NEWMultiple Streaming Engine
License: GNU General Public License v2.0
Multiple Streaming Engine
License: GNU General Public License v2.0
dyne.org autoproduzioni & the FreakNet Medialab proudly present: __ __ ____ _____ ___ ___ _ | \/ |_ _/ ___|| ____| / _ \ / _ \ / | | |\/| | | | \___ \| _| | | | | (_) || | | | | | |_| |___) | |___ | |_| |\__, || | |_| |_|\__,_|____/|_____| \___(_) /_(_)_| codename STREAMTIME this is RASTA SOFTWARE, Jah Rastafari Livity bless your freedom! :: the Multiple Streaming Engine :: http://muse.dyne.org This application is being developed in the hope to provide the Free Software community a user friendly tool for network audio streaming, making life easier for independent free speech radios wanting to stream via http on icecast servers. MuSE is an application for mixing, encoding, and network streaming of sound: it can transmit an audio signal by mixing together sound taken from files or also network, recursively remixing more MuSE streams. MuSE can simultaneously mix up to 6 encoded audio bitstreams (from files or network, ogg, mp3, wav and other common sound formats), plus an input signal from microphone. MuSE offers an intuitive interface to be operated in realtime, while it can also run slick from the Unix commandline. ***** Supported servers: You can use MuSE to stream both MP3 or Ogg/Vorbis sound format to a broadcast server, which means that for doing an online radio you still need to setup yours, or find one that let you stream. Such servers can be seen like antennas which amplify your signal and redistribute it to listeners. There are free software implementations of such technology! The ones supported by MuSE are: - Icecast2 - http://icecast.org - can stream OGG & MP3 - Litestream - http://litestream.org - can stream MP3 - Darwin - http://developer.apple.com/darwin/projects/streaming - Shoutcast - http://shoutcast.com - non free, runs on win32 - Freedomnet/Proton - ftp://ftp.dyne.org/freedomnet/proton - P2P ***** Supported players: MuSE streams via http, it doesn't uses multicast technology, nor RTP/RTSP, to have the widest possible range of compatible players. You can listen audio produced by MuSE from almost every personal computer and operating system, using one or more of the following: - xmms - http://www.xmms.org - for GNU/Linux, *BSD, Sun, etc. - mpg123 - http://www.mpg123.de - for various UNIX systems - itunes - http://www.apple.com/itunes - on MacOSX - zinf - http://www.zinf.org - on GNU/Linux and Win32 - winamp - http://www.winamp.com - on all Win platforms - MuSE itself! ;) and even more players: something should be also already available for handheld devices and embedded systems as well. ***** Internals: MuSE is written in C++ and is a multithreaded application. It reads streams using the included libmpeg library (mp3 format) and it can optionally link the OggVorbis library to read ogg files. For encoding the sound into mp3 or ogg it can link either or both LAME and OggVorbis as shared libraries. MuSE also features a user interface using the GTK+ widget library and a console interface using ncurses. Resampling of any input is done with bicubic interpolation to 44khz stereo format, then channels get mixed together and encoded to the desired quality by the selected codec. Separate threads are running for each decoder, the mixer and the encoders, while the flow is synced thru FIFO pipes which implement mutex locking and avoid well race conditions. All the functionalities of MuSE are quite well exposed thru a reusable API, which in fact was the one used to build the GUIs on top. Documentation for it is available on http://muse.dyne.org/codedoc If you are interested, you are very welcome to build new MuSE interfaces, there are still a lot of unexplored possibilities and this engine can be a reliable backend for radio automation interfaces and more. Get in touch with developers! join the mailinglist on http://lists.dyne.org/muse or peek into irc.freenode.net channel #dyne ***** Libraries: - LAME (optional) Lame can be installed but is no more needed, in particular libmp3lame and the header lame.h must be properly installed. - OGG VORBIS (optional) You can compile and install libogg and libvorbis on your machine before compiling MuSE; the configure script will recognize them and include support for decoding and mixing of .ogg files. - GTK+ (optional) + libxml and glib if libgtk and all the related libraries are present, MuSE will compile the GTK+ graphic user interface for interactive use and additional fun. - NCURSES (optional) if libncurses is present, MuSE will compile a text console interactive interface to be used into ASCII terminals. - SNDFILE (optional) if libsndfile is present then you'll be able to play uncompressed sound files like wav, aiff, snd, voc, pvf, mat, au, sf etc. ***** Compile and install: - you can get latest version of lame: (if you already have lame and libmp3lame jump to point 2, after checking that version is >3.89) with 'lame --version' or download it from www.mp3dev.org/mp3 and follow the simple instructions to get installed this wonderful GPL mp3 encoder. - install libogg and libvorbis: http://www.xiph.org/ogg/vorbis/index.html If you don't install any of the above, MuSE will be a simple player. - compile: cd MuSE-x.x.x ; ./configure (or try ./configure --help to have listed some compile options) ; make ; make install if you wish to install smaller binaries without debugging information type make install-strip instead of make install *** for Debian users is much simpler: make a debian package and debian aided compilation from this source with a simple command: $ fakeroot debian/rules binary this command will build debian packages for you, ready to install! To KNOW MORE go to the website on http://muse.dyne.org ***** Report bugs BUG REPORTING is REALLY APPRECIATED! BUT TAKE CARE TO DO IT WELL: please ALWAYS REPORT the muse --version you are running and possibly run the binary with gdb giving us the backtrace of the error. if you understand the above, please go to http://bugs.dyne.org and submit a BUG!!! ===== AUTHORS MuSE is copyleft (c) 2000-2004 by Denis "jaromil" Rojo MuSE's GTK+ GUI is copyleft (c) 2001-2004 by Antonino "nightolo" Radici MuSE's NCURSES GUI is copyleft (c) 2002-2004 by Luca "rubik" Profico MuSE's first GUI is copyleft (c) 2000-2001 by August Black Included resampling algos are copyleft (c) 2002 by Matteo "MoP" Nastasi Part of the redistributed code is copyright by the respective authors, please refer to the AUTHORS file and to the supplied sourcecode for further information and to COPYING for the full license. The following organizations gave great help and support to developers: PUBLIC VOICE Lab ........ [ http://www.pvl.at ] SERVUS.AT ............... [ http://www.servus.at ] ***** PLEASE SUPPORT US! This whole software was built by autonomous efforts and occasionally supported by non-profit organizations, while the development currently relies on the political believing of MuSE's authors, that there should be such a tool and it should be freely available to people willing to do online radio. If you can afford to donate us some money let us know, we also need new and old working hardware. The main coder is a nomad and has no fixed job, you can help him survive with a small donation also via paypal.com [email protected] or by sometimes visiting the google ads on his software pages... (see how's hard to put a dime in the hat from far!) The MuSE development team is also available to run formation courses about usage, customization and reuse/abuse of free and open source software - it offers as well support and warranty, development of software solutions and consulting. There were a number of workshops already done around Europe on free and opensource network radio streaming by the hackers @ dyne.org if you want to organize one you're very welcome to contact us! this way you can also help us develop more free software. THANKS, a thousand flowers will blossom! == DISCLAIMER This source code is free software; you can redistribute it and/or modify it under the terms of the GNU Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This source code is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Please refer to the GNU Public License for more details. You should have received a copy of the GNU Public License along with this source code; if not, write to: Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
ho installato MuSE-0.9.2 su una distribuzione CentOS-7 , più precisamente ho creato su VMware® Player 7.1.0 il sistema operativo virtuale
CentOS7-64bit 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
ospitato su sistema Windows 8.1 Pro, 64-bit (Build 9600) 6.3.9600
Le caratteristiche di configurazione di Muse sono :
== MuSE build configuration =====================================
:: Building on x86_64-unknown-linux-gnu (kernel Linux3100)
:: Linking OggVorbis libraries for OGG encoding
:: Linking SndFile libraries for WAV/AIFF/VOC/etc encoding
:: Linking Lame libraries for MP3 encoding
:: DEBUG informations OFF
:: PROFILING informations OFF (see man gprof)
:: Compiler flags = -pipe -D_REENTRANT -02 -mmmx -fomit-frame-pointer -ffast-math
====================================================
Il binario si è installato correttamente con a disposizione le seguenti librerie :
linux-vdso.so.1 => (0x00007ffd571fb000C
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fcd283db000)
libmp3lame.so.0 => /lib64/libmp3lame.so.0 (0x00007fcd2814c000)
libogg.so.0 => /lib64/libogg.so.0 (0x00007fcd27f44000)
libvorbis.so.0 => /lib64/libvorbis.so.0 (0x00007fcd27d16000)
libvorbisfile.so.3 => /lib64/libvorbisfile.so.3 (0x00007fcd27b0d000)
libvorbisenc.so.2 => /lib64/libvorbisenc.so.2 (0x00007fcd2763d000)
libsndfile.so.1 => /lib64/libsndfile.so.1 (0x00007fcd273de000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fcd270d6000)
libm.so.6 => /lib64/libm.so.6 (0x00007fcd26dd3000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fcd26bbd000)
libc.so.6 => /lib64/libc.so.6 (0x00007fcd267fb000)
/lib64/ld-linux-x86-64.so.2 (0x00007fcd285ff000)
libgsm.so.1 => /lib64/libgsm.so.1 (0x00007fcd265ee000)
libFLAC.so.8 => /lib64/libFLAC.so.8 (0x00007fcd263a9000)
Ho eseguito il seguente comando per avviare una trasmissione in Streaming diretto su un Server Icecast 2.4.3 installato sulla macchina Host Windows
/usr/local/muse/bin/muse -o --debug 3 -C -N1 Aida-RinoGaetano.mp3 -V0.5 -e ogg -s 10.21.103.76 -m Aida-Stream.ogg -f Aida-DumpStream.ogg
[ ] MuSE version 0.9.2 http://muse.dyne.org
. by Denis "jaromil" Rojo http://rastasoft.org
. --
[!] error opening output sound device: Host error.
[!] No such file or directory
[F] Channel::Channel()
[F] Channel::thread_init()
[F] Pipe::Pipe(18432)
[F] waiting for channel 1 thread to start
[F] InChanThread! here i am
[] CLI: created channel 1
. CLI: queue Aida-RinoGaetano.mp3 on channel 1
[F] add to playlist Aida-RinoGaetano.mp3
[F] it's a local file
. CLI: volume set to 0.50
[F] OutChannel::OutChannel(vorbis) 0x7f44587f1010
[F] OutChannel::thread_init()
[F] Pipe::Pipe(131072)
[F] OutVorbis::OutVorbis() 0x7f44587f1010
[F] OutVorbis::init() 0x7f44587f1010
[F] OutVorbis::apply_profile() q4.0000 r22050 b24 c1
[F] ogg resampler Fastest Sinc Interpolator initialized
[F] resample ratio for freq 22050 is 0.2500
[] Ogg/Vorbis encoder initialized
[] CLI: created Ogg encoder
[F] Shouter::apply_profile() on shouter id 1001
[F] Shouter audio info: 24000Kbp/s 22050Hz 1 channels
[F] outchannel id 1000 creates new shouter 0x16ead30 with id 1001
[F] created icecast shouter ID 1001
[] CLI: created streamer to 10.21.103.76 8000
. CLI: stream mountpoint Aida-Stream.ogg
[] Ogg/Vorbis encoder channel dumping to file Aida-DumpStream.ogg
. CLI: file saving to Aida-DumpStream.ogg
[] using commandline interface (non interactive)
[F] OutVorbis::apply_profile() q4.0000 r22050 b24 c1
[F] ogg resampler Fastest Sinc Interpolator initialized
[F] resample ratio for freq 22050 is 0.2500
[] Ogg/Vorbis encoder quality 24Kbps/s 22050Hz mono
[F] Shouter::apply_profile() on shouter id 1001
[F] Shouter audio info: 24Kbp/s 22050Hz 1 channels
[F] icecast still connected: disconnecting
[] Contacting icecast2 server 10.21.103.76 on port 8000
[F] Shouter::start() shout_open returns 0
[] started streaming on http://10.21.103.76:8000/Aida-Stream.ogg
[W] Channel::play() : no song loaded
[F] creating Mp3 decoder
[F] MuseDecMp3::load(Aida-RinoGaetano.mp3)
[] loaded Aida-RinoGaetano.mp3
[] Mp3 file 44100Hz mono 128Kb/s
[W] JMIX::clip_audio(1152) : k = (1.000000,0)
[F] OutChannel::dump() encoded 3408
[F] 4096 frames resampled in 1005 with ratio 0.2500 (num:4096 OUT_CHUNK:4096)
[F] 4096 frames resampled in 1024 with ratio 0.2500 (num:4096 OUT_CHUNK:4096)
[F] 4096 frames resampled in 1024 with ratio 0.2500 (num:4096 OUT_CHUNK:4096)
In allegato ho inserito i tre file:
Il suono in Aida-DumpAfterClip.wav e Aida-DumpStream.ogg è frastornato, come se qualcosa nel sincronismo tra decodifica e lettura e scrittura nella pipe non vada a buon fine
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.