[GH-ISSUE #88] Moblin support for portrait mode streaming #40

Closed
opened 2026-03-02 03:59:42 +03:00 by kerem · 33 comments
Owner

Originally created by @fdebbabi on GitHub (Dec 15, 2024).
Original GitHub issue: https://github.com/eerimoq/moblin/issues/88

The stream via Moblin seems possible only in landscape mode. Any idea how to stream in portrait mode
from within the app?

My hack for now is to send it to a middle component that is going to do a rotate for something that should be native I believe.

This is extremely beneficial for portrait live streams (IRL/Outdoor) that target smartphones so that viewers can see a bigger and sharper image and not simply a 16:9 image in a 9:16 canvas (a big part of the frame is black) (check added photo to see how the stream looks on smartphones screens without doing the hack

Screenshot 2024-12-15 at 14 19 35 )
Originally created by @fdebbabi on GitHub (Dec 15, 2024). Original GitHub issue: https://github.com/eerimoq/moblin/issues/88 The stream via Moblin seems possible only in landscape mode. Any idea how to stream in portrait mode from within the app? My hack for now is to send it to a middle component that is going to do a rotate for something that should be native I believe. This is extremely beneficial for portrait live streams (IRL/Outdoor) that target smartphones so that viewers can see a bigger and sharper image and not simply a 16:9 image in a 9:16 canvas (a big part of the frame is black) (check added photo to see how the stream looks on smartphones screens without doing the hack <img width="384" alt="Screenshot 2024-12-15 at 14 19 35" src="https://github.com/user-attachments/assets/5ce367ac-b7f0-40d6-9d62-9b7c61ee2ef0" /> )
kerem closed this issue 2026-03-02 03:59:43 +03:00
Author
Owner

@eerimoq commented on GitHub (Dec 15, 2024):

Settings -> Streams -> My stream -> Portrait not sufficient, and rotate 90 degrees in OBS?

Widgets are not supported in "portrait". They will be rotated 90 degrees.

<!-- gh-comment-id:2543874391 --> @eerimoq commented on GitHub (Dec 15, 2024): Settings -> Streams -> My stream -> Portrait not sufficient, and rotate 90 degrees in OBS? Widgets are not supported in "portrait". They will be rotated 90 degrees.
Author
Owner

@fdebbabi commented on GitHub (Dec 15, 2024):

As I stream outdoor for 1-5 hours, my goal is to skip OBS part (that I am doing currently), my goal is to send stream following the first approach as there is less dependency/requirements/things to manage at home and when things fail when I am outside I don't have to stop livestreaming and go back at home and fix things:

  1. Moblin(SRTLA) -> Belabox(SRTLA) <- RTMP Relay -> (Youtube, Tiktok and Instagram simultaneously)

  2. Moblin(SRTLA) -> Belabox(SRTLA) <- OBS On my PC to rotate -> RTMP Relay -> (Youtube, Tiktok and Instagram simultaneously)

<!-- gh-comment-id:2543880384 --> @fdebbabi commented on GitHub (Dec 15, 2024): As I stream outdoor for 1-5 hours, my goal is to skip OBS part (that I am doing currently), my goal is to send stream following the **first** approach as there is less dependency/requirements/things to manage at home and when things fail when I am outside I don't have to stop livestreaming and go back at home and fix things: 1. Moblin(SRTLA) -> Belabox(SRTLA) **<-** RTMP Relay -> (Youtube, Tiktok and Instagram simultaneously) 2. Moblin(SRTLA) -> Belabox(SRTLA) **<-** OBS On my PC to rotate -> RTMP Relay -> (Youtube, Tiktok and Instagram simultaneously)
Author
Owner

@eerimoq commented on GitHub (Dec 15, 2024):

I see. No one is working on adding real portrait right now, so likely not supported anytime soon

<!-- gh-comment-id:2543882895 --> @eerimoq commented on GitHub (Dec 15, 2024): I see. No one is working on adding real portrait right now, so likely not supported anytime soon
Author
Owner

@fdebbabi commented on GitHub (Dec 15, 2024):

Ok, thank you for the information 👍

<!-- gh-comment-id:2544069743 --> @fdebbabi commented on GitHub (Dec 15, 2024): Ok, thank you for the information 👍
Author
Owner

@eerimoq commented on GitHub (Dec 18, 2024):

Implemented it. It's in Test Flight soon.

<!-- gh-comment-id:2551791360 --> @eerimoq commented on GitHub (Dec 18, 2024): Implemented it. It's in Test Flight soon.
Author
Owner

@fdebbabi commented on GitHub (Dec 18, 2024):

That was extremly fast 😅 you know that portrait streaming is the only reason I keep using Larix Broadcaster (I bet a lof people need this for IRL)

<!-- gh-comment-id:2551998200 --> @fdebbabi commented on GitHub (Dec 18, 2024): That was extremly fast 😅 you know that portrait streaming is the only reason I keep using Larix Broadcaster (I bet a lof people need this for IRL)
Author
Owner

@eerimoq commented on GitHub (Dec 18, 2024):

It's in test flight now in case you wanna give it a try. Just enable it in Settings -> Streams -> My stream and go live. Let me know if it works

<!-- gh-comment-id:2552001007 --> @eerimoq commented on GitHub (Dec 18, 2024): It's in test flight now in case you wanna give it a try. Just enable it in Settings -> Streams -> My stream and go live. Let me know if it works
Author
Owner

@fdebbabi commented on GitHub (Dec 18, 2024):

I have just checked (on iPad), one question, how to enable it in Settings -> Streams -> My stream, I can't find a button to rotate stream or proper 9:16 resolution, i only find rotate in display.

<!-- gh-comment-id:2552102052 --> @fdebbabi commented on GitHub (Dec 18, 2024): I have just checked (on iPad), one question, how to enable it in Settings -> Streams -> My stream, I can't find a button to rotate stream or proper 9:16 resolution, i only find rotate in display.
Author
Owner

@eerimoq commented on GitHub (Dec 18, 2024):

it's only supported on iphone

<!-- gh-comment-id:2552127843 --> @eerimoq commented on GitHub (Dec 18, 2024): it's only supported on iphone
Author
Owner

@eerimoq commented on GitHub (Dec 18, 2024):

can probably be added to ipad

<!-- gh-comment-id:2552134587 --> @eerimoq commented on GitHub (Dec 18, 2024): can probably be added to ipad
Author
Owner

@eerimoq commented on GitHub (Dec 18, 2024):

was easy to make it work on ipad. will be in test flight in 15 minutes

<!-- gh-comment-id:2552164443 --> @eerimoq commented on GitHub (Dec 18, 2024): was easy to make it work on ipad. will be in test flight in 15 minutes
Author
Owner

@fdebbabi commented on GitHub (Dec 18, 2024):

Stream is working fine, some minor issues I sent via testFlight

<!-- gh-comment-id:2552200439 --> @fdebbabi commented on GitHub (Dec 18, 2024): Stream is working fine, some minor issues I sent via testFlight
Author
Owner

@eerimoq commented on GitHub (Dec 18, 2024):

I need more details on the problem that parts of the video is outside the screen. It's not like that for me on iPhone or iPad. What is you setup? What camera are you using as video source?

<!-- gh-comment-id:2552210341 --> @eerimoq commented on GitHub (Dec 18, 2024): I need more details on the problem that parts of the video is outside the screen. It's not like that for me on iPhone or iPad. What is you setup? What camera are you using as video source?
Author
Owner

@fdebbabi commented on GitHub (Dec 18, 2024):

Using iPhone SE natif back camera (there is only one)

<!-- gh-comment-id:2552217845 --> @fdebbabi commented on GitHub (Dec 18, 2024): Using iPhone SE natif back camera (there is only one)
Author
Owner

@eerimoq commented on GitHub (Dec 18, 2024):

fixed the resolution names

<!-- gh-comment-id:2552238952 --> @eerimoq commented on GitHub (Dec 18, 2024): fixed the resolution names
Author
Owner

@eerimoq commented on GitHub (Dec 18, 2024):

looks good on iphone x as well. not sure why the video is partly outside the screen. you got any widgets or anything else you think could affect it?

<!-- gh-comment-id:2552257953 --> @eerimoq commented on GitHub (Dec 18, 2024): looks good on iphone x as well. not sure why the video is partly outside the screen. you got any widgets or anything else you think could affect it?
Author
Owner

@eerimoq commented on GitHub (Dec 18, 2024):

Update to latest testflight again. should have resolution fix

<!-- gh-comment-id:2552280173 --> @eerimoq commented on GitHub (Dec 18, 2024): Update to latest testflight again. should have resolution fix
Author
Owner

@fdebbabi commented on GitHub (Dec 18, 2024):

Yes, all of the issues mentioned are now fixed on both ipad and iPhone SE (even the camera that was out of the screen in portrait mode).
One minor issue still left is that icons in portrait mode are slightly cut/out of the screen in iPHone SE (I sent photo using test flight)

<!-- gh-comment-id:2552296655 --> @fdebbabi commented on GitHub (Dec 18, 2024): Yes, all of the issues mentioned are now fixed on both ipad and iPhone SE (even the camera that was out of the screen in portrait mode). One minor issue still left is that icons in portrait mode are slightly cut/out of the screen in iPHone SE (I sent photo using test flight)
Author
Owner

@eerimoq commented on GitHub (Dec 18, 2024):

ok! yeah, the buttons are slightly cut on Mac as well. not sure how to fix it, as I don't want to add padding on phones where it already looks good.

<!-- gh-comment-id:2552304671 --> @eerimoq commented on GitHub (Dec 18, 2024): ok! yeah, the buttons are slightly cut on Mac as well. not sure how to fix it, as I don't want to add padding on phones where it already looks good.
Author
Owner

@fdebbabi commented on GitHub (Dec 18, 2024):

Yes, for me everything is perfect :) that would be good also to share it in discord once accessible directly in app store (multiple people were asking also for it)

Note: I tested on iPhone SE because it is the only iphone I had accesible tonight, iPhone SE is really not for streaming (can't take the stress)

<!-- gh-comment-id:2552310833 --> @fdebbabi commented on GitHub (Dec 18, 2024): Yes, for me everything is perfect :) that would be good also to share it in discord once accessible directly in app store (multiple people were asking also for it) Note: I tested on iPhone SE because it is the only iphone I had accesible tonight, iPhone SE is really not for streaming (can't take the stress)
Author
Owner

@eerimoq commented on GitHub (Dec 18, 2024):

fixed the buttons as well. was easy.

<!-- gh-comment-id:2552322955 --> @eerimoq commented on GitHub (Dec 18, 2024): fixed the buttons as well. was easy.
Author
Owner

@eerimoq commented on GitHub (Dec 18, 2024):

You can read the release notes in moblin discord server, the releases channel.

<!-- gh-comment-id:2552323741 --> @eerimoq commented on GitHub (Dec 18, 2024): You can read the release notes in moblin discord server, the releases channel.
Author
Owner

@eerimoq commented on GitHub (Dec 18, 2024):

it's in test flight now

<!-- gh-comment-id:2552334088 --> @eerimoq commented on GitHub (Dec 18, 2024): it's in test flight now
Author
Owner

@fdebbabi commented on GitHub (Dec 18, 2024):

I will check that tomorrow

<!-- gh-comment-id:2552352103 --> @fdebbabi commented on GitHub (Dec 18, 2024): I will check that tomorrow
Author
Owner

@fdebbabi commented on GitHub (Dec 19, 2024):

Buttons are working fine now, portrait mode seems not working when using external camera (DJI Action 4) in iPad, i didn't check the resolution received by the stream, for now I am speaking only about the UI, i believe it should rotate.
20241219_110258

<!-- gh-comment-id:2553303643 --> @fdebbabi commented on GitHub (Dec 19, 2024): Buttons are working fine now, portrait mode seems not working when using external camera (DJI Action 4) in iPad, i didn't check the resolution received by the stream, for now I am speaking only about the UI, i believe it should rotate. ![20241219_110258](https://github.com/user-attachments/assets/41b402fa-d39f-4ba1-aa16-f538125084d6)
Author
Owner

@eerimoq commented on GitHub (Dec 19, 2024):

Added rotation setting in Settings -> Scenes -> My scene just now. It's in test flight.

<!-- gh-comment-id:2555369985 --> @eerimoq commented on GitHub (Dec 19, 2024): Added rotation setting in Settings -> Scenes -> My scene just now. It's in test flight.
Author
Owner

@fdebbabi commented on GitHub (Dec 20, 2024):

Now it rotates properly, but when in portrait mode it does not fill enough space in the screen, it would perfect if it is a little bit bigger
20241220_142724

<!-- gh-comment-id:2557021666 --> @fdebbabi commented on GitHub (Dec 20, 2024): Now it rotates properly, but when in portrait mode it does not fill enough space in the screen, it would perfect if it is a little bit bigger ![20241220_142724](https://github.com/user-attachments/assets/24bd6eaa-b49c-46f1-a1ad-825604432413)
Author
Owner

@eerimoq commented on GitHub (Dec 21, 2024):

odd it's not like that for me

<!-- gh-comment-id:2558045772 --> @eerimoq commented on GitHub (Dec 21, 2024): odd it's not like that for me
Author
Owner

@fdebbabi commented on GitHub (Dec 21, 2024):

I on iPaid Air Model, I will in chech again one hour

<!-- gh-comment-id:2558047953 --> @fdebbabi commented on GitHub (Dec 21, 2024): I on iPaid Air Model, I will in chech again one hour
Author
Owner

@fdebbabi commented on GitHub (Dec 22, 2024):

Everything works fine now 🤩

<!-- gh-comment-id:2558394972 --> @fdebbabi commented on GitHub (Dec 22, 2024): Everything works fine now 🤩
Author
Owner

@eerimoq commented on GitHub (Dec 22, 2024):

Goood!

<!-- gh-comment-id:2558463661 --> @eerimoq commented on GitHub (Dec 22, 2024): Goood!
Author
Owner

@fdebbabi commented on GitHub (Dec 24, 2024):

One question, when using external camera, does moblin decodes the received stream from the camera to show it on screen, than re-encodes the decoded one to send it to the destination, or does it send as it is from the source?

<!-- gh-comment-id:2561117433 --> @fdebbabi commented on GitHub (Dec 24, 2024): One question, when using external camera, does moblin decodes the received stream from the camera to show it on screen, than re-encodes the decoded one to send it to the destination, or does it send as it is from the source?
Author
Owner

@eerimoq commented on GitHub (Dec 24, 2024):

Everything leaving Moblin is encoded by Moblin.

<!-- gh-comment-id:2561268677 --> @eerimoq commented on GitHub (Dec 24, 2024): Everything leaving Moblin is encoded by Moblin.
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/moblin#40
No description provided.