<div dir="ltr">I have been playing with getting ExoPlayer to be the default player in MythTV Player.  Unfortunately, I can't seem to get a reliable HLS stream to be created by myth transcode, either through the services API or through manually creating one with the WebFrontend.<div><br></div><div>ExoPlayer is becoming the preferred player for Android. It supports a large number of formats, especially streaming formats. It is very extensible and customizable. There are also plugins for integrating the Google Cast API for initiating and controlling stream on Chromecast.</div><div><br></div><div><a href="https://github.com/google/ExoPlayer">https://github.com/google/ExoPlayer</a></div><div><br></div><div>I found this utility to verify that the HLS streams are being created correctly.</div><div><br></div><div><a href="https://github.com/makandra/validate-hls">https://github.com/makandra/validate-hls</a><br></div><div><br></div><div>When I run this on any .m3u8 stream URL I create, it starts out validating it OK, however, it quickly moves to errors like the following:</div><div><br></div><div><div>| | | Validating: Fragment(<a href="http://192.168.86.200:6544/StorageGroup/Streaming/2173_20171004020000.ts.1280x720_2500kV_128kA.ao_64kA.000042.ts">http://192.168.86.200:6544/StorageGroup/Streaming/2173_20171004020000.ts.1280x720_2500kV_128kA.ao_64kA.000042.ts</a>)</div><div>| | | | ✔ Downloadable with 200 OK</div><div>| | | | ✘ Keyframe analysis failed: Error running ffprobe ["-select_streams", "v:0", "-show_frames", "/var/folders/42/8x8tb3115517wrkl99xt9s640000gn/T/d20171007-75784-1v7jp0v/2173_20171004020000.ts.1280x720_2500kV_128kA.ao_64kA.000042.ts"]:</div><div>| | | |</div><div>| | | | ffprobe version 3.3.4 Copyright (c) 2007-2017 the FFmpeg developers</div><div>| | | |   built with Apple LLVM version 8.1.0 (clang-802.0.42)</div><div>| | | |   configuration: --prefix=/usr/local/Cellar/ffmpeg/3.3.4 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma --enable-vda</div><div>| | | |   libavutil      55. 58.100 / 55. 58.100</div><div>| | | |   libavcodec     57. 89.100 / 57. 89.100</div><div>| | | |   libavformat    57. 71.100 / 57. 71.100</div><div>| | | |   libavdevice    57.  6.100 / 57.  6.100</div><div>| | | |   libavfilter     6. 82.100 /  6. 82.100</div><div>| | | |   libavresample   3.  5.  0 /  3.  5.  0</div><div>| | | |   libswscale      4.  6.100 /  4.  6.100</div><div>| | | |   libswresample   2.  7.100 /  2.  7.100</div><div>| | | |   libpostproc    54.  5.100 / 54.  5.100</div><div>| | | | /var/folders/42/8x8tb3115517wrkl99xt9s640000gn/T/d20171007-75784-1v7jp0v/2173_20171004020000.ts.1280x720_2500kV_128kA.ao_64kA.000042.ts: Invalid data found when processing input</div><div>| | | Validating: Fragment(<a href="http://192.168.86.200:6544/StorageGroup/Streaming/2173_20171004020000.ts.1280x720_2500kV_128kA.ao_64kA.000043.ts">http://192.168.86.200:6544/StorageGroup/Streaming/2173_20171004020000.ts.1280x720_2500kV_128kA.ao_64kA.000043.ts</a>)</div><div>| | | | ✔ Downloadable with 200 OK</div><div>| | | | ✘ Keyframe analysis failed: Error running ffprobe ["-select_streams", "v:0", "-show_frames", "/var/folders/42/8x8tb3115517wrkl99xt9s640000gn/T/d20171007-75784-1yobr50/2173_20171004020000.ts.1280x720_2500kV_128kA.ao_64kA.000043.ts"]:</div><div>| | | |</div><div>| | | | ffprobe version 3.3.4 Copyright (c) 2007-2017 the FFmpeg developers</div><div>| | | |   built with Apple LLVM version 8.1.0 (clang-802.0.42)</div><div>| | | |   configuration: --prefix=/usr/local/Cellar/ffmpeg/3.3.4 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma --enable-vda</div><div>| | | |   libavutil      55. 58.100 / 55. 58.100</div><div>| | | |   libavcodec     57. 89.100 / 57. 89.100</div><div>| | | |   libavformat    57. 71.100 / 57. 71.100</div><div>| | | |   libavdevice    57.  6.100 / 57.  6.100</div><div>| | | |   libavfilter     6. 82.100 /  6. 82.100</div><div>| | | |   libavresample   3.  5.  0 /  3.  5.  0</div><div>| | | |   libswscale      4.  6.100 /  4.  6.100</div><div>| | | |   libswresample   2.  7.100 /  2.  7.100</div><div>| | | |   libpostproc    54.  5.100 / 54.  5.100</div><div>| | | | /var/folders/42/8x8tb3115517wrkl99xt9s640000gn/T/d20171007-75784-1yobr50/2173_20171004020000.ts.1280x720_2500kV_128kA.ao_64kA.000043.ts: Invalid data found when processing input</div><div>| | | ✘ Error in child resource</div><div>| | ✘ Error in child resource</div><div>| ✘ One or more playlists had errors</div><div>✘ Validation failed: One or more playlists had errors</div></div><div><br></div><div>The backend where this is being generated from is Xubuntu 16.04 with mythtv v29 ppa.  Is this possible something with ffmpeg or libav? Is it possibly something in mythtranscode?  </div><div><br></div><div>Anyone having issues with unplayable hls streams? Can someone run that validate-hls tool on their own streams and verify what I'm seeing?</div></div>