jellyfin / jellyfin-plugin-dlna

GNU General Public License v3.0
23 stars 13 forks source link

Unsupported Codecs Not Reliably Transcoded #66

Open Cheesums opened 3 months ago

Cheesums commented 3 months ago

I installed the plugin a few days ago and watched a few videos on my PS3 with limited issues. The MPEG4 videos were properly transcoded and presented on the PS3 as DivX video codec. I noted at the time that many other videos were presenting on the PS3 as MPEG-2 TS. Attempting to play those videos resulted in "The data type is not supported" message on the PS3.

Checking back in today, even less videos can be played. Most videos have the MPEG-2 TS video codec and are unplayable; including videos which showed up as DivX just a few days ago. Only a couple of videos are playable with the DivX codec.

disgustipated commented 1 month ago

Which version of the plugin are you on? There were some changes to transcoding in v3.

Cheesums commented 1 month ago

I see we did recently update to version 3.0.0 of the dlna plugin. Not sure what version I had before, but the last time I tested was before the update so it was older than v3. I will retest and update with the results.

gerwin221 commented 1 week ago

Hi, I have version 4.0.0 installed and have problems with my Panasonic TV model nummer "tx-55as750w". Transcoding does not work. I created a thread in jellyfin forum and the moderator pointed me to this open issue. I have mkv files with H265 codex. The TV cannot play H265. when choosing the file it also shows MPEG2-TS. Transoding to MP4 is not possible. I created a profile but it is not honored. Also the default profile is not working. Are you still working on a solution? Here is the link to the forum thread and logs if this help -> https://forum.jellyfin.org/t-dlna-profile-for-transcoding

disgustipated commented 1 week ago

I added some logging to this build artifact v5 to help find which profiles are being used and to help see which fields are being used for the profile match. you have to turn on debug log to see the field comparison. try testing that out to see if it helps you find which profile is being used and to perhaps craft a profile that fits your needs.

gerwin221 commented 1 week ago

log.zip hi. i updated the plugin and now the log shows that my newly creatred plugin is used. can you have a look at the profile. it still creates a ts file when transcoding when i want a mp4. i copied the panasonic xml profile and changed the identity so it matches my tv. then i deleted mkv and ts from direct play and changed ts to mp4 in the transcodingProfile section. But it still makes a ts file:Panasonic Viera - TX-55AS750W.zip

I realy appriciate your work. you guys are amazing in what you do.

Regards

disgustipated commented 1 week ago

glad youre able to see the profile being picked up now. im not yet well versed on specific transcoding profile settings, but it looks like your file container is an mkv from the log

1080p.BluRay.x265.mkv","EncoderPath":null,"EncoderProtocol":null,"Type":0,     "Container":"mkv"     ,"Size":2329623548,"Name":"Harry

and your attached profile doesnt have that specified as a transcodingprofile container, i only see mp3, mp4 and jpeg

gerwin221 commented 1 week ago

unfortunately I am also new to making a dnla profile :-( I thought in the transcoding profile section you have to put in the format it should transcode to. I changed this line you mentioned from ts to mp4 in the hope that creates mp4 when transcoding. In the jellyfin forum they say that the config in the xml is not honored?! So basically everything I change is not applied anyway. Maybe this I wright because there is no ts in the xml anymore but the transcoded file still is a ts as you can see in the logs.

Do you know where or in which forum I can find someone with more experience creating this profiles?

disgustipated commented 1 week ago

i do know that you have to edit the transcodingprofile container you want to take effect, from there you set the options you want ffmpeg to pull in and use. i know that works because i transcoded flac to mp3 the other day and before i added the transcodingprofile container for flac it was using directplay.

im not fully sure what youre trying to accomplish though. does the media not play on your device with a directplay profile and thats why you are trying to transcode to an mp4?

disgustipated commented 1 week ago

try this in your transcodingprofiles section in the xml, it seemed to transcode the mkv file i was using. tweak the rest of the value to your liking

    <TranscodingProfile container="mkv" 
      type="Video" 
      videoCodec="mpeg4" 
      audioCodec="aac" 
      estimateContentLength="false" 
      enableMpegtsM2TsMode="false" 
      transcodeSeekInfo="Auto" 
      copyTimestamps="false" 
      context="Streaming" 
      enableSubtitlesInManifest="false" 
      minSegments="0" 
      segmentLength="0" 
      breakOnNonKeyFrames="false" />

output while playing

StartPlaybackTimer : play_method          = Transcode (v:mpeg4 a:aac)
Output #0, matroska, to '/config/transcodes/c13f80cd7682fcf837f2a92a46af3627.mkv':
  Metadata:
    encoder         : Lavf61.1.100
  Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 54928 kb/s, 23.98 fps, 1k tbn
      Metadata:
        encoder         : Lavc61.3.100 mpeg4
      Side data:
        cpb: bitrate max/min/avg: 54928822/0/54928822 buffer size: 109857644 vbv_delay: N/A
  Stream #0:1: Audio: aac ([255][0][0][0] / 0x00FF), 48000 Hz, 5.1, s16, 640 kb/s (default)
      Metadata:
        encoder         : Lavc61.3.100 libfdk_aac
gerwin221 commented 1 week ago

hi, why is this line working for you but not for me. can you give me the whole xml please. Do you also use windows on your server? Could this be a OS thiing? Shhould I try a docker container?

disgustipated commented 1 week ago

Try this, i edited the one you attached previously. Check what the output stream shows in the ffmpeg log, dont focus only on the file extension, i think there may be something going on incorrectly with the extension which is a different issue. the output stream should show what its encoding output actually is, like i have above. Panasonic.Viera.-.TX-55AS750W_wmkv.zip

no windows, im using docker container on linux, doubt its related to OS, there was no entry in your profile to handle the mkv container.

gerwin221 commented 1 week ago

still not working :-( log.zip could it be that the problem is because h265 codex is not working with windows at the moment. I dont have the codex installed. only vnc plays the videos on my windows right now. Could this be related in any way? or does ffmpeg uses there own codex for transcoding?