ubports / ubuntu-touch

Ubuntu Touch's issue inbox is now migrated to GitLab.
https://gitlab.com/ubports/ubuntu-touch
1.29k stars 109 forks source link

N5: video play back is not possible #1092

Open libermax opened 5 years ago

libermax commented 5 years ago

With last RC (2019-W15) on N5, media player is unable to play mp4 videos, (at least those recorded by the camera). Error message is: "Error playing video video format is not supported"

(Playing the same videos with UTmedia works)

advocatux commented 5 years ago

I can confirm this bug (Nexus 5 2019-W15).

This is the log while recording a video https://paste.ubuntu.com/p/JX7cpH4zR4/ and this for when trying to play that video using the mediaplayer in the roll https://paste.ubuntu.com/p/HDqNYFhXkq/

The relevant part is qml: AbstractPlayer: 2:The media format type is not playable due to a missing codec.

BTW we should track camera issues in https://gitlab.com/ubports/apps/camera-app/issues and not here, isn't it? :)

Flohack74 commented 5 years ago

Yeah we are on it a bit. Seems the camera permission fix had some side effects. It should only affect the recorded videos so far.

rubencarneiro commented 5 years ago

Video playback on nexus 5 was always broken, first was green screen, and no thumbnails, now no thumbnails and no green screen. Since the update to 16.04 all is broken in video on nexus 5.

lutin11 commented 5 years ago

rm .cache/gstreamer-1.0/* solved the problem on my OnePlusOne but not on my Nexus 5.

lutin11 commented 5 years ago

I've tryed on OTA10 rc channel, problem still present, the video can't be played with default media player but I successfully played it with UTmedia.

nanu-c commented 5 years ago

for me this also happens now on fp2 with mp4 files

gouchi commented 5 years ago

How mediaplayer-app is built for ubuntu touch ? According to the snapcraft.yaml it should be linked to gstreamer1.0-libav package but I don't see it in ubuntu touch ?

phablet@ubuntu-phablet:~$ ldd /usr/bin/mediaplayer-app
    libQt5Widgets.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Widgets.so.5 (0xb6b3c000)
    libQt5Quick.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Quick.so.5 (0xb6897000)
    libQt5Qml.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Qml.so.5 (0xb65f7000)
    libQt5Gui.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Gui.so.5 (0xb62cd000)
    libQt5Core.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5 (0xb5f09000)
    libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0xb5dfa000)
    libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb5dd2000)
    libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb5ce6000)
    /lib/ld-linux-armhf.so.3 (0xb6f4d000)
    libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb5cc2000)
    libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb5c4a000)
    libQt5Network.so.5 => /usr/lib/arm-linux-gnueabihf/libQt5Network.so.5 (0xb5b25000)
    libGLESv2.so.2 => /usr/lib/arm-linux-gnueabihf/libhybris-egl/libGLESv2.so.2 (0xb5b10000)
    libpng12.so.0 => /lib/arm-linux-gnueabihf/libpng12.so.0 (0xb5ae8000)
    libharfbuzz.so.0 => /usr/lib/arm-linux-gnueabihf/libharfbuzz.so.0 (0xb5a99000)
    libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0xb5a77000)
    libicui18n.so.55 => /usr/lib/arm-linux-gnueabihf/libicui18n.so.55 (0xb58dd000)
    libicuuc.so.55 => /usr/lib/arm-linux-gnueabihf/libicuuc.so.55 (0xb57c0000)
    libdouble-conversion.so.1 => /usr/lib/arm-linux-gnueabihf/libdouble-conversion.so.1 (0xb57a2000)
    libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0xb578f000)
    libglib-2.0.so.0 => /lib/arm-linux-gnueabihf/libglib-2.0.so.0 (0xb56b7000)
    libhybris-common.so.1 => /usr/lib/arm-linux-gnueabihf/libhybris-common.so.1 (0xb5699000)
    libfreetype.so.6 => /usr/lib/arm-linux-gnueabihf/libfreetype.so.6 (0xb5622000)
    libgraphite2.so.3 => /usr/lib/arm-linux-gnueabihf/libgraphite2.so.3 (0xb55fc000)
    libicudata.so.55 => /usr/lib/arm-linux-gnueabihf/libicudata.so.55 (0xb3d35000)
    libpcre.so.3 => /lib/arm-linux-gnueabihf/libpcre.so.3 (0xb3cd8000)
    librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0xb3cc1000)
    libandroid-properties.so.1 => /usr/lib/arm-linux-gnueabihf/libandroid-properties.so.1 (0xb3cac000)

Currently we have those gstreamer packages installed

phablet@ubuntu-phablet:~$ dpkg -l | grep gstreamer
ii  gstreamer0.10-plugins-base:armhf                     0.10.36-2ubuntu0.2                                           armhf        GStreamer plugins from the "base" set
ii  gstreamer0.10-plugins-good:armhf                     0.10.31-3+nmu4ubuntu2.16.04.3                                armhf        GStreamer plugins from the "good" set
ii  gstreamer0.10-pulseaudio:armhf                       0.10.31-3+nmu4ubuntu2.16.04.3                                armhf        GStreamer plugin for PulseAudio
ii  gstreamer1.0-fluendo-mp3:armhf                       0.10.32.debian-1                                             armhf        Fluendo mp3 decoder GStreamer 1.0 plugin
ii  gstreamer1.0-hybris:armhf                            1.8.3-1ubuntu0.3~overlay2                                    armhf        GStreamer plugins from hybris
ii  gstreamer1.0-nice:armhf                              0.1.13-0ubuntu2                                              armhf        ICE library (GStreamer plugin)
ii  gstreamer1.0-plugins-bad-faad:armhf                  1.8.3-1ubuntu0.3~overlay2                                    armhf        GStreamer faad plugin from the "bad" set
ii  gstreamer1.0-plugins-bad-videoparsers:armhf          1.8.3-1ubuntu0.3~overlay2                                    armhf        GStreamer videoparsers plugin from the "bad" set
ii  gstreamer1.0-plugins-base:armhf                      1.8.3-1ubuntu0.3                                             armhf        GStreamer plugins from the "base" set
ii  gstreamer1.0-plugins-good:armhf                      1.8.3-1ubuntu0.4                                             armhf        GStreamer plugins from the "good" set
ii  gstreamer1.0-plugins-ugly-amr:armhf                  1.8.3-1ubuntu0.1                                             armhf        GStreamer plugins from the "ugly" set
ii  gstreamer1.0-pulseaudio:armhf                        1.8.3-1ubuntu0.4                                             armhf        GStreamer plugin for PulseAudio
ii  libgstreamer-plugins-bad1.0-0:armhf                  1.8.3-1ubuntu0.3~overlay2                                    armhf        GStreamer development files for libraries from the "bad" set
ii  libgstreamer-plugins-base0.10-0:armhf                0.10.36-2ubuntu0.2                                           armhf        GStreamer libraries from the "base" set
ii  libgstreamer-plugins-base1.0-0:armhf                 1.8.3-1ubuntu0.3                                             armhf        GStreamer libraries from the "base" set
ii  libgstreamer-plugins-good1.0-0:armhf                 1.8.3-1ubuntu0.4                                             armhf        GStreamer development files for libraries from the "good" set
ii  libgstreamer0.10-0:armhf                             0.10.36-1.5ubuntu1                                           armhf        Core GStreamer libraries and elements
ii  libgstreamer1.0-0:armhf                              1.8.3-1~ubuntu0.1                                            armhf        Core GStreamer libraries and elements

May we try to add gstreamer1.0-libav package ?

dbdb78 commented 4 years ago

I'm running N5 (32GB) in Swedish, when I try to play mp4 i get roughly translated "An error has occurred in the attempt to read media". This is the case for both for video made by camera and external content.

I didn't really follow the last post. Maybe there is an update that can be done, codec-wise?

lutin11 commented 4 years ago

this are some more logs from version 2020/01/28 http://paste.ubuntu.com/p/kcsKymnvZx/

LlamasJM commented 4 years ago

It affects me too. Fp2 OTA12 RC Version 67. When I try to play mp4 or MOV videos, I get this message: "Error playing video video format is not supported". It affects Teleports too. Impossible video playback in Teleports!

t-maes commented 4 years ago

Same here on my N5, and same message. The video is afterwards readable by other players, but there is no sound at all. I found no setting for that (for information, I see videos in my library taken with the same phone in mid January 2019, with no image(it wasn't working) but the sound was there).

doniks commented 4 years ago

I wonder whether the problem is on the one hand some devices might not have support for certain video codecs in hardware and on the other hand there is a legal challenges with redistributing the software support for those codecs?!

If that is the case, maybe we could do it similar as desktop Linux does it: The codec is not included out of the box, but the user has some simple means of downloading and installing it themselves.

Maybe it could go into some ~/.codecs folder in the home dir or something. That way, ubports isn't redistributing it, it doesn't occupy space in the rootfs where space is scarce anyways and also we don't need to mess with the read only system.

LlamasJM commented 4 years ago

I wonder whether the problem is on the one hand some devices might not have support for certain video codecs in hardware and on the other hand there is a legal challenges with redistributing the software support for those codecs?!

If that is the case, maybe we could do it similar as desktop Linux does it: The codec is not included out of the box, but the user has some simple means of downloading and installing it themselves.

Maybe it could go into some ~/.codecs folder in the home dir or something. That way, ubports isn't redistributing it, it doesn't occupy space in the rootfs where space is scarce anyways and also we don't need to mess with the read only system.

But I had video support in OTA 11. Mp4, MOV... And now, in OTA 12 rc, I don't. It's not a hardware problem...

GI9VANNI commented 4 years ago

Unfortunately this bug is still present on Nexus 5 with OTA-12 stable.

ubuntu-touch-testing commented 4 years ago

I also just reproduced this problem on a Nexus5.

A workaround is to play videos using UTmedia. Even the only two reviews for UTmedia in the OpenStore mention this. This is probably an issue with the app and not Ubuntu Touch.

Is this the correct place to log this error? Or should this be reported in the GitLab repository for this Gallery App? https://gitlab.com/ubports/apps/gallery-app

Reproduced on Nexus5 Channel: Release Candidate OS Build Number: 2020-W24 UBports Image part: 20200602-30971

t-maes commented 4 years ago

UT media plays videos but, if I remember well, without sound either

ubuntu-touch-testing commented 4 years ago

I have UTmedia 0.14 installed and the sound plays in UTmedia for a video recorded on the phone (Nexus5 with the above stated versions). Please advise if anyone wants me to do further tests on this.

t-maes commented 4 years ago

ok I will re-check... good news if it is corrected.

t-maes commented 4 years ago

It still doesn't work here... maybe because I'm on the development channel ( 2020-06-17/2 ) ? UTMedia 0.14 If I open the .mp4 on another pc there's no sound either. And the micro is ok.

ezze commented 4 years ago

UTmedia also doesn't work usually. It's not an option. I think that the issue should be fixed in core gallery application.

ubuntu-touch-testing commented 4 years ago

Yes, of course Gallery should be fixed. I am NOT suggesting that UTmedia is a solution, it is not user friendly and does not seem maintained. The reason I report the videos working in UTmedia is to help isolate the problem.

I just retested on development also (2020-06-17/2). Front and back camera both record video and sound correctly and these videos are playable in UTmedia, but not Gallery.

ubuntu-touch-testing commented 4 years ago

It still doesn't work here... maybe because I'm on the development channel ( 2020-06-17/2 ) ? UTMedia 0.14 If I open the .mp4 on another pc there's no sound either. And the micro is ok.

@tmaes04 Have you tried a forced reinstall of all the apps just in case?

System Settings --> Updates --> Update settings --> Reinstall all apps

lduboeuf commented 4 years ago

So how can we make progress on it ? I don't understand all the pieces, is it related to the kernel, missing library ? Does halium 7.1 fix the issue ? .

Flohack74 commented 4 years ago

Yes with Halium 7.1 we should have this fixed, among other problems. There are a few blockers still on getting 7.1 on the core devices (to avoid everyone to do a manual reinstallation) but the progress that was made is already quite far.

rubencarneiro commented 4 years ago

Yes with Halium 7.1 we should have this fixed, among other problems. There are a few blockers still on getting 7.1 on the core devices (to avoid everyone to do a manual reinstallation) but the progress that was made is already quite far.

Is Working on halium, but untill everything is merged, no one will use it.

lduboeuf commented 4 years ago

Yes with Halium 7.1 we should have this fixed, among other problems. There are a few blockers still on getting 7.1 on the core devices

Awesome, Any repo or bug tracking to follow ?

rubencarneiro commented 4 years ago

Yes with Halium 7.1 we should have this fixed, among other problems. There are a few blockers still on getting 7.1 on the core devices

Awesome, Any repo or bug tracking to follow ?

Well that will depend how much time will take to merge commits etc.

lduboeuf commented 4 years ago

Humm i see, hard time for the maintainer(s). We need to find a way to speed up a bit PR/Review/Merge/Test for everything cause always hard to keep an eye for something done few months ago

Mraanderson commented 4 years ago

Still no playback on OTA-14. File is there without thumbnail and playback through Gallery gives "An error has occurred attempting to load media"

rubencarneiro commented 4 years ago

Yeah on nexus 5 current port no video is playable. That device port problem.

A terça, 17/11/2020, 15:51, Mraanderson notifications@github.com escreveu:

Still no playback on OTA-14. File is there without thumbnail and playback through Gallery gives "An error has occurred attempting to load media"

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ubports/ubuntu-touch/issues/1092#issuecomment-729019834, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJUAGMZB7M6534OGY3ECK6TSQKLYFANCNFSM4HE34RHQ .

nicktelindert commented 3 years ago

I tested the halium-7.1 image and it does not fix the video playback.

rubencarneiro commented 3 years ago

halium 7.1 video playback is working. Take note some video formats do not work thats not a nexus 5 problem or build problem that is a UT problem, you may not play .mkv files. https://www.youtube.com/watch?v=UC6cGoIIj8o&feature=emb_title

Mraanderson commented 3 years ago

halium 7.1 video playback is working. Take note some video formats do not work thats not a nexus 5 problem or build problem that is a UT problem, you may not play .mkv files. https://www.youtube.com/watch?v=UC6cGoIIj8o&feature=emb_title

Video is private.

nicktelindert commented 3 years ago

@rubencarneiro I tried an mp4 file which does work on other devices with ubuntu touch.

rubencarneiro commented 3 years ago

Its now public

A quinta, 28/01/2021, 20:24, Mraanderson notifications@github.com escreveu:

halium 7.1 video playback is working. Take note some video formats do not work thats not a nexus 5 problem or build problem that is a UT problem, you may not play .mkv files. https://www.youtube.com/watch?v=UC6cGoIIj8o&feature=emb_title

Video is private.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ubports/ubuntu-touch/issues/1092#issuecomment-769361673, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJUAGM7YG37ZV7ZHPALYZ43S4HBXXANCNFSM4HE34RHQ .

nicktelindert commented 3 years ago

@rubencarneiro I did some more testing with multiple formats(including an ogg file) and none of them would play. I installed it with the link you shared on telegram a few days ago: https://github.com/rubencarneiro/android_device_lge_hammerhead/releases.

I used the default mediaplayer. If you need more information don't hesitate to ask.

rubencarneiro commented 3 years ago

Ok i will install it and test i will give up some feadback

A sexta, 29/01/2021, 16:42, nicktelindert notifications@github.com escreveu:

@rubencarneiro https://github.com/rubencarneiro I did some more testing with multiple formats(including an ogg file) and none of them would play. I installed it with the link you shared on telegram a few days ago: https://github.com/rubencarneiro/android_device_lge_hammerhead/releases.

I used the default mediaplayer. If you need more information don't hesitate to ask.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ubports/ubuntu-touch/issues/1092#issuecomment-769915701, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJUAGM7IYOP4AZW666Y3UJTS4LQPRANCNFSM4HE34RHQ .

rubencarneiro commented 3 years ago

i just test and yes its not working please not latest rootfs have change to Qt, i dont know if that will influence the mediaplayer itself or codecs decoding

rubencarneiro commented 3 years ago

@rubencarneiro I did some more testing with multiple formats(including an ogg file) and none of them would play. I installed it with the link you shared on telegram a few days ago: https://github.com/rubencarneiro/android_device_lge_hammerhead/releases.

I used the default mediaplayer. If you need more information don't hesitate to ask. So new rootfs wich already has qt 5.12 i can confirm that broke video playback and nexus 5 with halium 7.1 based system, now camera app does correct promote to record audio a start to record video, but since video decode/encode is not working we got nothing from this. So status on halium 7.1 based video encode/decode on nexus 5 builds is broken. I will dig a little more and see if i can find a solution for this at least o nexus 5 side.

01-30 22:06:22.595 0 4396 D DecodingService: Calling Pid: 7721 01-30 22:06:22.596 0 7721 V SurfaceTextureClientHybris: GLConsumerWrapperHybris gl_consumer_create_by_id_with_igbc(unsigned int, IGBCWrapperHybris) 01-30 22:06:22.597 0 7721 V SurfaceTextureClientHybris: int gl_consumer_set_frame_available_cb(GLConsumerWrapperHybris, FrameAvailableCbHybris, void ) 01-30 22:06:22.598 0 4403 V MediaCodecLayer: IGBPWrapperHybris decoding_service_get_igraphicbufferproducer() 01-30 22:06:22.598 0 4403 D DecodingService: static sp &android::DecodingClient::service_instance() 01-30 22:06:22.598 0 4403 D DecodingService: Entering virtual status_t android::BpDecodingService::getIGraphicBufferProducer(sp ) 01-30 22:06:22.598 0 4403 D DecodingService: Entering virtual status_t android::BnDecodingService::onTransact(uint32_t, const android::Parcel &, android::Parcel *, uint32_t) 01-30 22:06:22.598 0 4403 D DecodingService: Calling Pid: 4339 01-30 22:06:22.598 0 4403 D DecodingService: producer(gbp): 0xaba00e10 01-30 22:06:22.598 0 4403 V SurfaceTextureClientHybris: _SurfaceTextureClientHybris::_SurfaceTextureClientHybris(const android::sp &, bool) 01-30 22:06:22.598 0 4403 V SurfaceTextureClientHybris: void surface_texture_client_set_hardware_rendering(SurfaceTextureClientHybris, uint8_t) 01-30 22:06:22.652 0 4477 E libEGL : validate_display:99 error 3008 (EGL_BAD_DISPLAY)

winstonford commented 2 years ago

would it be a stop gap option to watcha folder and let FFmpeg convert videos shot with camera, or any formats that won't play, to a supported format?

Flohack74 commented 2 years ago

The best would be to finish upgrade of hammerhead to Halium 7.1 or 9.0, if possible, as it seems video playback can work there.

Flohack74 commented 2 years ago

@winstonford do you own an N5 and can help with testing?

lduboeuf commented 2 years ago

@Flohack74 i can test if needed too

rubencarneiro commented 2 years ago

Video playback can be easy fix

rubencarneiro commented 2 years ago

Im working on a halium 9 port but wont be upload so soon.

winstonford commented 2 years ago

@Flohack74 I do not have an N5.Just doing research. Never even touched android, let alone ubuntu touch.. but my pixel 3a arrives today, and ffmpeg never ceases to amaze me.

Flohack74 commented 2 years ago

For reasons of Android´s proprieatary stack I would not mess with reencoding anything. Also we have to still run a minimal core Android image in a container, so getting video streamed in and out of this sounds just too wild ;)

winstonford commented 2 years ago

Hmm 'androids proprietary stack' makes me realize how little I understand of ubuntu touch.. I thought it was a way to get ubuntu on the phone, albeit a 16.04 ubuntu. The gui, camera, etc is really gravy for me, I just want to run a server stack on the phone that I can ssh into from my laptop. Does 'minimal core Android image in a container' mean that you are running docker? that's another goal of mine. Sorry this is off-topic.

Flohack74 commented 2 years ago

Its a bit off-topic :P - If you want to run a server then probably UT is not what you want: Its clearly a human-interface-focused OS, and installing custom stuff and services is very cumbersome (everthing is write-protected, background tasks are hard to do and image-based delta upgrades might revert all of what you installed when the next update is made). No, its not "Ubuntu Desktop on a phone". Also not Ubuntu Server ;) Current mobile hardware (with a few minor exceptions) cannot run a normal Linux distro. The drivers are not in the kernel, you need to accept that the vendor locks you in on their firmware and software, and Android is not a "real" Linux, but more a fork of the kernel only. YOu might want to look at the Pinephone, Pinephone Pro or other Non-Android devices on the market.

winstonford commented 2 years ago

Thanks a lot for the info. Very helpful. Going to look into pocket vms app as I've already bought the 3a.