2024-02-12, 04:38 AM
Just wanted to provide a small update. I wasn't able to effectively "replace" fonts for the media. I tried to pull known good fonts and attach them to the media container using the same file names, but was met with this on all of my attempts:
This still gave me the same playback results as before. Therefore, I attempted to just remove the font attachments entirely to see what would happen...same results. Even when I removed the font attachments, I could still see burned in subtitles on other players like my browser, so I assume the server is using some type of fallback font. It did take awhile to load in the browser, so I wonder if ExoPlayer is just giving up too early and that is the 137 code I'm seeing?
Another thing I tried was using Intel QuickSync instead of my GPU since I was having issues with it dropping out from the container already. I'm using the i5-7600 and have transcode parity with my GPU from my tests. The same playback behavior also happens with QuickSync, so I'm inclined to believe it's some limitation of the Android-TV client.
Here are the logs after removing the font attachments. It does the same behavior where after waiting it will successfully start transcoding and writing to one of the logs, but I do not see anything on the screen:
jf-server-log-fonts-removed.txt (Size: 12.71 KB / Downloads: 29)
exo-removing-font-attachments-137.txt (Size: 11.8 KB / Downloads: 36)
exo-removing-font-attachments.txt (Size: 23.25 KB / Downloads: 55)
Here's a summary of everything thus far. I may transition this to an issue on Github when I have the time, since it seems to be related to the Android-TV client.
Code:
[matroska,webm @ 0x563cff8b1480] Could not find codec parameters for stream 4 (Attachment: none): unknown codec
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
[matroska,webm @ 0x563cff8b1480] Could not find codec parameters for stream 5 (Attachment: none): unknown codec
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
[matroska,webm @ 0x563cff8b1480] Could not find codec parameters for stream 6 (Attachment: none): unknown codec
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
[matroska,webm @ 0x563cff8b1480] Could not find codec parameters for stream 7 (Attachment: none): unknown codec
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
This still gave me the same playback results as before. Therefore, I attempted to just remove the font attachments entirely to see what would happen...same results. Even when I removed the font attachments, I could still see burned in subtitles on other players like my browser, so I assume the server is using some type of fallback font. It did take awhile to load in the browser, so I wonder if ExoPlayer is just giving up too early and that is the 137 code I'm seeing?
Another thing I tried was using Intel QuickSync instead of my GPU since I was having issues with it dropping out from the container already. I'm using the i5-7600 and have transcode parity with my GPU from my tests. The same playback behavior also happens with QuickSync, so I'm inclined to believe it's some limitation of the Android-TV client.
Here are the logs after removing the font attachments. It does the same behavior where after waiting it will successfully start transcoding and writing to one of the logs, but I do not see anything on the screen:



Here's a summary of everything thus far. I may transition this to an issue on Github when I have the time, since it seems to be related to the Android-TV client.
- Some media with ASS subtitles will transcode properly in ExoPlayer after a wait of about 15 seconds, others are sometimes instant. The same media plays without delay on LibVLC, but the subtitles are never shown even though subtitles are set to "Burn in" on the server.
- Some media with ASS subtitles refuse to play in ExoPlayer and will generate many transcode logs that stop at the line "Using font provider fontconfig". Eventually, the transcode starts but a black screen still shows in ExoPlayer which gives me playback errors no matter how long I wait. With LibVLC, the media plays without delay, but the subtitles are never shown similar to above.
- My server can successfully transcode the same media to other players like the browser without generating multiple transcode logs and quitting. It is just the Firestick that has these issues.