Difference between revisions of "Android Ogg/Theora Streamer : Giss Streamer"

From Giss
(Source code)
(Configuration Screens)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
= GISS Ogg/Theora Streamer v 1.0.0 =
+
= GISS Ogg/Theora Streamer v 1.3 =
  
 
This is the Ogg/Theora streamer based on the java vorbis library for android : [https://play.google.com/store/apps/details?id=jp.gr.tokotoko.oggDroid Vorbis library for android ] and using a native theora library.
 
This is the Ogg/Theora streamer based on the java vorbis library for android : [https://play.google.com/store/apps/details?id=jp.gr.tokotoko.oggDroid Vorbis library for android ] and using a native theora library.
  
 
It will only work with version of android >= 2.1 and will not work on devices with simplified processors, it was tested with success on an HTC Desire, it would not work on an HTC Tattoo, because it doesn't support floating point operations.
 
It will only work with version of android >= 2.1 and will not work on devices with simplified processors, it was tested with success on an HTC Desire, it would not work on an HTC Tattoo, because it doesn't support floating point operations.
 +
 +
If works on many other recent phones like Samsung A2 or Oppo Find X3 Lite ( tested ).
 
   
 
   
 
You should enter your stream parameters in the following screens and type 'Start' to start your stream.
 
You should enter your stream parameters in the following screens and type 'Start' to start your stream.
Line 11: Line 13:
 
== Configuration Screens ==
 
== Configuration Screens ==
  
[[Image:GissStreamer-server.png]]              [[Image:GissStreamer-quality.png]]                [[Image:GissStreamer-metadata.png]]
+
[[File:giss-streamer-server.png]]              [[File:giss-streamer-quality.png]]                [[File:giss-streamer-meta.png]]
  
 
== Streaming Screens ==
 
== Streaming Screens ==
Line 17: Line 19:
 
If all is fine, you will see the following screen during streaming :
 
If all is fine, you will see the following screen during streaming :
  
[[Image:GissStreamer-streaming.png]]
+
[[Image:giss-streamer.png]]
  
 
In case of an error, you will see an error in the status message or will have a pop-up alert :
 
In case of an error, you will see an error in the status message or will have a pop-up alert :
Line 28: Line 30:
 
than go to 'Stream quality' screen and enter the parameters you choose :
 
than go to 'Stream quality' screen and enter the parameters you choose :
  
* WidthxHeight : size of the video that is transmitted ( different form the size you see on the screen )
+
* Width and Height : size of the video that is transmitted ( different form the size you see on the screen )
 
* Framerate : framerate of the video stream
 
* Framerate : framerate of the video stream
* Video quality : theora encoding quality
+
* Video quality : theora encoding quality ( 1 to 16 )
* Audio bitrate : the audio bitrate of your stream.
+
* Audio bitrate : the audio bitrate transmitted to the server ( usually 64/96/128/256 )
* Audio channels : the number of requested channels ( usually mono is enough with a phone ).
+
* Audio channels : the number of requested channels ( generally 2 : stereo, the mic is mono but output is stereo ).
* Audio rate : the audio rate of the recording.
+
* Audio rate : the audio rate of the recording ( usually 44100 ).
  
 
Finally, enter your stream metadata in the 'Meta Data' screen :
 
Finally, enter your stream metadata in the 'Meta Data' screen :
Line 48: Line 50:
 
On small android models, use a low value for the
 
On small android models, use a low value for the
 
video size ( 160x128 ) as well as a low framerate ( 3 ).
 
video size ( 160x128 ) as well as a low framerate ( 3 ).
 +
 +
In fact, here the trick is to launch a streaming and see how many frames you get
 +
per second, and then stop the stream and enter this value in the framerate
 +
and start again : this guarantees an optimal synchronisation of audio and video.
  
 
== Acknowledgements ==
 
== Acknowledgements ==
Line 75: Line 81:
 
== Download ==
 
== Download ==
  
Download version 1.0.0 : [http://giss.tv/android/GissStreamer-debug.apk Giss Streamer]
+
Download version 1.3 : [http://giss.tv/android/GissStreamer-1.3.apk Giss Streamer]
  
 
== Source code ==
 
== Source code ==

Latest revision as of 10:48, 19 November 2023

GISS Ogg/Theora Streamer v 1.3

This is the Ogg/Theora streamer based on the java vorbis library for android : Vorbis library for android and using a native theora library.

It will only work with version of android >= 2.1 and will not work on devices with simplified processors, it was tested with success on an HTC Desire, it would not work on an HTC Tattoo, because it doesn't support floating point operations.

If works on many other recent phones like Samsung A2 or Oppo Find X3 Lite ( tested ).

You should enter your stream parameters in the following screens and type 'Start' to start your stream.

Screenshots

Configuration Screens

Giss-streamer-server.png Giss-streamer-quality.png Giss-streamer-meta.png

Streaming Screens

If all is fine, you will see the following screen during streaming :

Giss-streamer.png

In case of an error, you will see an error in the status message or will have a pop-up alert :

GissStreamer-error.png

Synopsis

Enter the stream server parameters in the main screen, than go to 'Stream quality' screen and enter the parameters you choose :

  • Width and Height : size of the video that is transmitted ( different form the size you see on the screen )
  • Framerate : framerate of the video stream
  • Video quality : theora encoding quality ( 1 to 16 )
  • Audio bitrate : the audio bitrate transmitted to the server ( usually 64/96/128/256 )
  • Audio channels : the number of requested channels ( generally 2 : stereo, the mic is mono but output is stereo ).
  • Audio rate : the audio rate of the recording ( usually 44100 ).

Finally, enter your stream metadata in the 'Meta Data' screen :

  • Name : name of the stream
  • Description : description of the stream
  • Genre : genre
  • More info : an url that describes more your project.

Then, click the 'Start' button and the stream should start.

Notes

On small android models, use a low value for the video size ( 160x128 ) as well as a low framerate ( 3 ).

In fact, here the trick is to launch a streaming and see how many frames you get per second, and then stop the stream and enter this value in the framerate and start again : this guarantees an optimal synchronisation of audio and video.

Acknowledgements

Thanks to K Ichimaru ( http://tokotoko.gr.jp/ ) for his Vorbis library and to Karl Heyes ( http://xiph.org ) for his precious help.

License

To use this application, you need to respect the Terms Of Use of giss.tv :

The code published here can be studied, modified, used by anyone that provides all the original credits and sources in derivative projects.

There are restrictions on its use, it cannot be used for :

  • military and/or repressive use
  • commercial installations and products
  • any project that promotes : racism, nationalism, xenophobia, sexism,

homophobia, religious hatred or missionarism .. ( expandable list)

This is not a standard license.

Download

Download version 1.3 : Giss Streamer

Source code

The source code can be downloaded from our GIT :

   git clone http://giss.tv/~git/git.cgi/GissStreamer.git 

have fun!