This library is developed in JAVA and is a wrapper of the VLCj library. Is based on the code by @moster67 (see here). It has been reworked to obtain an h.264 streaming from the pc cam, streaming of an mp4 video and finally of the desktop and a portion of it,
You must have VLC installed in your pc. If you have Window Pro you must have administrator permissions to access a folder where a DLL is contained.
You can download a second library which builds on this and facilitates some functions (see here).
Special thanks to @moster67 for the help.
NOTE
It depends on the following libraries: jna-4.1.0, slf4j-api-1.7.10, jna-platform-4.1.0, vlcj-3.10.1 (Add the extra jars in your B4J Extra/Additional Library folder)
This version is demo only and the streaming time is limited to 120 seconds. It will take a few seconds before the stream is sent because it needs to create enough cache.
It is necessary to create an fxml file in order to hook the player to a panel. the fxml file attached in the example must be modified based on the packagename and one must be created for each bread that will contain the player
SD_StreamingDEMO
Author: Star-Dust
Version: 1.01
You must have VLC installed in your pc. If you have Window Pro you must have administrator permissions to access a folder where a DLL is contained.
You can download a second library which builds on this and facilitates some functions (see here).
Special thanks to @moster67 for the help.
NOTE
It depends on the following libraries: jna-4.1.0, slf4j-api-1.7.10, jna-platform-4.1.0, vlcj-3.10.1 (Add the extra jars in your B4J Extra/Additional Library folder)
This version is demo only and the streaming time is limited to 120 seconds. It will take a few seconds before the stream is sent because it needs to create enough cache.
It is necessary to create an fxml file in order to hook the player to a panel. the fxml file attached in the example must be modified based on the packagename and one must be created for each bread that will contain the player
SD_StreamingDEMO
Author: Star-Dust
Version: 1.01
- SD_Streaming
- Events:
- ChangeState (state As Int)
- Error
- Finished
- Prepared
- Fields:
- player As player.VideoPlayer
- Functions:
- CanPause As Boolean
Can the current media be paused?
returns true if the current media can be paused, otherwise false - GetAspectRatio As String
Get the video aspect ratio.
Returns aspect ratio ONLY if you have set the AspectRatio yourself. - GetLength As Long
Get the length of the current media item.
Returns: length, in milliseconds - GetPlaySpeedRate As Float
Get the current video play speed rate.
speedRate, where 1.0 is normal speed, 0.5 is half speed, 2.0 is double speed and so on - GetPosition As Float
Get the current play-back position.
Returns current position, expressed as a percentage (e.g. 0.15 is returned for 15% complete) - GetScale As Float
Get the current video scale (zoom factor). - GetTime As Long
Get the current play-back time.
Returns current time, expressed as a number of milliseconds - GetVolume As Int
Get the current volume.
Returns volume, a percentage of full volume in the range 0 to 200 - Initialize (EventName As String)
Initializes B4JVlcj. You must set an event-name if you want to monitor events.
Important: Always check if VLC is installed before initializing using
the IsVLCInstalled-method.
Important: When exiting your app, always make sure to use the release-method! - IsInitialized As Boolean
- IsPlayable As Boolean
Is the current media playable?
returns true if the current media is playable, otherwise false - IsPlaying As Boolean
Is the media player playing?
returns true if the media player is playing, otherwise false - IsSeekable As Boolean
Is the current media seekable?
returns true if the current media is seekable, otherwise false - IsVLCInstalled As Boolean
This method should be the first code you run before initializing B4JVlcj.
Returns if VLC has been installed on the computer or not. If VLC has been
installed in a non-standard directory, VLC might not be found. - Mute
Mutes volume - Pause
Pauses media - Play (source As String)
Plays media (can be a local file or a streaming source) - PlayExtra (Options As String(), source As String)
- release
Use this on the b4j closing event. Final step to do is to release vlc. - SaveCam (filename As String, DegreeRotate As Int)
- SaveDesktop (filename As String)
- SetAspectRatio (AspectRatio As String)
Set the video aspect ratio
Param: aspectRatio - aspect ratio, e.g. "16:9", "4:3", "185:100" for 1:85.1 and so on - SetPlaySpeedRate (speedRate As Float) As Int
Set the video play speed rate.
Some media protocols are not able to change the speed rate.
speed rate - rate, where 1.0 is normal speed, 0.5 is half speed, 2.0 is double speed and so on
Returns: -1 on error, 0 on success - SetPosition (position As Float)
Jump to a specific position. If the requested position
is less than zero, it is normalised to zero.
Param: position - position value, a percentage (e.g. 0.15 is 15%) - SetScale (factor As Float)
Set the video scaling factor
Param: factor - scaling factor, or zero to scale the video the size of the container - SetTime (time As Long)
Jump to a specific moment.
If the requested time is less than zero, it is normalised to zero
Param: time - time since the beginning, in milliseconds - SetVolume (volumeLevel As Int)
Set the volume.
The volume is actually a percentage of full volume, setting a volume
over 100 may cause audible distortion.
Param: volumeLevel - a percentage of full volume in the range 0 to 200 - Skip (delta As Long)
Skip forward or backward by a period of time.
To skip backwards specify a negative delta.
Param: delta - time period, in milliseconds - SkipPosition (delta As Float)
Skip forward or backward by a change in position.
To skip backwards specify a negative delta.
Param: delta - amount to skip - Stop
Stops playing media - StreamCam (localip As String, filename As String, port As Int, DegreeRotate As Int)
- StreamDesktop (localip As String, filename As String, port As Int)
- Unmute (VolumeLevel As Int)
Unmutes volume
- CanPause As Boolean
- Properties:
- Version As Double [read only]
- VideoHeight As Double [read only]
Returns Video Height - VideoWidth As Double [read only]
Returns Video Width
- Events:
Attachments
Last edited: