darknebular / Wrapper_VideoStation

Synology VideoStation and DLNA FFmpeg Wrapper with AAC, DTS, EAC3 and TrueHD support via pipes (now with GStreamer support). It enables full hardware transcoding from Synology´s FFmpeg for video and transcoding DTS, EAC3, TrueHD and AAC from the SynoCommunity's FFmpeg only when necessary.
634 stars 70 forks source link

Subtitles. #17

Closed txsastre closed 1 year ago

txsastre commented 1 year ago

Hi there, thank you very much for your wrapper. Enhorabuena.

By the way, I'm not sure if this is related, but most times I cannot see the subtitles on my TV (it's a samsung) but if I use Flex I can see all of them.

Is this related ?

Thank you.

darknebular commented 1 year ago

Hello, could you send me this when It happens?

tail -n 150 -f /tmp/wrapper_ffmpeg.log

Then copy and paste here the result.

Are you using DS-Video in this samsung or you are using DS-Video in the mobile and then cast to a Chromecast?

Best Regards.

darknebular commented 1 year ago

@txsastre Could you tell me what is the format of these subtitles? They could be: SRT, PGS, Alpha...

Remember that the DS-Video versions used on TVs are not maintained and are very old versions. Your problems may be caused by your TV using an old version of DS-Video...

You can try to download the subtitles using the subscene's subtitles for your movies. This subtitles's format are supported generally in Samsung and LG TVs. And the Shooter.cn are better for Asian's firmwares or Chinese subs. image

Best Regards.

txsastre commented 1 year ago

Hi there.

Sorry for my delay.

First. I use the mobile with ds video and send the movie to the TV Samsung, yes I'm aware that the app in samsung market for DS video is very old, indeed does not play anything.

Also, I have the same options checked in the DS video.

I've tried some movies, some of them I can see the subtitles. For example, a movie with mkv video format and SRT subtitles.

But the same combinations are with another tv show, mkv video and SRT subtiles, and they do not appear on the screen.

Everything works fine on the computer, and sending from computer (firefox) to TV don't work as well.

Gracias. Thanks

TV Show that does no show subtitles on TV


023-04-29 20:45:10 - FFM18095 - *** PROCESS START REV AME_12.3.6 DS216+II (braswell) PID 18095 ***
2023-04-29 20:45:10 - FFM18095 - MOVIE    = /volume1/data/tvshow/tv-show-no-subtitles-working-on-tv.mkv
2023-04-29 20:45:10 - FFM18095 - VCODEC   = h264 (High)
2023-04-29 20:45:10 - FFM18095 - ACODEC   = dts
2023-04-29 20:45:10 - FFM18095 - PARAMVS  =
2023-04-29 20:45:10 - FFM18095 -          = -ss 0.000 -i /volume1/data/tvshow/tv-show-no-subtitles-working-on-tv.mkv -threads 0 
2023-04-29 20:45:10 - FFM18095 -          = -vcodec copy -vsync 2 -vbsf h264_mp4toannexb=repeatheader -acodec libmp3lame -ab 256k -ac 2 -f ssegment -segment_format 
2023-04-29 20:45:10 - FFM18095 -          = mpegts -segment_list_type m3u8 -hls_seek_time 0 -segment_time 8 -segment_time_delta 0.000 -segment_start_number 00000 -a
2023-04-29 20:45:10 - FFM18095 -          = void_negative_ts 0 -break_non_keyframes 0 -max_muxing_queue_size 1024 -map 0:0 -map 0:1 /tmp/VideoStation/HLS/db9eb2295b
2023-04-29 20:45:10 - FFM18095 -          = 6560481547da45ccc374c7_sKWGdtnM/slice-%05d.ts
2023-04-29 20:45:10 - FFM18095 - MODE     = ORIG-VSMS
2023-04-29 20:45:10 - FFM18095 - FFMPEG   = /var/packages/CodecPack/target/pack/bin/ffmpeg41.orig
2023-04-29 20:45:10 - FFM18095 - PARAMWP  =
2023-04-29 20:45:10 - FFM18095 -          = -ss 0.000 -i /volume1/data/tvshow/tv-show-no-subtitles-working-on-tv.mkv -threads 0 
2023-04-29 20:45:10 - FFM18095 -          = -vcodec copy -vsync 2 -vbsf h264_mp4toannexb=repeatheader -acodec libmp3lame -ab 256k -ac 2 -f ssegment -segment_format 
2023-04-29 20:45:10 - FFM18095 -          = mpegts -segment_list_type m3u8 -hls_seek_time 0 -segment_time 8 -segment_time_delta 0.000 -segment_start_number 00000 -a
2023-04-29 20:45:10 - FFM18095 -          = void_negative_ts 0 -break_non_keyframes 0 -max_muxing_queue_size 1024 -map 0:0 -map 0:1 /tmp/VideoStation/HLS/db9eb2295b
2023-04-29 20:45:10 - FFM18095 -          = 6560481547da45ccc374c7_sKWGdtnM/slice-%05d.ts
2023-04-29 20:45:10 - FFM18095 - CHILDPID = 18138
2023-04-29 20:45:10 - FFM18095 - *** CHILD END ***
2023-04-29 20:45:10 - FFM18095 - STDOUT   =
2023-04-29 20:45:10 - FFM18095 -          =       BPS             : 1508999
2023-04-29 20:45:10 - FFM18095 -          =       BPS-eng         : 1508999
2023-04-29 20:45:10 - FFM18095 -          =       DURATION        : 00:29:20.555000000
2023-04-29 20:45:10 - FFM18095 -          =       DURATION-eng    : 00:29:20.555000000
2023-04-29 20:45:10 - FFM18095 -          =       NUMBER_OF_FRAMES: 165052
2023-04-29 20:45:10 - FFM18095 -          =       NUMBER_OF_FRAMES-eng: 165052
2023-04-29 20:45:10 - FFM18095 -          =       NUMBER_OF_BYTES : 332084624
2023-04-29 20:45:10 - FFM18095 -          =       NUMBER_OF_BYTES-eng: 332084624
2023-04-29 20:45:10 - FFM18095 -          =       _STATISTICS_WRITING_APP: mkvmerge v8.3.0 ('Over the Horizon') 64bit
2023-04-29 20:45:10 - FFM18095 -          =       _STATISTICS_WRITING_APP-eng: mkvmerge v8.3.0 ('Over the Horizon') 64bit
2023-04-29 20:45:10 - FFM18095 -          =       _STATISTICS_WRITING_DATE_UTC: 2017-09-01 15:39:15
2023-04-29 20:45:10 - FFM18095 -          =       _STATISTICS_WRITING_DATE_UTC-eng: 2017-09-01 15:39:15
2023-04-29 20:45:10 - FFM18095 -          =       _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
2023-04-29 20:45:10 - FFM18095 -          =       _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
2023-04-29 20:45:10 - FFM18095 -          = Stream mapping:
2023-04-29 20:45:10 - FFM18095 -          =   Stream #0:0 -> #0:0 (copy)
2023-04-29 20:45:10 - FFM18095 -          =   Stream #0:1 -> #0:1 (? (?) -> mp3 (libmp3lame))
2023-04-29 20:45:10 - FFM18095 -          = Decoder (codec dts) not found for input stream #0:1
2023-04-29 20:45:10 - FFM18095 - MODE     = PIPE V_ORIG-A_WRAP-VS
2023-04-29 20:45:10 - FFM18095 - FFMPEG1  = /var/packages/CodecPack/target/pack/bin/ffmpeg41.orig
2023-04-29 20:45:10 - FFM18095 - FFMPEG2  = /var/packages/ffmpeg/target/bin/ffmpeg
2023-04-29 20:45:10 - FFM18095 - PARAM1   =
2023-04-29 20:45:10 - FFM18095 -          = -ss 0.000 -noaccurate_seek -i /volume1/data/tvshow/tv-show-no-subtitles-working-on-tv
2023-04-29 20:45:10 - FFM18095 -          = s.mkv -threads 0 -vcodec copy -vsync 2 -vbsf h264_mp4toannexb=repeatheader -acodec copy -f mpegts -map 0:0 -map 0:1 -buf
2023-04-29 20:45:10 - FFM18095 -          = size 8192k pipe:1
2023-04-29 20:45:10 - FFM18095 - PARAM2   =
2023-04-29 20:45:10 - FFM18095 -          = -analyzeduration 10000000 -i pipe:0 -map 0:0 -map 0:1 -map 0:1 -threads 0 -vcodec copy -vsync 2 -vbsf h264_mp4toannexb=r
2023-04-29 20:45:10 - FFM18095 -          = epeatheader -c:a:0 libmp3lame -c:a:1 libfdk_aac -b:a:0 256k -b:a:1 512k -ac:1 2 -ac:2 6 -f ssegment -segment_format mpeg
2023-04-29 20:45:10 - FFM18095 -          = ts -segment_list_type m3u8 -hls_seek_time 0 -segment_time 8 -segment_time_delta 0.000 -segment_start_number 00000 -avoid
2023-04-29 20:45:10 - FFM18095 -          = _negative_ts 0 -break_non_keyframes 0 -max_muxing_queue_size 1024 /tmp/VideoStation/HLS/db9eb2295b6560481547da45ccc374c7
2023-04-29 20:45:10 - FFM18095 -          = _sKWGdtnM/slice-%05d.ts
2023-04-29 20:45:10 - FFM18095 - CHILDPID = 18166
2023-04-29 20:45:27 - FFM18095 - *** KILLCHILD ***
2023-04-29 20:45:27 - FFM18095 - *** CHILD END ***
2023-04-29 20:45:27 - FFM18095 - *** PROCESS END ***

Movie that shows subtitles on TV


2023-04-29 20:27:38 - FFM4558 - *** PROCESS START REV AME_12.3.6 DS216+II (braswell) PID 4558 ***
2023-04-29 20:27:38 - FFM4558 - MOVIE    = /volume1/data/movie/movie-shows-subtiles.mkv
2023-04-29 20:27:38 - FFM4558 - VCODEC   = h264 (High)
2023-04-29 20:27:38 - FFM4558 - ACODEC   = ac3
2023-04-29 20:27:38 - FFM4558 - PARAMVS  =
2023-04-29 20:27:38 - FFM4558 -          = -ss 106.069 -i /volume1/data/movie/movie-shows-subtiles
2023-04-29 20:27:38 - FFM4558 -          = 1.x264-GalaxyRG[TGx].mkv -threads 0 -vcodec copy -vsync 2 -vbsf h264_mp4toannexb=repeatheader -acodec libmp3lame -ab 256
2023-04-29 20:27:38 - FFM4558 -          = k -ac 2 -f ssegment -segment_format mpegts -segment_list_type m3u8 -hls_seek_time 106069 -segment_time 8 -segment_time_d
2023-04-29 20:27:38 - FFM4558 -          = elta 2.069 -segment_start_number 00013 -avoid_negative_ts 0 -break_non_keyframes 0 -max_muxing_queue_size 1024 -map 0:0 
2023-04-29 20:27:38 - FFM4558 -          = -map 0:1 /tmp/VideoStation/HLS/23ddaab0df270556113faa69b6d6f9c5_EU1c5V2N/slice-%05d.ts
2023-04-29 20:27:38 - FFM4558 - MODE     = ORIG-VSMS
2023-04-29 20:27:38 - FFM4558 - FFMPEG   = /var/packages/CodecPack/target/pack/bin/ffmpeg41.orig
2023-04-29 20:27:38 - FFM4558 - PARAMWP  =
2023-04-29 20:27:38 - FFM4558 -          = -ss 106.069 -i /volume1/data/movie/movie-shows-subtiles
2023-04-29 20:27:38 - FFM4558 -          = 1.x264-GalaxyRG[TGx].mkv -threads 0 -vcodec copy -vsync 2 -vbsf h264_mp4toannexb=repeatheader -acodec libmp3lame -ab 256
2023-04-29 20:27:38 - FFM4558 -          = k -ac 2 -f ssegment -segment_format mpegts -segment_list_type m3u8 -hls_seek_time 106069 -segment_time 8 -segment_time_d
2023-04-29 20:27:38 - FFM4558 -          = elta 2.069 -segment_start_number 00013 -avoid_negative_ts 0 -break_non_keyframes 0 -max_muxing_queue_size 1024 -map 0:0 
2023-04-29 20:27:38 - FFM4558 -          = -map 0:1 /tmp/VideoStation/HLS/23ddaab0df270556113faa69b6d6f9c5_EU1c5V2N/slice-%05d.ts
2023-04-29 20:27:38 - FFM4558 - CHILDPID = 4605
2023-04-29 20:35:55 - FFM4558 - *** KILLCHILD ***
2023-04-29 20:35:55 - FFM4558 - *** CHILD END ***
2023-04-29 20:35:55 - FFM4558 - *** PROCESS END ***

#

darknebular commented 1 year ago

I don't see any error in your logs, the subtitles look like that they are been loading.

If your TV is compatible with SRT format, I suggest you to use this app called: MKVTOOLNIX and check it out if the subtitles stream is really in SRT and if this stream is in predefined stream. Check it out too if this SRT is in your correct language and not in UND or others languages. Try too mantain only one SubRip/SRT for each language or only for your language. image

Please send me the screenshot for both movies in MKVTOOLNIX for investigate this.

Thanks in advance, best regards.

darknebular commented 1 year ago

@txsastre I have verified that if the Video track is in UND, there are TVs that do not load the subtitles well.

Could you confirm that the video shows a specific language and not UND? Check it out too if this SRT is in your correct language and not in UND or others languages. Try too mantain only one SubRip/SRT for each language or only for your language.

Greetings.

darknebular commented 1 year ago

@txsastre I found that the MediaServer (DLNA) when it's transcoding, doesn't send to the AME binary (ffmpeg41) the subtitle's arguments. Then It looks like that It's not related to my Wrapper, because my Wrapper doesn't receive these arguments for subtitles.

I am working in a new Wrapper (Advanced 2.0) and I will try to force the use of these subtitle's arguments for DLNA connections when It's transcoding a movie.

Best Regards.

txsastre commented 1 year ago

Hola @darknebular

Thank you very much for your investigations.

I never said it was related to your wrapper, because as I said, subtitles rarely works and most of the time it doesn't. Using now flex, but I don't want apps that I have to register to use files that I have in my devices.

I'm very happy about your wrapper and if you are able to solve the subtitles problems I would be happier ;)

Nice work and thanks again.

darknebular commented 1 year ago

You are welcome.

I will try to do the best with subtitles, but if the Media Server doesn't send the subtitles's arguments, I can't do much, only trying to force them. Please could you try with the new version SCPT_3.2? I did improvements in DLNA processing (now There is a unique binary and not two), and now the logs are better for analysis.

Thanks in advance.

darknebular commented 1 year ago

It is impossible to capture the subtitle streams. Media Server when transcoding, sends only video and audio using an internal pipe. For that pipe there is no track for the subtitles.

I am very sorry to tell you this, but even if I force my Wrapper to execute the subtitles and setting -map 0, they will never be readable.

Greetings.

txsastre commented 1 year ago

Ok. Nevermind. Thanks for trying.

By the way I have upgraded your script on my synology.

darknebular commented 1 year ago

Remember that with the next release you will need FFMPEG 6.0.2 (and above). I just deprecated the use of FFMPEG 4.X. in my Wrapper.

Best regards.