Comments (6)
Can you please provide us with more detailed information what the problem is and how it can be reproduced? Please provide reproduction steps to make the issue actionable for us.
from media.
If I understand correctly, this is about the debug preview in the transformer demo showing the video rotated through 90 degrees. Please let me know if that's not correct though.
As the name suggests this view is just for debugging not for end users. It shows the frames that are being passed to the video encoder when transcoding with Transformer, which are rotated when the output is portrait because the video is encoded in landscape then metadata is set on the output MP4 to rotate it to the requested orientation. So this is working as intended.
What is the use case for showing this to users? I wonder if using ExoPlayer with setVideoEffects
would be a more suitable replacement for this.
from media.
If I understand correctly, this is about the debug preview in the transformer demo showing the video rotated through 90 degrees.
correct.
As the name suggests this view is just for debugging not for end users. It shows the frames that are being passed to the video encoder when transcoding with Transformer, which are rotated when the output is portrait because the video is encoded in landscape then metadata is set on the output MP4 to rotate it to the requested orientation. So this is working as intended.
ok, you developed this view for debug but I don't see why it has to display wrong . If it's wrong and you're not concerned then why even make this view available in the library at all?
What is the use case for showing this to users?
my app has many controls for changing the transformation of the video. Being able to see the results of them without having to save the output or wait for it to finish and then having to open is important to the practical use of the controls.
I wonder if using ExoPlayer with
setVideoEffects
would be a more suitable replacement for this.
not familiar with ExoPlayer. all the docs I have read direct me to what I am doing, including your demo app
from media.
The rotation gets applied at the muxer/container level, whereas frames are sent to the debug preview view (if set) upstream of that, at the end of the video frame processing pipeline.
We could add code to the way the debug preview renders to apply the same rotation. However, I think some users of the debug preview would prefer to see exactly the data that's sent to the encoder without this kind of postprocessing.
The reason to make this view available is to help developers see intermediate output without having to wait for the export operation to complete.
Please could you try using ExoPlayer.setVideoEffects
? That lets you see changes to transformations as they are applied. You may want the feature mentioned on #1080 about supporting updating the current frame when the effect changes while the player is paused to be implemented.
from media.
I'll stick researching ExoPlayer on my todo list
from media.
Please could you try using
ExoPlayer.setVideoEffects
? That lets you see changes to transformations as they are applied. You may want the feature mentioned on #1080 about supporting updating the current frame when the effect changes while the player is paused to be implemented.
I tried ExoPlayer.setVideoEffects
and in TextureOverlay.getTextureId(presentationTimeUs: Long)
presentationTimeUs doesn't work. So sadly this won't help me.
from media.
Related Issues (20)
- we cannot find the exo_play and exo_pause in custom_player_control.xml,Something inside this implementation is creating problem HOT 1
- A few video in a list overlap each other HOT 10
- No documentation for how to use ProgressiveMediaSource HOT 2
- OOM probably due to bad file
- Playback speed doesn't work on some devices with Audio Offload Enabled HOT 2
- How to pass the tag in MediaItem to the customData of DataSpec?
- Android Auto Grid Layout with Media3 HOT 4
- Exoplayer.release did not free memory? Is it a Known issues??2.11.8 and 2.19.1
- Exoplayer does not resume once the Ad creative load is blocked via Charles HOT 3
- "Session ID must be unique. ID=" when building a session HOT 4
- Rename setShowPlayButtonIfPlaybackIsSuppressed in MediaSession.Builder
- Media3 exo player controls position in a horizontal tab HOT 1
- Controlls position in a horizontal orientation with RESIZE_MODE_FILL HOT 4
- Add charles/fiddler... proxy block when playing hls media
- Player does not upscale LL Stream once it get to lowest resolution HOT 6
- Video is cut on the edge when using Compose and uses RESIZE_MODE_ZOOM - Only Android 14 HOT 12
- [CMCD] Too many buffer starvation reports HOT 10
- Equalizer support
- ERROR_CODE_IO_UNSPECIFIED error on HLS stream HOT 11
- TTML subtitles - Opacity not compliant with TTML specification HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from media.