PDA

View Full Version : Streaming subtitles works on some but not on others.....?



smitbret
01-30-2019, 05:33 AM
I recently updated to a Mezzmo beta release and just noticed this the other day when I attempted to watch the movie "Close" on my 2nd Gen FireTV. I wanted to make sure it wasn't isolated to this device so I attempted to stream it to my FireTV 3 at a different location and got the same result

It has some forced .srt subtitles that are embedded in the .mkv file and also available as an external .srt file. Neither one would play nor was available to select. I tried three different media players (Mezzmo, Vimu and VLC) and none of them recognized any subtitles. I have all transcoding turned off in Mezzmo.

Other files have no problems with subtitles in .srt, .ass format or .vob format. But with some movies it's a crapshoot.

I only play from Active Playlists. So far, anything from my "Television" folders is making the subtitles available properly but most anything from my "Movies" playlists does not.

I have attached some Mediainfo files for comparison in case that could be helpful. Close didn't work. The other two worked just fine.
117711781179

Peter
01-30-2019, 09:16 AM
With embedded subtitles it can be an issue with where the subtitle stream starts and how far the player probes for the information, the forced subtitle stream in Close is much shorter than the main video so it likely starts part-way through the video and the player will not detect the subtitles until that point in the video. The other subtitle stream in Close is much longer so likely starts from near the start of the video and should be detected much more easily by the player. If you get ffmpeg information from the video in Mezzmo does it show both subtitle streams?

smitbret
03-24-2019, 02:02 PM
OK, sorry to resurrect this 2 months later but I am still having the same problem with my FireTV's. I am using the Conceiva Mezzmo device profile. I have discovered that the problem is that Mezzmo is choosing to unnecessarily remux (or even transcode) an occasional file. When it does, all subtitles become unavailable and the time scale at the bottom of the screen doesn't function (of course). I have disabled transcoding for the FireTV's in their individual Media Device settings but Mezzmo ignores this and will still remux the file if it feels it is necessary. All of the files it is remuxing/transcoding playback perfectly when this does not occur.

The only workaround is to turn off transcoding for all devices in <Transcoding Settings> and then delete all transcoded files. It works 100% of the time but that leaves me unable to use web access or watch anything outside my home network. Why is Mezzmo only honoring this command when it is universal?

Finally, it works this way for the FireTV2 every time, but is far less consistent on the FireTV3. In fact, I can't make the FireTV3 misbehave right now.

Going back to your original question, yes, FFMPEG does show the subtitle streams:
ffmpeg version N-78742-gf477849 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 4.9.2 (GCC)
configuration: --arch=x86_64 --target-os=mingw32 --cross-prefix=x86_64-w64-mingw32- --enable-static --disable-shared --enable-zlib --disable-postproc --prefix=/home/peter/ffmpeg/build/gpl64 --enable-libmp3lame --enable-libx264 --enable-gpl --extra-libs='-lx264 -lpthread -lstdc++' --enable-runtime-cpudetect --extra-cflags=-I/home/peter/cc32/include --extra-ldflags=-L/home/peter/cc64/lib --pkg-config=pkg-config --pkg-config-flags=--static --disable-w32threads --enable-libvpx --enable-libvorbis --enable-libtheora --enable-libx265 --enable-cuda --enable-cuvid --enable-dxva2 --enable-libmfx --enable-nvenc --enable-gnutls --extra-libs='-lz -lnettle -lhogweed -lgmp -lidn -lws2_32 -lcrypt32'
libavutil 55. 74.100 / 55. 74.100
libavcodec 57.103.100 / 57.103.100
libavformat 57. 76.100 / 57. 76.100
libavdevice 57. 7.100 / 57. 7.100
libavfilter 6.100.100 / 6.100.100
libswscale 4. 7.102 / 4. 7.102
libswresample 2. 8.100 / 2. 8.100
Input #0, matroska,webm, from 'V:\ServerFolders\Brettflix\Movies\A-C\Close (2019)\Close (2019).mkv':
Metadata:
title : Close
encoder : libebml v1.3.6 + libmatroska v1.4.9
creation_time : 2019-01-30T17:11:59.000000Z
Duration: 01:34:38.21, start: 0.000000, bitrate: 4452 kb/s
Stream #0:0: Video: h264 (Main), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 24 fps, 24 tbr, 1k tbn, 48 tbc (default)
Metadata:
title : AVC/h264 1080p
BPS-eng : 3810329
DURATION-eng : 01:34:38.209000000
NUMBER_OF_FRAMES-eng: 136277
NUMBER_OF_BYTES-eng: 2704481104
_STATISTICS_WRITING_APP-eng: mkvmerge v30.1.0 ('Forever And More') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2019-01-30 17:11:59
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:1(eng): Audio: eac3, 48000 Hz, 5.1(side), fltp, 640 kb/s (default)
Metadata:
title : Main Feature: Dolby Digital+ (5.1 ch)
BPS-eng : 640000
DURATION-eng : 01:34:38.144000000
NUMBER_OF_FRAMES-eng: 177442
NUMBER_OF_BYTES-eng: 454251520
_STATISTICS_WRITING_APP-eng: mkvmerge v30.1.0 ('Forever And More') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2019-01-30 17:11:59
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:2(eng): Subtitle: subrip (default) (forced)
Metadata:
title : Forced
BPS-eng : 2
DURATION-eng : 00:32:14.125000000
NUMBER_OF_FRAMES-eng: 16
NUMBER_OF_BYTES-eng: 563
_STATISTICS_WRITING_APP-eng: mkvmerge v30.1.0 ('Forever And More') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2019-01-30 17:11:59
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:3(eng): Subtitle: subrip
Metadata:
title : Main Feature: SDH
BPS-eng : 48
DURATION-eng : 01:33:15.375000000
NUMBER_OF_FRAMES-eng: 1139
NUMBER_OF_BYTES-eng: 33736
_STATISTICS_WRITING_APP-eng: mkvmerge v30.1.0 ('Forever And More') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2019-01-30 17:11:59
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:4: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 1422x800 [SAR 1:1 DAR 711:400], 90k tbr, 90k tbn, 90k tbc
Metadata:
filename : Close (2019)-fanart.jpg
mimetype : image/jpeg
At least one output file must be specified

<MEZZMO>: Child process ended with code: 109, ExitCode=1


---> DB Level Info: 40, 77
---> Frame rate: 24.00
---> Aspect ratio: 16:9 PAR=1:1
---> Duration: 01:34:38

Peter
03-25-2019, 09:31 AM
The audio of the file is eac3 which is not in the device profile so when transcoding is on this will cause the file to be remuxed to change the audio codec. Not sure how it is transcoding when transcoding is disabled in Device Settings, if the same device profile is used for multiple devices and the file is played on one of the devices and transcoded then it will be available transcoded for all devices that use this profile so this could explain it. You will need to make sure that transcoding is disabled on all devices using the Conceiva Mezzmo (Android) profile to ensure that files are not transcoded and re-used. You could also add the eac3 audio codec to the matroska container in the device profile.

smitbret
03-25-2019, 01:01 PM
The audio of the file is eac3 which is not in the device profile so when transcoding is on this will cause the file to be remuxed to change the audio codec. Not sure how it is transcoding when transcoding is disabled in Device Settings, if the same device profile is used for multiple devices and the file is played on one of the devices and transcoded then it will be available transcoded for all devices that use this profile so this could explain it. You will need to make sure that transcoding is disabled on all devices using the Conceiva Mezzmo (Android) profile to ensure that files are not transcoded and re-used. You could also add the eac3 audio codec to the matroska container in the device profile.

That's the weird thing, though. I cleared out the transcoding files before restarting the server on all of my tests as well. Mezzmo is ignoring the shut off command when I play some files to the FireTV2.

Are you saying that if I have transcoding turned on for any device using that profile then there is a chance that Mezzmo could be transcoding/remuxing even if I the device I am using has it turned off?

UPDATE: That appears to be the case. I turned off transcoding for all devices that were using that profile and the first couple of files seem to be streaming unremuxed. I think I will copy the profile and just rename it, something like Conceiva Mezzmo (FireTV2) and assign that and it would appear that should fix the problem.

Peter
03-25-2019, 02:23 PM
If you play a file on a device that has transcoding turned on and the file is transcoded then this transcoded file will be used when you play the same file on other devices that use the same profile.

When copying the profile make sure to replace the GUID in the device profile with a new unique value as this is used to identify each profile. You can generate a new GUID at https://www.guidgenerator.com

smitbret
03-26-2019, 02:45 AM
If you play a file on a device that has transcoding turned on and the file is transcoded then this transcoded file will be used when you play the same file on other devices that use the same profile.

When copying the profile make sure to replace the GUID in the device profile with a new unique value as this is used to identify each profile. You can generate a new GUID at https://www.guidgenerator.com

Welp, sadly it didn't work:
#1 I created the new profile with a new GUID
#2 Shut Mezzmo and Mezzmo server down
#3 Reopened Mezzmo
#4 Cleared out the transcoding folder
#5 Unchecked "Turn off transcoding for all devices"
#6 Went into the device settings for the FireTV2 and changed it to the new profile <Conceiva Mezzmo (FireTV2)>
#7 Made sure transcoding was turned off for this device

Fired up a couple of files and Mezzmo remuxed both of them.

Could this have something to do with the fact that the FireTV2 reports 2 MAC addresses? Even though it has never been connected wirelessly, Mezzmo still picks up the WiFi adapter's MAC address and reports an IP address of 0.0.0.0. Because of this, you can't edit the settings for the WiFi adapter (including turning off transcoding) because Mezzmo requires an IP address before you can save settings.

Peter
03-26-2019, 09:04 AM
If the device connects to Mezzmo using the wifi connection then the ip address will be updated so I don't think this is being used. After changing device profile all the settings are reset so you will need to go to Device Settings and turn off transcoding for the device if you have not already done so. You can also try adding eac3 audio to the matroska container in the new device profile you created.