VLCKit issueshttps://code.videolan.org/videolan/VLCKit/-/issues2022-09-24T17:22:35Zhttps://code.videolan.org/videolan/VLCKit/-/issues/620VLCMedia.parse(options: ) unable to parse metadata for smb linked resource2022-09-24T17:22:35Z龚杰洪VLCMedia.parse(options: ) unable to parse metadata for smb linked resource![阿杜_-_天蝎蝴蝶](/uploads/d2d2b7b826c8872304bfb5f3e707417e/阿杜_-_天蝎蝴蝶.mp3)
As shown in the attached music file, the metadata can be parsed if the file is placed locally, but it cannot be properly parsed if it is placed on the NAS for playbac...![阿杜_-_天蝎蝴蝶](/uploads/d2d2b7b826c8872304bfb5f3e707417e/阿杜_-_天蝎蝴蝶.mp3)
As shown in the attached music file, the metadata can be parsed if the file is placed locally, but it cannot be properly parsed if it is placed on the NAS for playback with an SMB link.https://code.videolan.org/videolan/VLCKit/-/issues/619VLCMediaPlayer.startRecording(atPath:) not working in Swift from RTSP streaming2022-07-04T10:45:26Zamit patelVLCMediaPlayer.startRecording(atPath:) not working in Swift from RTSP streaming****MobileVLCKit startRecording works but returns false and delegate returns nil for record path****
//-----------------------Coding---------------------------
import UIKit
import MobileVLCKit
class PlaybackViewController: UIViewCont...****MobileVLCKit startRecording works but returns false and delegate returns nil for record path****
//-----------------------Coding---------------------------
import UIKit
import MobileVLCKit
class PlaybackViewController: UIViewController {
let mediaURL = "https://streams.videolan.org/streams/mp4/Mr_MrsSmith-h264_aac.mp4"
@IBOutlet weak var movieView: UIView!
var mediaPlayer = VLCMediaPlayer()
var videoFilename = "rendersf"
var videoFilenameExt = "mkv"
var tempUrl = ""
override func viewDidLoad() {
super.viewDidLoad()
tempUrl = outputURL.absoluteString + "\(videoFilename).\(videoFilenameExt)"
setupMediaPLayer()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
mediaPlayer.play()
}
func setupMediaPLayer() {
let media = VLCMedia(url: URL(string: mediaURL)!)
mediaPlayer.delegate = self
mediaPlayer.drawable = movieView
mediaPlayer.media = media
mediaPlayer.libraryInstance.debugLogging = true
}
@IBAction func handlePlayPause(_ sender: UIButton) {
if mediaPlayer.isPlaying {
mediaPlayer.pause()
sender.isSelected = true
} else {
mediaPlayer.play()
sender.isSelected = false
}
}
@IBAction func recordStartStop(_ sender: UIButton) {
if sender.isSelected == false {
sender.isSelected = true
print("fileURL: \(tempUrl)")
let idd = self.mediaPlayer.startRecording(atPath: tempUrl)
if idd == true {
print("------------Mila---------------")
}else{
print("-------------Oooo---------------")
}
}else{
sender.isSelected = false
self.mediaPlayer.stopRecording()
}
}
var outputURL: URL {
let fileManager = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
return fileManager
}
}
extension PlaybackViewController: VLCMediaPlayerDelegate {
func mediaPlayerStartedRecording(_ player: VLCMediaPlayer) {
print("----mediaPlayerStartedRecording: \(player)-------------")
}
func mediaPlayer(_ player: VLCMediaPlayer, recordingStoppedAtPath path: String) {
print("----recordingStoppedAtPath: \(path)-------------")
}
func mediaPlayerStateChanged(_ aNotification: Notification) {
guard let videoPlayer = aNotification.object as? VLCMediaPlayer else {return}
switch videoPlayer.state{
case .playing:
print("VLCMediaPlayerDelegate: PLAYING")
case .opening:
print("VLCMediaPlayerDelegate: OPENING")
case .error:
print("VLCMediaPlayerDelegate: ERROR")
case .buffering:
print("VLCMediaPlayerDelegate: BUFFERING")
case .stopped:
print("VLCMediaPlayerDelegate: STOPPED")
case .paused:
print("VLCMediaPlayerDelegate: PAUSED")
case .ended:
print("VLCMediaPlayerDelegate: ENDED")
case .esAdded:
print("VLCMediaPlayerDelegate: ELEMENTARY STREAM ADDED")
default:
break
}
}
}
![Simulator_Screen_Shot_-_iPhone_12_-_2022-07-04_at_16.13.51](/uploads/17013b076a791d2ab681d2b2a77841a6/Simulator_Screen_Shot_-_iPhone_12_-_2022-07-04_at_16.13.51.png)
Note: Please help me if you have any ideas.https://code.videolan.org/videolan/VLCKit/-/issues/615Resume video playing from paused status gets mute for about 1 second at the b...2023-10-07T12:25:25ZRoenResume video playing from paused status gets mute for about 1 second at the beginningWhen we resume a paused video using `[VLCMediaPlayer play]`, there will be no audio output for about 1 seconds at the beginning.
Since my App which is integrated with MobileVLCKit is for language learning purpose, so the sound output is ...When we resume a paused video using `[VLCMediaPlayer play]`, there will be no audio output for about 1 seconds at the beginning.
Since my App which is integrated with MobileVLCKit is for language learning purpose, so the sound output is even more important than video image, so I hope this issue can be resolved.
thanks.Thomas GuillemThomas Guillemhttps://code.videolan.org/videolan/VLCKit/-/issues/609Incorrect .position/.time in audio playback.2022-09-24T17:09:44ZGeneIncorrect .position/.time in audio playback.MobileVLCKit 3.4.1b9
If I simply pause then resume audio playback, there is a ~1500 ms silence before audio is heard again. It seems like the audio actually silently plays for ~1500 ms then the sound comes at a correct time. Like 1.. 2....MobileVLCKit 3.4.1b9
If I simply pause then resume audio playback, there is a ~1500 ms silence before audio is heard again. It seems like the audio actually silently plays for ~1500 ms then the sound comes at a correct time. Like 1.. 2.. [pause-play] silence 4.. 5.. (seems to be the same as #549).
If I pause audio and read the current time or position, I get invalid values, much earlier in playback. Here is an example:
![Screenshot_2022-05-16_at_17.54.09](/uploads/5150078c8d4ec4e3d805569ded3296bc/Screenshot_2022-05-16_at_17.54.09.png)
I paused the 5.23 seconds recording about half-way in, at about 2500 ms, but I get these values for `.position` and `.time.intValue` respectively: `paused at 0.046502978, 250`. These values are consistent with each other and with the duration of the audio but inconsistent with the actual playback position, they should be about 10 times greater. The `.time` is always in 250 ms increments.
I can get around this issue by manually saving/assigning a correct playback position but it would be nice to fix the issue at the source.
Edited: I previously assumed it was due to WebM format, but it equally affects the AAC m4a too.4.0https://code.videolan.org/videolan/VLCKit/-/issues/595Problem opening files through TLS 1.3 connections2023-03-13T03:33:54ZAlphaScorpii-devProblem opening files through TLS 1.3 connectionsMy NAS is set up to use TLS 1.3 only for HTTPS connections.
When trying to read this file, from the desktop VLC, there is no problem.
When trying to do so from an iOS device, the player won't open the file at all.
As far as I can tell, i...My NAS is set up to use TLS 1.3 only for HTTPS connections.
When trying to read this file, from the desktop VLC, there is no problem.
When trying to do so from an iOS device, the player won't open the file at all.
As far as I can tell, it seems to be an issue with the TLS versions VLC can handle on iOS.
You can get all the relevant information from the log file below.
[vlcdebug-2022-03-28--05-13-04.log](/uploads/529eebc88c844debd3751cc16b2905ff/vlcdebug-2022-03-28--05-13-04.log)https://code.videolan.org/videolan/VLCKit/-/issues/591Wrong information Frames Per Second (FPS) for RTSP streaming2022-09-12T03:33:12ZTeksunNjWrong information Frames Per Second (FPS) for RTSP streamingI am trying to determine the Frames Per Second (FPS) for RTSP streaming.
in the **"frame_rate_num"** i got wrong information.
My URL:- "rtsp://192.168.x.xx:xxx/test"
print("tracksInformation \(self.mediaPlayer.media.tracksInformation)"...I am trying to determine the Frames Per Second (FPS) for RTSP streaming.
in the **"frame_rate_num"** i got wrong information.
My URL:- "rtsp://192.168.x.xx:xxx/test"
print("tracksInformation \(self.mediaPlayer.media.tracksInformation)")
tracksInformation [{
bitrate = 0;
codec = 875967080;
"frame_rate_den" = 1001;
** "frame_rate_num" = 30000;**
height = 240;
id = 0;
level = "-1";
orientation = 0;
profile = "-1";
projection = 0;
"sar_den" = 1;
"sar_num" = 1;
type = video;
width = 320;
}]https://code.videolan.org/videolan/VLCKit/-/issues/583MobileVLCKit: [iOS] Video ended and stopped before reaching the full time2022-09-24T17:28:20ZMokhlas HusseinMobileVLCKit: [iOS] Video ended and stopped before reaching the full timeHello,
i found a bug or maybe something with my setup, i don't really know exactly why this happens,
the video i play it reaches Ended and Stopped states before even reaching the end of the video,
i would like to get an advice of how i ...Hello,
i found a bug or maybe something with my setup, i don't really know exactly why this happens,
the video i play it reaches Ended and Stopped states before even reaching the end of the video,
i would like to get an advice of how i can fix it or it's a core bug.
here's my implementation: [@imokhles/react-native-vlc](https://github.com/iMokhles/react-native-vlc/blob/master/ios/RCTVLCPlayer/RCTVLCPlayer.m)
here's a screenshots of returned values on each state change
TimeChanged (onProgress), Ended, Stopped
![Capture_d_écran_2022-02-15_à_07.01.21](/uploads/1989e4ed646dd63731b64fded23f3026/Capture_d_écran_2022-02-15_à_07.01.21.png)
![Capture_d_écran_2022-02-15_à_07.00.55](/uploads/4bd316370e9a219a95000be985d82d26/Capture_d_écran_2022-02-15_à_07.00.55.png)https://code.videolan.org/videolan/VLCKit/-/issues/582MobileVLCKit: iOS PIP2023-06-28T16:01:46ZJohn LimaMobileVLCKit: iOS PIPHi everyone, I'm working with **MobileVLCKit** integration for iOS and I'd like to know if it's possible to activate picture in picture (PIP).
I tried to search for this info on documentation but I didn't find anything.
Thanks.Hi everyone, I'm working with **MobileVLCKit** integration for iOS and I'd like to know if it's possible to activate picture in picture (PIP).
I tried to search for this info on documentation but I didn't find anything.
Thanks.4.0Maxime ChapeletMaxime Chapelethttps://code.videolan.org/videolan/VLCKit/-/issues/581VLC player RTSP video latency issues. How Reduce delay when playing stream2022-08-16T08:30:33ZTeksunNjVLC player RTSP video latency issues. How Reduce delay when playing stream- Many time stream stop get an error().
func mediaPlayerStateChanged(_ aNotification: Notification!)
mediaPlayer.state
case .error :
- The Latency was about 2 to 3 seconds
- I'm using a 5MP 1080P Camera Raspberry Pi 3/4
- My Internet ...- Many time stream stop get an error().
func mediaPlayerStateChanged(_ aNotification: Notification!)
mediaPlayer.state
case .error :
- The Latency was about 2 to 3 seconds
- I'm using a 5MP 1080P Camera Raspberry Pi 3/4
- My Internet speed is 120 Mbps
- Testing device iPhone X (Xcode 13.0)
- My URL:- "rtsp://192.168.x.xx:xxx/test"
so how to reduce latency Is there any way, please tell mehttps://code.videolan.org/videolan/VLCKit/-/issues/580Bluscreen: Getting Bluescreen can only use "YUVA" error on iOS2022-02-08T17:59:00ZKushagra GuptaBluscreen: Getting Bluescreen can only use "YUVA" error on iOSI am trying to use bluescreen filter to remove green pixels from source video.
Since bluescreen filter is not bundled with MobileVLCKit, tried building MobileVLCKit by removing `bluescreen` filter from blacklist options and rebuilding fr...I am trying to use bluescreen filter to remove green pixels from source video.
Since bluescreen filter is not bundled with MobileVLCKit, tried building MobileVLCKit by removing `bluescreen` filter from blacklist options and rebuilding framework.
Observations:
When I use
```
'--sout-mosaic-bridge-chroma=YUVA',
'--sout-mosaic-bridge-vfilter=bluescreen',
```
as options while initialization, there are no error logs and also nothing is working
When I use
```
'--sout-mosaic-bridge-chroma=YUVA',
'--video-filter=bluescreen'
```
as option while initialization, I get this error:
```
[ERR] Unsupported input chroma "RV24". Bluescreen can only use "YUVA".
[ERR] Failed to create video filter 'bluescreen'
```
I guess ```sout-mosaic-bridge``` options are not working as expectedhttps://code.videolan.org/videolan/VLCKit/-/issues/567Media: Expose new libvlc_media_get_stat API2022-05-18T13:25:24ZFelix Paul Kühnefkuehne@videolan.orgMedia: Expose new libvlc_media_get_stat APISee also https://code.videolan.org/videolan/vlc/-/merge_requests/923 and https://code.videolan.org/videolan/libvlcpp/-/commit/aca01ee33ad03d30b4ac42094749ccbcf76f35c7See also https://code.videolan.org/videolan/vlc/-/merge_requests/923 and https://code.videolan.org/videolan/libvlcpp/-/commit/aca01ee33ad03d30b4ac42094749ccbcf76f35c74.0https://code.videolan.org/videolan/VLCKit/-/issues/566Crash on simulator when starting playback for the 2nd time2022-09-24T17:39:15ZFrancois GoudalCrash on simulator when starting playback for the 2nd timeHello,
I'm using VLCKit in a tvOS app to play a live stream over HTTP (HEVC/AAC).
In the AppleTV simulator, If I stop the playback and start it again, the app crashes in a thread running a queue related to OpenGL.
See backtrace below:
``...Hello,
I'm using VLCKit in a tvOS app to play a live stream over HTTP (HEVC/AAC).
In the AppleTV simulator, If I stop the playback and start it again, the app crashes in a thread running a queue related to OpenGL.
See backtrace below:
```
* thread #3, queue = 'com.apple.opengl.cvmDoWork', stop reason = EXC_BAD_ACCESS (code=1, address=0x30)
* frame #0: 0x000000010e75482c libCoreVMClient.dylib`cvmsServerElementBuild + 432
frame #1: 0x000000010e750aec libCoreVMClient.dylib`cvms_element_build_from_source + 132
frame #2: 0x000000010e813680 libCVMSPluginSupport.dylib`cvm_deferred_build_modular(void*) + 396
frame #3: 0x0000000103e58820 libdispatch.dylib`_dispatch_client_callout + 16
frame #4: 0x0000000103e5fa5c libdispatch.dylib`_dispatch_lane_serial_drain + 756
frame #5: 0x0000000103e60710 libdispatch.dylib`_dispatch_lane_invoke + 436
frame #6: 0x0000000103e6c77c libdispatch.dylib`_dispatch_workloop_worker_thread + 820
frame #7: 0x0000000104c3ed58 libsystem_pthread.dylib`_pthread_wqthread + 284
```
I am not myself directly using OpenGL in this app, it really only is a big fullscreen view that gets passed to VLCKit for it to draw inside, so that's why, given that the error relates to OpenGL, I think the crash is caused by VLCKit.
The crash only occurs in the simulator, it works fine on a real tvOS hardware.
I can reproduce it every time, using latest stable VLCKit (3.3.17)https://code.videolan.org/videolan/VLCKit/-/issues/565Switching low rate is not smooth2022-03-17T08:16:50Zzj381652512Switching low rate is not smooth![RPReplay_Final1639190220_2](/uploads/515c5c119064340944cc2fa0ad2a11fb/RPReplay_Final1639190220_2.mov)
When I switched the rate from 2 to 1,1 to 0.5, I found that the video playback was stammered and not smooth, such as the attached vi...![RPReplay_Final1639190220_2](/uploads/515c5c119064340944cc2fa0ad2a11fb/RPReplay_Final1639190220_2.mov)
When I switched the rate from 2 to 1,1 to 0.5, I found that the video playback was stammered and not smooth, such as the attached video
device: iphoneSE2
system: 14.6
version: MobileVLCKit_3.3.18b4https://code.videolan.org/videolan/VLCKit/-/issues/556iOS How to set custom view or label for subtitle view in VLC Player?2022-01-09T22:21:29ZSun PoohiOS How to set custom view or label for subtitle view in VLC Player?I want to customize subtitle text by changing font size, text color and background color.
I tried with options but it is not working well and can't change in playing mode.
How can I do it.
guard let url = URL(string: self.url) else...I want to customize subtitle text by changing font size, text color and background color.
I tried with options but it is not working well and can't change in playing mode.
How can I do it.
guard let url = URL(string: self.url) else {return}
vlcMedia = VLCMedia(url: url)
vlcMedia.addOption(":network-caching=1000")
vlcMedia.addOption(":freetype-rel-fontsize=10")
vlcMedia.addOption(":freetype-color=#00FF00")
vlcPlayer.media = vlcMedia
vlcPlayer.drawable = player_view
vlcPlayer.delegate = self
vlcPlayer.play()
Is there a way I can get subtitles as a string in VLC?
Thank you.4.0https://code.videolan.org/videolan/VLCKit/-/issues/549VLC delay to start play2022-08-26T02:26:32ZcuongabVLC delay to start playWhen i call `pause()`, wait a moment, then later call `play()` VLCKit take about 2 seconds to start again.
How we can fix this?When i call `pause()`, wait a moment, then later call `play()` VLCKit take about 2 seconds to start again.
How we can fix this?https://code.videolan.org/videolan/VLCKit/-/issues/544audio issues when using HomePod as default audio in AppleTV2022-01-09T22:25:12Zchiro79audio issues when using HomePod as default audio in AppleTVI’m using an app that uses VLCKit (TVHClien) on the AppleTV with two HomePods as default audio output. When I change the channel, different issues may appear in the audio. Delays, change of pitch, micro-cuts, etc…
I have tested it with t...I’m using an app that uses VLCKit (TVHClien) on the AppleTV with two HomePods as default audio output. When I change the channel, different issues may appear in the audio. Delays, change of pitch, micro-cuts, etc…
I have tested it with the official VLC app for the AppleTV, and the same happens. When you play several video files, at the end weird issues happen with the audio.
I’m attaching an example of a video using the official VLC app.
![FullSizeRender](/uploads/4778e9059ee9c135184b48906aa9d1cc/FullSizeRender.mov)Thomas GuillemThomas Guillemhttps://code.videolan.org/videolan/VLCKit/-/issues/540Why is the ratio between a player and a thumbnailer different?2021-11-24T12:06:02Zkyungjun MinWhy is the ratio between a player and a thumbnailer different?The player shows the screen at a normal rate. <br>
However, when you use a thumbnailer, the ratio is distorted and comes out.<br>
Why is the ratio different when it's the same video?<br>
### [Player Screen](https://imgur.com/a/6JgaaXI)
...The player shows the screen at a normal rate. <br>
However, when you use a thumbnailer, the ratio is distorted and comes out.<br>
Why is the ratio different when it's the same video?<br>
### [Player Screen](https://imgur.com/a/6JgaaXI)
### [Thumbnailer Screen](https://imgur.com/a/BlOrLzU)4.0https://code.videolan.org/videolan/VLCKit/-/issues/538Using MobileVLCKit with VNImageRequestHandler2022-12-04T19:22:50ZAdam HarasimUsing MobileVLCKit with VNImageRequestHandlerCurrently I am developing iOS app for my client where I want to process video stream with VNImageRequestHandler https://developer.apple.com/documentation/vision/vnimagerequesthandler.
Can I somehow get CGImage/CVPixelBuffer/CMSampleBuffe...Currently I am developing iOS app for my client where I want to process video stream with VNImageRequestHandler https://developer.apple.com/documentation/vision/vnimagerequesthandler.
Can I somehow get CGImage/CVPixelBuffer/CMSampleBuffer/Data object for video frames? Any help/advice will be appreciated.https://code.videolan.org/videolan/VLCKit/-/issues/515MobileVLCKit play MKV crash2021-09-02T15:56:42ZSnailMSMobileVLCKit play MKV crashI used Cocoapods to import MobileVLCKit
When playing a local MKV file, it will probably stop playing the file after the subtitle appears. APP crashI used Cocoapods to import MobileVLCKit
When playing a local MKV file, it will probably stop playing the file after the subtitle appears. APP crashhttps://code.videolan.org/videolan/VLCKit/-/issues/513ios vlckit - no video when playing recorded avi file2022-01-09T22:29:22ZUwe Wilhelmios vlckit - no video when playing recorded avi fileI am using vlckit in xcode for an ios app.
I am playing a RTSP-Stream with vlckit which works. Then I am recording the stream with the startRecordingAtPath function and stopRecording function, which also works. The avi file of the recor...I am using vlckit in xcode for an ios app.
I am playing a RTSP-Stream with vlckit which works. Then I am recording the stream with the startRecordingAtPath function and stopRecording function, which also works. The avi file of the record gets created at the choosen path.
When I want to play this avi file with the play function it only plays the audio, not the video. I only see a white screen instead of the video. Is this a bug or am I doing something wrong?
This is my playback function:
func makeUIViewRecord(){
var path = FileManager.default.urls(for: .moviesDirectory, in: .userDomainMask)[0]
let recordname = "filename.avi"
path = path.appendingPathComponent(recordname)
mediaPlayer.stop()
let media = VLCMedia(url: path)
mediaPlayer.media = media
DispatchQueue.main.async(){
mediaPlayer.play()
}
}