MythTV-Clients / MythtvPlayerForAndroid

MythTV Player is an Android client for accessing content from a MythTV Backend
https://play.google.com/store/apps/details?id=org.mythtv.android
GNU General Public License v3.0
16 stars 7 forks source link

Cannot play recordings or movies with 0.27.4 backend #43

Closed gustden closed 9 years ago

gustden commented 9 years ago

It shows the list of recordings and has a button to queue hls. A while later, the play button shows up. When I press play, it says 'Can't play this video' .

File name on the backend attempting to be played: The_Good_Wife_S6E15_Open_Source.mp4

I do see the mythtranscode run on the backend. mythtv 24341 19901 0 19:32 ? 00:00:00 sh -c /mythtv/27/bin/mythtranscode --hls --hlsstreamid 1 --verbose general --loglevel info --quiet --syslog local7

Mythtranscode log shows progress:

Apr 12 19:32:34 HTPC mythtranscode: mythtranscode[24342]: I LogForward loggingse rver.cpp:1373 (forwardMessage) New Client: (#1) Apr 12 19:32:34 HTPC mythtranscode: mythtranscode[24342]: I LogForward loggingse rver.cpp:295 (SyslogLogger) Added syslogging Apr 12 19:32:35 HTPC mythtranscode: mythtranscode[24342]: I CoreContext avformat decoder.cpp:2141 (ScanStreams) AFD: codec AC3 has 6 channels Apr 12 19:32:35 HTPC mythtranscode: mythtranscode[24342]: I CoreContext avformatdecoder.cpp:2632 (OpenAVCodec) AFD: Opened codec 0x1cff6c0, id(AC3) type(Audio) Apr 12 19:32:35 HTPC mythtranscode: mythtranscode[24342]: I CoreContext avformatdecoder.cpp:2632 (OpenAVCodec) AFD: Opened codec 0x1cfe7a0, id(H264) type(Video) Apr 12 19:32:35 HTPC mythtranscode: mythtranscode[24342]: N CoreContext audioplayer.cpp:164 (ReinitAudio) AudioPlayer: Enabling Audio Apr 12 19:32:35 HTPC mythtranscode: mythtranscode[24342]: I CoreContext transcode.cpp:1022 (TranscodeFile) Transcoding for HTTP Live Streaming Apr 12 19:33:15 HTPC mythtranscode: mythtranscode[24342]: I CoreContext transcode.cpp:1504 (TranscodeFile) mythtranscode: 1% Completed @ 44.2957 fps.

Seeing errors in the backend log when trying to play:
Apr 12 19:43:38 HTPC mythbackend: mythbackend[19901]: E HttpServer118 servicehost.cpp:143 (Invoke) MethodInfo::Invoke - An Exception Occurred: GetFile - FileName missing. Apr 12 19:43:38 HTPC mythbackend: mythbackend[19901]: E HttpServer118 servicehost.cpp:426 (ProcessRequest) GetFile - FileName missing.

Even after the transcoding process is complete, the file cannot be played.

I did notice that the .ts files are being created in /home/mythtv/streaming directory and permissions look fine.

The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000001.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000002.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000003.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000004.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000005.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000006.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000007.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000008.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000009.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000010.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000011.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000012.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000013.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000014.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.m3u8 The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000001.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000002.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000003.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000004.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000005.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000006.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000007.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000008.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000009.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000010.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000011.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000012.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000013.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000014.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.m3u8 The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.html The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.m3u8

cat The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.m3u8

EXTM3U

EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=950400

The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.m3u8

EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=35200

The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.m3u8

Logcat Error on android device: I/LiveSession( 142): fetchFile: http://10.0.0.101:6544/StorageGroup/Streaming/The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.m3u8 I/ActivityManager( 500): Displayed org.mythtv.android/.player.app.player.RecordingPlayerActivity: +123ms I/LiveSession( 142): fetchFile: http://10.0.0.101:6544/StorageGroup/Streaming/The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000326.ts E/PlaylistFetcher( 142): Unable to parse ID3 tag. E/LiveSession( 142): XXX Received error -1007 from PlaylistFetcher. E/MediaPlayer( 1934): error (1, -1007) E/MediaPlayer( 1934): Error (1,-1007) D/VideoView( 1934): Error: 1,-1007 I/Timeline( 1934): Timeline: Activity_idle id: android.os.BinderProxy@42bf6b38 time:5369840 I/Timeline( 500): Timeline: Activity_windows_visible id: ActivityRecord{42014b30 u0 org.mythtv.android/.player.app.player.RecordingPlayerActivity t13} time:5370434

dmfrey commented 9 years ago

Can you check if the individual .ts files are 0 bytes? I had that problem with v0.27 with HD recordings from my hdhomerun prime boxes. This does not happen in v0.28 for me at least.

On Sun, Apr 12, 2015, 9:22 PM gustden notifications@github.com wrote:

I did notice that the .ts files are being created in /home/mythtv/streaming directory and permissions look fine.

The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000001.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000002.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000003.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000004.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000005.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000006.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000007.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000008.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000009.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000010.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000011.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000012.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000013.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.000014.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.m3u8 The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000001.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000002.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000003.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000004.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000005.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000006.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000007.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000008.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000009.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000010.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000011.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000012.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000013.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.000014.ts The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.m3u8 The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.html The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.m3u8

cat The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.html

/data/mythtv/recordings/The_Good_Wife_S6E15_Open_Source.mp4

cat The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.m3u8

EXTM3U

EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=950400

The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.av.m3u8

EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=35200

The_Good_Wife_S6E15_Open_Source.mp4.1280x720_800kV_64kA.ao_32kA.m3u8

— Reply to this email directly or view it on GitHub https://github.com/MythTV-Clients/MythtvPlayerForAndroid/issues/43#issuecomment-92160202 .

gustden commented 9 years ago

Looks like the same issue, the .ts file are 0 size. I tested against my 0.28 dev server and the .ts files are created just fine. However I did find another issue:

The internal player gives me a bunch of horizontal lines and audio. See attached.
nexus7-4 4 4 This is on a nexus 7 (andorid 4.4.4 ). Same issue on older 4.1.2 device. Will not play on VLC either. However, it DOES play with ES Media player on both devices.

dmfrey commented 9 years ago

This is odd. Why one media player works and another doesn't. Whether you use the internal one or an external one, they all use the same underlying MediaPlayer API built into android. Are you able to grab a LogCat of what is going on on your device while this occurs?

On Mon, Apr 13, 2015 at 8:25 AM gustden notifications@github.com wrote:

Looks like the same issue, the .ts file are 0 size. I tested against my 0.28 dev server and the .ts files are created just fine. However I did find another issue:

The internal player gives me a bunch of horizontal lines and audio. See attached.

[image: nexus7-4 4 4] https://cloud.githubusercontent.com/assets/11760046/7115428/363bd8a8-e1ae-11e4-9f41-408be4db1395.jpg This is on a nexus 7 (andorid 4.4.4 ). Same issue on older 4.1.2 device. Will not play on VLC either. However, it DOES play with ES Media player on both devices.

— Reply to this email directly or view it on GitHub https://github.com/MythTV-Clients/MythtvPlayerForAndroid/issues/43#issuecomment-92333577 .

gustden commented 9 years ago

It seems to be related to the type of file that is being played. I just did a new over the air recording it worked fine with the internal player. So, It seems to be specific to existing files that are already encoded as mp4 show up with the horizontal lines. First glance, I didn't see anything unusual in the logcat. I'll play with it more later.

Is rotating the screen supported yet? The internal player seemed to have an issue when I rotate the screen.

dmfrey commented 9 years ago

Rotation has worked for me in the internal player.

For these transcoded recordings and videos that are not working. Can you play them with JWPlayer on the backend port 6544 directly? If they are not playing there, then there is an issue with the transcoded video. If that is not the case, then it is the app and I will have to look further.

On Mon, Apr 13, 2015 at 10:22 AM gustden notifications@github.com wrote:

It seems to be related to the type of file that is being played. I just did a new over the air recording it worked fine with the internal player. So, It seems to be specific to existing files that are already encoded as mp4 show up with the horizontal lines. First glance, I didn't see anything unusual in the logcat. I'll play with it more later.

Is rotating the screen supported yet? The internal player seemed to have an issue when I rotate the screen.

— Reply to this email directly or view it on GitHub https://github.com/MythTV-Clients/MythtvPlayerForAndroid/issues/43#issuecomment-92374937 .

gustden commented 9 years ago

I tried to view the m3u8 file directly on the backend using VLC - same issue as the phone. It does however play with Banshee.

Still confused as to whey the files play on android with both 'ES Media Player' and the stock android 'Video Player', but not VLC or your internal app.

Seems all my issues are related to mythtranscode and not your app directly.

dmfrey commented 9 years ago

I have not had the best luck with mythtranscode and my video library. So far, the recordings seemed ok. I am currently working on Issue #42 that will give you more fine-grained controls over the HLS Transcode settings. As well as overriding an external player for videos. Maybe, once this is complete, you will be able to change your settings and have better results.

On Mon, Apr 13, 2015 at 1:33 PM gustden notifications@github.com wrote:

I tried to view the m3u8 file directly on the backend using VLC - same issue as the phone. It does however play with Banshee.

Still confused as to whey the files play on android with both 'ES Media Player' and the stock android 'Video Player', but not VLC or your internal app.

Seems all my issues are related to mythtranscode and not your app directly.

— Reply to this email directly or view it on GitHub https://github.com/MythTV-Clients/MythtvPlayerForAndroid/issues/43#issuecomment-92440756 .

billmeek commented 9 years ago

Decode matrix added to Wiki: https://github.com/MythTV-Clients/MythtvPlayerForAndroid/wiki/Home