nextcloud / news-android

📱🗞️ Android client for the Nextcloud news/feed reader app
https://play.google.com/store/apps/details?id=de.luhmer.owncloudnewsreader
GNU Affero General Public License v3.0
690 stars 257 forks source link

No chapters or pictures in audio podcast #1054

Open egabosh opened 2 years ago

egabosh commented 2 years ago

Moin, I don't see any pictures or chapters provided with an audio-podcast. It should be reproduceable with this feed: https://feeds.lagedernation.org/feeds/ldn-aac.xml Pictures are provided in this sequence "LdN274 Raus aus der Flaute: Windkraftausbau in Deutschland (Teil 1/2)" I'm using the lastest version from F-Droid (https://f-droid.org/de/packages/de.luhmer.owncloudnewsreader/) with Android 11 (LineageOS). In the AntennaPod-App (https://f-droid.org/de/packages/de.danoeh.antennapod/) it works but the app has no Nextcloud-Support. Please help/fix! And thank you for your great work!

David-Development commented 2 years ago

Thank you for your feedback! I'll have a look into why the pictures are not showing up! Chapters are unfortunately not supported as of now.

David-Development commented 2 years ago

I'm just looking into the feed that you provided. Which pictures do you expect to show up and where?

From what I can see the feed does not provide any pictures itself (just plain text with many links).

Even in the Nextcloud News Web App I cannot see any images.

Bildschirmfoto 2022-01-31 um 18 53 35
egabosh commented 2 years ago

Yes, there are no pictures in that page, thats right. But thats not my point. If you play the podcast with the AntennaPod-App you will see what I mean. The pictures and diagrams will show up and change after a certain time in the podcast(-player) while it is running like in a presentation.

In this attached screenshot you can see one of the picture showing up. Later/Before and in other chapters they will change.

Screenshot_20220202-132238_AntennaPod

Would be great if the podcast will show up in Nextcloud News like in this AntennaPod Screenshot.

egabosh commented 2 years ago

Here a screenshot for comparison how it shows up in the Nextcloud-News app: Screenshot_20220202-140307_News

David-Development commented 2 years ago

@Grotax Is there a way to receive additional tags in the feed? Just looked into it the feed mentioned above but I can't seem to find a way to access the psc:chapters (https://podlove.org/simple-chapters/). And extracting the chapters from the m4a file doesn't seem possible as it is a proprietary implementation by apple..

@egabosh I'm not sure where AntennaPod is getting their images from.. but I don't see specific images for each chapter anywhere in the XML feed 🤔

Bildschirmfoto 2022-03-27 um 16 22 09
Grotax commented 2 years ago

Hi there, no that is not possible.

As far as I know feed-io has a way to access non standard elements of feeds an items, maybe news could fetch them this way. But that would need to be implemented and stored in the DB currently that is not done, we only extract stuff like content and title.

As a long term antennapod user myself I think that the images come from the audio file. In previous versions of antennapod every episode would just have the standard image of the feed, same like news has only one favicon or logo. Then they implemented the feature to check the audio file for thumbnails which allowed individual pictures per episode.

I think it would be cool if news had better support for podcasts but at the moment it doesn't and it is probably a lot of work.

egabosh commented 2 years ago

@David-Development I downloaded the m4a file and looked with ffmpeg/ffprobe in it. I can see only chapters but no pictures but anyway it is possible to access proprietary m4a files with OpenSource tools. :-)

GTC olli@station-gabosh ~/tmp/test $ wget 'https://dts.podtrac.com/redirect.mp3/files.lagedernation.org/lagedernation/LdN274.m4a?ptm_source=feed&ptm_context=aac&ptm_file=LdN274.m4a'
--2022-03-28 16:38:18--  https://dts.podtrac.com/redirect.mp3/files.lagedernation.org/lagedernation/LdN274.m4a?ptm_source=feed&ptm_context=aac&ptm_file=LdN274.m4a
Auflösen des Hostnamens dts.podtrac.com… 44.241.40.79, 35.82.242.67, 35.155.16.166
Verbindungsaufbau zu dts.podtrac.com|44.241.40.79|:443 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 302 Found
Platz: https://files.lagedernation.org/lagedernation/LdN274.m4a?ptm_source=feed&ptm_context=aac&ptm_file=LdN274.m4a [folgend]
--2022-03-28 16:38:19--  https://files.lagedernation.org/lagedernation/LdN274.m4a?ptm_source=feed&ptm_context=aac&ptm_file=LdN274.m4a
Auflösen des Hostnamens files.lagedernation.org… 91.102.12.195
Verbindungsaufbau zu files.lagedernation.org|91.102.12.195|:443 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 302 Found
Platz: https://lage.cdn.svmaudio.com/lagedernation/LdN274.m4a?ptm_source=feed&ptm_context=aac&ptm_file=LdN274.m4a [folgend]
--2022-03-28 16:38:19--  https://lage.cdn.svmaudio.com/lagedernation/LdN274.m4a?ptm_source=feed&ptm_context=aac&ptm_file=LdN274.m4a
Auflösen des Hostnamens lage.cdn.svmaudio.com… 162.55.6.87, 116.202.240.203, 136.243.173.136, ...
Verbindungsaufbau zu lage.cdn.svmaudio.com|162.55.6.87|:443 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 301 Moved Permanently
Platz: https://lage.cdn.svmaudio.com/lagedernation/LdN274.m4a?ptm_source=feed&ptm_context=aac&ptm_file=LdN274.m4a&cid=a68d7c36fcd942ec56c06c5a9fc27a6e5b4a824c [folgend]
--2022-03-28 16:38:19--  https://lage.cdn.svmaudio.com/lagedernation/LdN274.m4a?ptm_source=feed&ptm_context=aac&ptm_file=LdN274.m4a&cid=a68d7c36fcd942ec56c06c5a9fc27a6e5b4a824c
Wiederverwendung der bestehenden Verbindung zu lage.cdn.svmaudio.com:443.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 302 Moved Temporarily
Platz: https://lage.cdn.svmaudio.com/variations/dmFyaWF0aW9uX3YtMGQ0NjMzODQ3MzkxNjE0OGE4MWFiYWQ4YWFjNGJkMGY0MmJkMmU1OV8yMDIyMDMyMl8yMDQ4MzMubTRhP2E2OGQ3YzM2ZmNkOTQyZWM1NmMwNmM1YTlmYzI3YTZlNWI0YTgyNGMwZDQ2MzM4NDczOTE2MTQ4YTgxYWJhZDhhYWM0YmQwZjQyYmQyZTU5 [folgend]
--2022-03-28 16:38:20--  https://lage.cdn.svmaudio.com/variations/dmFyaWF0aW9uX3YtMGQ0NjMzODQ3MzkxNjE0OGE4MWFiYWQ4YWFjNGJkMGY0MmJkMmU1OV8yMDIyMDMyMl8yMDQ4MzMubTRhP2E2OGQ3YzM2ZmNkOTQyZWM1NmMwNmM1YTlmYzI3YTZlNWI0YTgyNGMwZDQ2MzM4NDczOTE2MTQ4YTgxYWJhZDhhYWM0YmQwZjQyYmQyZTU5
Wiederverwendung der bestehenden Verbindung zu lage.cdn.svmaudio.com:443.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK
Länge: 34958989 (33M) [audio/mp4]
Wird in »LdN274.m4a?ptm_source=feed&ptm_context=aac&ptm_file=LdN274.m4a« gespeichert.

LdN274.m4a?ptm_source=feed&ptm_context=aac&ptm_file=LdN274. 100%[========================================================================================================================================>]  33,34M  10,5MB/s    in 3,3s    

2022-03-28 16:38:23 (10,2 MB/s) - »LdN274.m4a?ptm_source=feed&ptm_context=aac&ptm_file=LdN274.m4a« gespeichert [34958989/34958989]

GTC olli@station-gabosh ~/tmp/test $ ffprobe LdN274.m4a\?ptm_source\=feed\&ptm_context\=aac\&ptm_file\=LdN274.m4a 
ffprobe version 4.4.1 Copyright (c) 2007-2021 the FFmpeg developers
  built with gcc 11.2.1 (Gentoo 11.2.1_p20220115 p4) 20220115
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --docdir=/usr/share/doc/ffmpeg-4.4.1-r3/html --mandir=/usr/share/man --enable-shared --cc=x86_64-pc-linux-gnu-gcc --cxx=x86_64-pc-linux-gnu-g++ --ar=x86_64-pc-linux-gnu-ar --nm=x86_64-pc-linux-gnu-nm --strip=x86_64-pc-linux-gnu-strip --ranlib=x86_64-pc-linux-gnu-ranlib --pkg-config=x86_64-pc-linux-gnu-pkg-config --optflags='-mtune=generic -march=x86-64 -O2 -pipe' --extra-libs= --disable-static --enable-avfilter --enable-avresample --disable-stripping --disable-optimizations --disable-libcelt --enable-nonfree --disable-indev=oss --disable-indev=jack --disable-indev=sndio --disable-outdev=oss --disable-outdev=sndio --enable-version3 --enable-nonfree --enable-bzlib --enable-runtime-cpudetect --disable-debug --disable-gcrypt --enable-gnutls --disable-gmp --enable-gpl --disable-hardcoded-tables --enable-iconv --disable-libxml2 --disable-lzma --enable-network --enable-opencl --enable-openssl --enable-postproc --disable-libsmbclient --enable-ffplay --enable-sdl2 --enable-vaapi --enable-vdpau --enable-vulkan --enable-xlib --enable-libxcb --enable-libxcb-shm --enable-libxcb-xfixes --enable-zlib --enable-libcdio --disable-libiec61883 --disable-libdc1394 --disable-libcaca --enable-openal --enable-opengl --disable-libv4l2 --enable-libpulse --disable-libdrm --disable-libjack --enable-libopencore-amrwb --enable-libopencore-amrnb --disable-libcodec2 --enable-libdav1d --enable-libfdk-aac --enable-libopenjpeg --enable-libbluray --disable-libgme --disable-libgsm --disable-libaribb24 --disable-mmal --disable-libmodplug --enable-libopus --disable-libilbc --disable-librtmp --enable-libssh --disable-libspeex --disable-libsrt --enable-librsvg --disable-ffnvcodec --enable-libvorbis --enable-libvpx --disable-libzvbi --disable-appkit --enable-libbs2b --disable-chromaprint --disable-cuda-llvm --disable-libflite --disable-frei0r --disable-libvmaf --disable-libfribidi --enable-fontconfig --enable-ladspa --enable-libass --disable-libtesseract --enable-lv2 --enable-libfreetype --disable-libvidstab --enable-librubberband --disable-libzmq --disable-libzimg --disable-libsoxr --enable-pthreads --disable-libvo-amrwbenc --enable-libmp3lame --disable-libkvazaar --disable-libaom --disable-libopenh264 --disable-librav1e --disable-libsnappy --disable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --disable-amf --disable-gnutls --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-neon --disable-vfp --disable-vfpv3 --disable-armv8 --disable-mipsdsp --disable-mipsdspr2 --disable-mipsfpu --disable-altivec --disable-vsx --disable-power8 --disable-aesni --cpu=x86-64 --disable-doc --disable-htmlpages --enable-manpages
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'LdN274.m4a?ptm_source=feed&ptm_context=aac&ptm_file=LdN274.m4a':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2mp41
    title           : LdN274 Probleme des Windkraftausbaus in Deutschland
    artist          : Philip Banse
    album_artist    : Lage der Nation Media Gmbh & Co. KG
    album           : Lagedernation.org
    date            : 2022
    encoder         : Lavf59.16.100
    genre           : Podcast
  Duration: 01:12:02.25, start: 0.000000, bitrate: 64 kb/s
  Chapters:
    Chapter #0:0: start 0.000000, end 94.078000
      Metadata:
        title           : Anfahrt Windpark Rugendorf
    Chapter #0:1: start 94.078000, end 126.423000
      Metadata:
        title           : Unterwegs zum Windpark Rugendorf
    Chapter #0:2: start 126.423000, end 151.956000
      Metadata:
        title           : Im Bulli durch den verschneiten Windpark
    Chapter #0:3: start 151.956000, end 251.475000
      Metadata:
        title           : Jäger im Windpark
    Chapter #0:4: start 251.475000, end 261.926000
      Metadata:
        title           : Ankunft beim Windrad
    Chapter #0:5: start 261.926000, end 299.312000
      Metadata:
        title           : Rauschen der Rotoren
    Chapter #0:6: start 299.312000, end 345.979000
      Metadata:
        title           : Intro: MapAlarm View
    Chapter #0:7: start 345.979000, end 538.818000
      Metadata:
        title           : Einleitung: Warum der Ausbau schneller gehen muss
    Chapter #0:8: start 538.818000, end 566.421000
      Metadata:
        title           : Simon MĂĽller, Agora Energiewende
    Chapter #0:9: start 566.421000, end 629.941000
      Metadata:
        title           : No Title
    Chapter #0:10: start 629.941000, end 676.978000
      Metadata:
        title           : Thomas Banning, Naturstrom
    Chapter #0:11: start 676.978000, end 781.384000
      Metadata:
        title           : No Title
    Chapter #0:12: start 781.384000, end 822.955000
      Metadata:
        title           : Ulf posiert wie John Wayne
    Chapter #0:13: start 822.955000, end 849.335000
      Metadata:
        title           : Wanderung zurück nach Gössersdorf
    Chapter #0:14: start 849.335000, end 912.547000
      Metadata:
        title           : Thomas Banning zur Höhe der Windräder
    Chapter #0:15: start 912.547000, end 933.084000
      Metadata:
        title           : Flächen-Problem: Wir brauchen mehr Flächen für Windräder
    Chapter #0:16: start 933.084000, end 1008.147000
      Metadata:
        title           : Flächen-Problem: Habecks Pläne für mehr Fläche
    Chapter #0:17: start 1008.147000, end 1185.526000
      Metadata:
        title           : Flächen-Problem: Wo soll die Fläche herkommen?
    Chapter #0:18: start 1185.526000, end 1454.279000
      Metadata:
        title           : Flächen-Problem: Wie Raumplanung funktioniert
    Chapter #0:19: start 1454.279000, end 1712.689000
      Metadata:
        title           : Flächen-Problem: Windkraft woll "öffentlicher Belang" werden
    Chapter #0:20: start 1712.689000, end 1871.882000
      Metadata:
        title           : Flächen-Problem: Flugsicherung und Bundeswehr
    Chapter #0:21: start 1871.882000, end 2112.126000
      Metadata:
        title           : Flächen-Problem: Erstellung der Flächennutzungspläne
    Chapter #0:22: start 2112.126000, end 2219.548000
      Metadata:
        title           : Abstands-Problem: Abstandsregeln
    Chapter #0:23: start 2219.548000, end 2493.833000
      Metadata:
        title           : Abstands-Problem: 10H in Gösserdorf
    Chapter #0:24: start 2493.833000, end 2514.866000
      Metadata:
        title           : Abstands-Problem: Lärm
    Chapter #0:25: start 2514.866000, end 2578.271000
      Metadata:
        title           : No Title
    Chapter #0:26: start 2578.271000, end 2811.850000
      Metadata:
        title           : Abstands-Problem: Lage misst den Lärm
    Chapter #0:27: start 2811.850000, end 2890.475000
      Metadata:
        title           : Naturschutz-Problem: Naturschutz vs. Windkraft?
    Chapter #0:28: start 2890.475000, end 3152.215000
      Metadata:
        title           : Naturschutz-Problem: Simon Ewers zählt Fledermäuse
    Chapter #0:29: start 3152.215000, end 4151.948000
      Metadata:
        title           : Naturschutz-Problem: Auswirkungen des Individualschutzes für Vögel
    Chapter #0:30: start 4151.948000, end 4217.913000
      Metadata:
        title           : Verabschiedung: Korrektur
    Chapter #0:31: start 4217.913000, end 4322.250000
      Metadata:
        title           : Verabschiedung: Bitte um Feedback
  Stream #0:0(und): Audio: aac (HE-AAC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 64 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      vendor_id       : [0][0][0][0]
  Stream #0:1(eng): Data: bin_data (text / 0x74786574), 0 kb/s
    Metadata:
      handler_name    : SubtitleHandler
Unsupported codec with id 100359 for input stream 1
GTC olli@station-gabosh ~/tmp/test $ 

For me it looks like the pictures are coming from somewhere else (not from the m4a). Maybe the code from AntennaPod (https://github.com/AntennaPod/AntennaPod) helps?

David-Development commented 2 years ago

@Grotax @egabosh Thank you for the information and the test with ffmpeg/ffprobe. I'm currently a little down under with work so I'm not sure when I'll have time to look into this as it is probably a reasonable amount of work. It definitely sounds like a great feature and if ffmpeg is able to extract the chapters that would be a great start as I always had that in mind for the app with the sliding panel in the app. So if anyone wants to start a MR already, I can support with feedback.