-
Notifications
You must be signed in to change notification settings - Fork 10
Record video get stuck after orientation changed #484
Comments
the client is using react-native-webrtc |
This maybe is: Related issues:
Related topics:
This is a way the issue has manifested before, with video coming from an iOS Safari, when the user rotated the device: First format detected for GStreamer capabilities is like this:
then it suddenly changes to this...
...and then it is when the error message appears: Note the chage of width and height. Other samples of this issue included a change in total video size upon rotating the device, so it is not only a matter of swapping width with height. |
I had forgotten, but from this comment maybe the problem is not RecorderEndpoint, but the MP4 container format that is not compatible with dynamic changes in video resolution. Users affected by this issue should try recording with MP4, WEBM, and MKV formats, and let us know if the issue is solved with any of those formats, so we can update the RecorderEndpoint documentation to reflect that fact. |
I have been able to test with an iPhone 6 with iOS 12.4. The result is that rotation causes a stuck video in all 3 recording formats (WEBM, MKV, MP4). I also tested with Chrome and Firefox on Android. This is a summary:
What is even more important: Capture of the I've been thinking about that and this might be caused by video frames not flowing between the WebRtcEndpoint and the RecorderEndpoint. But why? Is the iPhone actually sending video while the phone is rotated? (because if not, that's clearly an iOS issue). |
Adding to
I've set up a simple test with the OneToOne tutorial, between Safari/iOS and Chrome desktop. The result is that the video from Safari also got stuck in the Chrome page. Chrome is not receiving input video when the iPhone is rotated!! This takes the RecorderEndpoint out of the issue. Now the question is: why is Chrome not receiving video? Is it because Kurento has a bug and it stops sending such video? Or is it because iOS is the one with a bug and it stops sending? |
The conclusion is that webrtc video from iOS Safari can not be managed by Kurento when orientation is changed or iOS itself can not manage it? A test with a other WebRtc service like whereby should clear the doubts. |
I guess the conclusion is that, when rotating, Safari does something with the way it encodes videothat is very different to what Chrome & Firefox do. Kurento was optimized to work with these two, and it doesn't like whatever Safari does. Maybe it is how the H.264 stream is reconfigured, or how the keyframes are emitted. H.264 is not only video, but also metadata inbetween, so there is a lot that could be going on, and to which the decoder in Kurento can react better or worse. Now that I think of it, maybe upgrading the decoder (GStreamer) would have an impact on this issue. |
I understand... please add a note somewhere in RecorderEnpoint until we can spend time to investigate the problem further and try to fix it. |
I found another source that makes me think this is, after all, a bug in Safari for iOS ≤ 13.0:
@vanhungoz what version of iOS have you tested? Can you compare between 12.x and 13.x? |
@j1elo sorry for my late. i am using ios 12.4.6 |
client is app that is developed by react-native |
now, i need to update xcode to test ios 13.5. will be notify you when i done |
@j1elo this is some of my test: |
Hi, Just as a note, maybe it's not just a Safari issue. Remember this issue where Windows+Chrome is changing resolution after few seconds. The Safari version we tested was 12.1. Maybe new Safari versions are doing the same. Regards |
Are there any news or updates regarding this issue or whats causing it? |
Please open a separate bug report if you have observed these issues and are not related with the recording. This bug report is for the RecorderEndpoint. |
The problem is in qtmux or mp4mux, which refuses renegotiation of caps if changed downstream (e.g. by resolution change). It is even present, if not using Recorderendpoint, but RtpEndpoint and use a GST pipeline for the file save.
|
i am using kurento version 6.13 to record a streaming video.
whenever i rotate the screen, video always get stuck. it always displays the latest image of the previous orientation.
below is a video record sample.
https://corona-s3fs.s3-ap-northeast-1.amazonaws.com/96cb8a3c-9faa-48b5-8bf0-3a75025901bc.MP4
The text was updated successfully, but these errors were encountered: