Closed mattgorski closed 6 years ago
I'll glance through the closed issues im sure this is related to the livebuffer :)
Okay well this must be some limitation on an aspect ratio in android because MPEG2 SD channels work fine but when loading ATSC or IPTV 1080 HD channels picture freezes.
1920x1088
MediaCodec name="OMX.Nvidia.mpeg2v.decode" type="video/mpeg2" Limit name="size" min="32x32" max="3840x2176"
I'll try to adjust some media_codecs.xml params and report results
Tried an AVC H264 channel via IPTV and no picture at all. So far the only channels I can receive is SD MPEG2. Im wondering if updating exoplayer or ffmpeg would help this issue.
I should point out I am testing this on 3 separate SHIELD devices 2015 Pro, 2017 darcy and TX1 Development Kit flashed to Android OTA 7.0 (NV6.3)
Made some progress tonight changed my build and sdk target to 26 and now 1080 MPEG2 ATSC OTA channels work but my HDHomerun Cable MPEG2 1080 channels fail but work fine in streamdev server. This is my syslog that repeats android shouldnt have an issue since MPEG2 1080 ATSC is working:
Mar 28 21:10:37 hp-z420 vdr: [28186] Stream: MPEG2VIDEO PID: 6321 1920x1080 DAR: 1.78 FPS: 29.970 SPS/PPS/VPS: 0/0/0 bytes (parsed: yes) Mar 28 21:10:37 hp-z420 vdr: [28186] Stream: MPEG2AUDIO PID: 6322 48000 Hz, 2 channels, Lang: (parsed: yes) Mar 28 21:10:37 hp-z420 vdr: [28186] processing 0 pre-queued packets Mar 28 21:10:38 hp-z420 vdr: [28186] stream change requested Mar 28 21:10:38 hp-z420 vdr: [28186] demuxers ready Mar 28 21:10:38 hp-z420 vdr: [28186] Stream: MPEG2VIDEO PID: 6321 1920x1080 DAR: 1.78 FPS: 29.970 SPS/PPS/VPS: 0/0/0 bytes (parsed: yes) Mar 28 21:10:38 hp-z420 vdr: [28186] Stream: MPEG2AUDIO PID: 6322 32000 Hz, 2 channels, Lang: (parsed: yes) Mar 28 21:10:38 hp-z420 vdr: [28186] processing 0 pre-queued packets Mar 28 21:10:39 hp-z420 vdr: [28186] stream change requested
Matt, I never tried to decode MPEG2 HD video. I think the predefined buffer sizes are to small for this type of stream. Please try to increase the MPEG2 buffer size here: https://github.com/pipelka/vdr-plugin-robotv/blob/50d4bdcdbe3bdb6e85fe02de4c4086ca1f8db94d/src/demuxer/src/parsers/parser_mpegvideo.cpp#L78 I've no idea how big these assembled frames can get.
Perfect! Thanks pipelka! I believe you are correct, let me rebuild and do some tests later today. Thanks for the tip!
I have tried a few different buffer sizes with no result and it might actually be the mpegaudio parser, I see the parser switching audio continuously to different frequencies.
EDIT: Well I "think" I know the issue, all my IPTV streams and my ATSC streams have AC3 audio but the parser thinks the APID is MPEG2AUDIO no matter what on most channels....
Ill try this next https://github.com/pipelka/vdr-plugin-robotv/commit/3e0acbc1967e7ca55bd5b8e5ec37c5272d70173f
Mar 29 13:52:30 hp-z420 vdr: [13064] Stream: MPEG2AUDIO PID: 6042 8000 Hz, 2 channels, Lang: (parsed: yes) Mar 29 13:52:30 hp-z420 vdr: [13064] processing 0 pre-queued packets Mar 29 13:52:30 hp-z420 vdr: [13064] stream change requested Mar 29 13:52:30 hp-z420 vdr: [13064] demuxers ready Mar 29 13:52:30 hp-z420 vdr: [13064] Stream: MPEG2VIDEO PID: 6041 1280x720 DAR: 1.78 FPS: 59.940 SPS/PPS/VPS: 0/0/0 bytes (parsed: yes) Mar 29 13:52:30 hp-z420 vdr: [13064] Stream: MPEG2AUDIO PID: 6042 11025 Hz, 2 channels, Lang: (parsed: yes) Mar 29 13:52:30 hp-z420 vdr: [13064] processing 0 pre-queued packets Mar 29 13:52:30 hp-z420 vdr: [13064] stream change requested Mar 29 13:52:30 hp-z420 vdr: [13064] demuxers ready Mar 29 13:52:30 hp-z420 vdr: [13064] Stream: MPEG2VIDEO PID: 6041 1280x720 DAR: 1.78 FPS: 59.940 SPS/PPS/VPS: 0/0/0 bytes (parsed: yes) Mar 29 13:52:30 hp-z420 vdr: [13064] Stream: MPEG2AUDIO PID: 6042 24000 Hz, 2 channels, Lang: (parsed: yes) Mar 29 13:52:30 hp-z420 vdr: [13064] processing 0 pre-queued packets Mar 29 13:52:30 hp-z420 vdr: [13064] stream change requested Mar 29 13:52:30 hp-z420 vdr: [13064] demuxers ready
Very, very strange. Please record ~60 seconds of that stream and provide a download link. I'll take a look at it (after the easter weekend).
Sounds good. I will record 2 - 60 second streams that have this audio issue, one for IPTV one for ATSC. I'll post the links for download over the weekend. Have a nice and relaxing easter weekend pipelka. Thank you kindly for your input and recommendations.
I went ahead and recorded 2 files on the master backend with xineliboutput/vdpau
IPTV .ts Discovery channel from my HDHomerun Prime: https://drive.google.com/file/d/1FEL9ZJ4o0Nr_YBNfdVJNUynBe_AsVc5E/view
ATSC .ts of my local New Channel: https://drive.google.com/file/d/1qOKJpp_Alscy0XuyjBibSfhWzFmXo4xT/view
Well I should have known this but as soon as I switch to NOT update channels IPTV channels started working perfect so this basically is a CAID issue when no encryption is in the transport stream and the channels.conf IPTV channels would get updated to a wrongly parsed CAID and hence the packet would fail to parse. Solved by either in VDR Setup > DVB > Update Channels = NO or in setup.conf UPDATE_CHANNELS=0
Well I had some time to get this fixed over the weekend. I had to not update channels at all and also I changed my IPTV buffer to 100MB:
https://github.com/rofafor/vdr-plugin-iptv/commit/0d2f32dc6a0165975cd3e77ed86ce6263e120c6c
I plan to start my own project dedicated to United States VDR/Android impllementaion with full HDHomeRun IPTV scanning support and an updated xmltv2vdr.pl perl script for parsing zap2it xmltv to epg.data. If anyone in the US has issue with your AWESOME plugin send them my way my friend.
You can close this issue @pipelka
Good luck.
Well I had the frontend working fine but now I get a frozen picture when tuning channels. Streamdev works fine so I know its not the backend unless streamdev causes a conflict. Please advice. Built with gradle 4.1 Android Plugin 3.0.1 and Cmake 3.6 in Linux Android Studio.