Jellyfin Forum
Problem with live TV and Transcoding - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: Problem with live TV and Transcoding (/t-problem-with-live-tv-and-transcoding)



Problem with live TV and Transcoding - Kuno - 2024-08-21

Dear all,

I have a problem with transcoding and especially with transcoding and Live-TV.

1) 
Generally:
I think jellyfin transcodes much more than it should. I also use emby and just tried to switch to jellyfin and can compare. With the same media emby use direct play and jellyfin uses transcoding - I don't know why. I guess emby tries direct-play and jellyfin tries to transcode with the bitrate from the settings (300MBit/s which means no transcoding necessary - but it tries to transcode)

2) With Live-TV (m3u Playlist) I have some channels which can't be played because of transcoding issues (same m3u used in emby - there it plays without problems).

I can find the wollowing entries in the log-file:

Code:
[2024-08-21 14:31:24.065 +02:00] [ERR] Got invalid level when building CODECS field for HLS master playlist
[2024-08-21 14:31:24.152 +02:00] [ERR] Got invalid level when building CODECS field for HLS master playlist
[2024-08-21 14:31:24.252 +02:00] [INF] "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 3000000 -probesize 1G -user_agent \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) App>
[2024-08-21 14:31:27.872 +02:00] [ERR] FFmpeg exited with code 1
[2024-08-21 14:31:27.932 +02:00] [ERR] Error processing request. URL
"GET" "/videos/da4830be-f350-ca42-7577-e440988b0750/live.m3u8".
MediaBrowser.Common.FfmpegException: FFmpeg exited with code 1


When disallowing transcoding in the user-rights the same live-TV channel works without problems - but I want to use transcoding in some circumstances so I can't globally disallow it.

3) short finding - the live-tv channel-list is sorted alphabetically in jellyfin - it would be much nicer when the channellist is in the same sorting-direction as in the m3u file (emby uses the order mentioned in the m3u-file which is the same as in the tv-receiver)

Thanks a lot for your help.


RE: Problem with live TV and Transcoding - TheDreadPirate - 2024-08-21

Live TV can transcode for several reasons. Sometimes just to remux. But I believe there is also a global limit of 20Mbps for live TV (separate from any user settings) due to some issue with Jellyfin's live TV playback. I'm not familiar with the root issue, but one of the devs was talking about it and transcoding all live TV streams greater than 20Mbps from the source was some workaround while they investigated the issue.

I'd need to see the ffmpeg logs from these failures to figure out what is going on.


RE: Problem with live TV and Transcoding - Kuno - 2024-08-21

The mentioned stream is a low quality SD stream (Germany RTL Television [no HD]) - some other streams won't be transcoded, some streams will be transcoded and will work and some streams always fails. RTL Television will always fail.

Code:
{"Protocol":1,"Id":"36a9060aea8dd6551006759273888d9c","Path":"http://10.28.30.56:8001/1:0:1:2EE3:441:1:C00000:0:0:0:","EncoderPath":null,"EncoderProtocol":null,"Type":0,"Container":"ts","S>

/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 3000000 -probesize 1G -user_agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari>

ffmpeg version 6.0.1-Jellyfin Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --d>
  libavutil      58.  2.100 / 58.  2.100
  libavcodec    60.  3.100 / 60.  3.100
  libavformat    60.  3.100 / 60.  3.100
  libavdevice    60.  1.100 / 60.  1.100
  libavfilter    9.  3.100 /  9.  3.100
  libswscale      7.  1.100 /  7.  1.100
  libswresample  4. 10.100 /  4. 10.100
  libpostproc    57.  1.100 / 57.  1.100
[mpeg2video @ 0x56428b1e84c0] Invalid frame dimensions 0x0.
[mp3float @ 0x56428b1c8840] Header missing
[mpeg2video @ 0x56428b1e84c0] Invalid frame dimensions 0x0.
    Last message repeated 5 times
[mpegts @ 0x56428b1b5040] Could not find codec parameters for stream 4 (Unknown: none ([5][0][0][0] / 0x0005)): unknown codec
Consider increasing the value for the 'analyzeduration' (3000000) and 'probesize' (1000000000) options
[mpegts @ 0x56428b1b5040] Could not find codec parameters for stream 6 (Unknown: none ([12][0][0][0] / 0x000C)): unknown codec
Consider increasing the value for the 'analyzeduration' (3000000) and 'probesize' (1000000000) options
Input #0, mpegts, from 'http://10.28.30.56:8001/1:0:1:2EE3:441:1:C00000:0:0:0:':
  Duration: N/A, start: 81511.867533, bitrate: N/A
  Program 12003
  Stream #0:1[0x68](deu): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 192 kb/s
  Stream #0:2[0x69](deu): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006), 492x250
  Stream #0:3[0x6a](deu): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 384 kb/s
  Stream #0:4[0x6c]: Unknown: none ([5][0][0][0] / 0x0005)
  Stream #0:5[0x6e](deu): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) (hearing impaired)
  Stream #0:6[0x70]: Unknown: none ([12][0][0][0] / 0x000C)
  Stream #0:7[0x71]: Data: bin_data ([6][0][0][0] / 0x0006)
  Stream #0:8[0xa3]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt470bg, top first), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn
    Side data:
      cpb: bitrate max/min/avg: 15000000/0/0 buffer size: 1835008 vbv_delay: N/A
  Program 12004
  Program 12005
  Program 12006
  Program 12009
  Program 12020
  Program 12030
  Program 12040
  Program 12060
  Program 12061
  Program 12080
  Program 12090
  Program 12091
  No Program
  Stream #0:0[0x12]: Data: epg
Stream mapping:
  Stream #0:8 -> #0:0 (mpeg2video (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (mp2 (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
[mp2 @ 0x56428b24ae80] Header missing
Error while decoding stream #0:1: Invalid data found when processing input
[libx264 @ 0x56428b211680] invalid level_idc: 0
[vost#0:0/libx264 @ 0x56428b211300] Error initializing output stream: Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
[libfdk_aac @ 0x56428b214c40] 2 frames left in the queue on closing
Conversion failed!

And like mentioned above - jellyfin seems to transcode much more media (not only live-tv but also all other media like mkv or mp4 files) than emby.


RE: Problem with live TV and Transcoding - TheDreadPirate - 2024-08-21

It looks like some of the output was truncated because the line was too long. I can't see the full ffmpeg command.

In this case, the video is MPEG2. Many modern devices do not support decoding MPEG2 and this may be the reason for the transcode for this stream. Some of your other streams that aren't transcoding may be H264. Most of my IPTV comes in as H264.

As for why this transcode is failing, hard to say. I'd need to see the full ffmpeg command to see what it was doing.


RE: Problem with live TV and Transcoding - Kuno - 2024-08-21

attached the complete command :-)

When forbidding transcode in user-rights I can playback this tv-channel so no transcoding needed for the specific client.

Code:
/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 3000000 -probesize 1G -user_agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36" -fflags +igndts -f mpegts -noautorotate -i "http://10.28.30.56:8001/1:0:1:2EE3:441:1:C00000:0:0:0:" -map_metadata -1 -map_chapters -1 -threads 0 -sn -codec:v:0 libx264 -preset superfast -crf 23 -maxrate 4899949 -bufsize 9799898 -level 0 -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none -force_key_frames:0 "expr:gte(t,n_forced*3)" -sc_threshold:v:0 0 -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*a)\,1920)/2)*2:trunc(ow/a/2)*2,format=yuv420p" -flags -global_header -codec:a:0 libfdk_aac -ac 2 -ab 256000 -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_base_url "hls/0c296a02e8c8054b5dfde950ad283011/" -hls_segment_filename "/var/cache/jellyfin/transcodes/0c296a02e8c8054b5dfde950ad283011%d.ts" -hls_playlist_type event -hls_list_size 0 -y "/var/cache/jellyfin/transcodes/0c296a02e8c8054b5dfde950ad283011.m3u8"



RE: Problem with live TV and Transcoding - Kuno - 2024-09-07

Dear All,

any suggestions here?


RE: Problem with live TV and Transcoding - Kuno - 2024-09-16

How can I solve the problem?