All Projects → OlegKunitsyn → libshout-java

OlegKunitsyn / libshout-java

Licence: MIT License
Libshout binding for streaming audio to Icecast servers from Java applications

Programming Languages

java
68154 projects - #9 most used programming language
c
50402 projects - #5 most used programming language
Dockerfile
14818 projects

Labels

Projects that are alternatives of or similar to libshout-java

Geluid
Made with Electron. Streams audio from your soundcard to a browser in an easy way
Stars: ✭ 29 (-25.64%)
Mutual labels:  streaming
piping-server-streaming-upload-htmls
fetch()'s streaming upload feature over Piping Server
Stars: ✭ 30 (-23.08%)
Mutual labels:  streaming
desktop
Free and open source streaming software built on OBS and Electron.
Stars: ✭ 3,684 (+9346.15%)
Mutual labels:  streaming
audio-streaming
🎧 This repository is to do live audio streaming
Stars: ✭ 26 (-33.33%)
Mutual labels:  streaming
pulsar-user-group-loc-cn
Workspace for China local user group.
Stars: ✭ 19 (-51.28%)
Mutual labels:  streaming
Desktop-Streamer
Streams your desktop (video and audio) to the network.
Stars: ✭ 16 (-58.97%)
Mutual labels:  streaming
jsmpeg-stream-go
MPEG1 streaming demo with jsmpeg implemented by Go
Stars: ✭ 14 (-64.1%)
Mutual labels:  streaming
igthorn
Cryptocurrency trading platform
Stars: ✭ 86 (+120.51%)
Mutual labels:  streaming
TidalSwift
Tidal Music Streaming Client & Library written in Swift
Stars: ✭ 45 (+15.38%)
Mutual labels:  streaming
pulsar-helm-chart
Official Apache Pulsar Helm Chart
Stars: ✭ 122 (+212.82%)
Mutual labels:  streaming
jsonld-streaming-serializer.js
A fast and lightweight streaming JSON-LD serializer for JavaScript
Stars: ✭ 20 (-48.72%)
Mutual labels:  streaming
tms
tms(toy media server) is a toy media server for myself learning media develop. Just for fun.
Stars: ✭ 29 (-25.64%)
Mutual labels:  streaming
MStream
Anomaly Detection on Time-Evolving Streams in Real-time. Detecting intrusions (DoS and DDoS attacks), frauds, fake rating anomalies.
Stars: ✭ 68 (+74.36%)
Mutual labels:  streaming
VAG.Node
GB28181 PS流转发网关服务<Node 版>,以GB28181对接的方式将摄像机/硬盘录像机 的PS流(H264/H265)打包推送到RTMP服务器。
Stars: ✭ 48 (+23.08%)
Mutual labels:  streaming
player
Proton Player is an HTML5-based streaming music player optimized for compatibility across many devices and browsers.
Stars: ✭ 84 (+115.38%)
Mutual labels:  streaming
moestreamer
macOS menubar music player
Stars: ✭ 17 (-56.41%)
Mutual labels:  streaming
df data service
DataFibers Data Service
Stars: ✭ 31 (-20.51%)
Mutual labels:  streaming
openmessaging.github.io
OpenMessaging homepage
Stars: ✭ 12 (-69.23%)
Mutual labels:  streaming
go-grpc-bidirectional-streaming-example
gRPC bidirectional streaming example written in golang
Stars: ✭ 83 (+112.82%)
Mutual labels:  streaming
netclix
A simple cli tool to get movie streaming link.
Stars: ✭ 75 (+92.31%)
Mutual labels:  streaming

Java libshout binding

Requirements

  • Java 1.7+
  • libshout 2.2+

Target folder contains libshout-java.so ready for use on 32-bit Linux. Put it in the user.dir of your project.

Libshout libshout = new Libshout();
System.out.println(libshout.getVersion());

Streaming

of test.mp3 to local Icecast2 on http://localhost:8000/mymount

byte[] buffer = new byte[1024];
InputStream mp3 = new BufferedInputStream(new FileInputStream(new File("test.mp3")));
Libshout icecast = new Libshout();
icecast.setHost("localhost");
icecast.setPort(8000);
icecast.setProtocol(Libshout.PROTOCOL_HTTP);
icecast.setPassword("hackme");
icecast.setMount("/mymount");
icecast.setFormat(Libshout.FORMAT_MP3);
icecast.open();
int read = mp3.read(buffer);
while (read > 0) {
	icecast.send(buffer, read);
	read = mp3.read(buffer);
}
icecast.close();
mp3.close();

Compilation

on Debian Buster (libshout 2.4)

apt-get install git libshout-dev gcc openjdk-11-jdk maven
git clone https://github.com/OlegKunitsyn/libshout-java.git
cd libshout-java
git checkout origin/java11
mvn install

on Debian Wheezy (libshout 2.2), Jessie and Stretch (libshout 2.3)

apt-get install git libshout-dev gcc openjdk-8-jdk maven
git clone https://github.com/OlegKunitsyn/libshout-java.git
cd libshout-java
mvn install

on CentOS 6.6, 7.1, 7.2, 7.3

yum install git libshout-devel gcc java-1.7.0-openjdk-devel

wget -O maven.tgz http://www.eu.apache.org/dist/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz
mkdir -p maven
tar xzf maven.tgz -C maven
mkdir -p /usr/local/maven
mv maven/apache-maven-3.1.1/* /usr/local/maven
rm -f maven.tgz
echo -e 'export M2_HOME=/usr/local/maven\nexport PATH=${M2_HOME}/bin:${PATH}' > /etc/profile.d/maven.sh
source /etc/profile.d/maven.sh
echo 'The maven version: ' `/usr/local/maven/bin/mvn -version` ' has been installed.'

git clone https://github.com/OlegKunitsyn/libshout-java.git
cd libshout-java
/usr/local/maven/bin/mvn install

on Mac OS X 10.12.1

### Prereqs
# Install Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# Install Caskroom
brew tap caskroom/cask
# Install XCode CLI Tools (or XCode from the App Store)
xcode-select --install
# Install libshout-devel (for source code, shout.h etc.)
brew install libshout
# Install Java (if not already installed)
brew cask install java
# Install Maven (if not already installed)
brew install maven

### Build libshout-java
git clone https://github.com/OlegKunitsyn/libshout-java.git
cd libshout-java
maven install

on Ubuntu, Windows, OpenSuse etc

please commit your story

Docker instruction

# 1. Clone project
git clone https://github.com/OlegKunitsyn/libshout-java.git
cd libshout-java
# 2. Build image
docker build .
# -> You will see something like this: Successfully built a7bbaac75a68 < This is [docker image ID], we will use it in next step
# Option. Run mvn install
docker run [docker image ID] mvn install
# Option. Run bash of ubuntu
# A bash on ubuntu will appear. you can do something like in ubuntu 16.04LTS (64bit)
docker run -it [docker image ID] /bin/bash
# Option. Advance. Mapping working directory vs directory in container
# It mean you can modify files in your working directory. And run it in docker environment without rebuild
docker run -it -v /path/to/libshout-java:/libshout-java/ [docker image ID]
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].