Jump to content

Where to increase live TV streaming quality?


gene0915

Recommended Posts

gene0915

Under Playback -> Streaming, I have it set to 4Mbps. But, whenever my brother watches live TV via Emby on his Roku or phone, it usually says: Transcoding 2.0Mbps (or sometimes it will get up to 2.5Mbps) and it never reaches 4Mbps. Why is that? Does live TV streaming have a separate transcoding option somewhere?

 

I always thought that adjusting the setting I mention above was a global type setting and anything my server streamed outside my network would go out at 4Mbps.

 

 

 

Link to comment
Share on other sites

By default the app will test the connection and choose a bitrate that is appropriate.

 

The server setting is a max number.  Your connection may not support that.

Link to comment
Share on other sites

gene0915

What is the source bitrate? Can you post a transcoding log? 

 

Source is 1080i OTA television via HDHR

Application version: 3.2.30.0http://65.60.225.207:8096/emby/videos/dedb9f8f6d3d29a1f404614b84546247/live.m3u8?DeviceId=8d72dcb3-704b-5855-830b-2afb3951c7cf&MediaSourceId=1&VideoCodec=h264&AudioCodec=mp3,aac&AudioStreamIndex=-1&VideoBitrate=2308000&AudioBitrate=192000&MaxFramerate=60&MaxWidth=3840&MaxHeight=2160&Level=51&MaxRefFrames=16&MaxVideoBitDepth=8&Profile=high&PlaySessionId=d8c7d3a51d20431db1fd17f561aa4bf6&api_key=e091448950474a0e8d5addbd8a914d00&LiveStreamId=a17c75760a04e99b68cf766e11316e1c_31137e308f44193358c2d4f40ee6b39e_1&CopyTimestamps=false&TranscodingMaxAudioChannels=2&EnableSubtitlesInManifest=false&RequireAvc=false&RequireNonAnamorphic=false&DeInterlace=false&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&TranscodeReasons=ContainerBitrateExceedsLimit{"Protocol":"Http","Id":"1","Path":"http://localhost:8866/live?channeloid=7148&client=MB3.1","Type":"Default","IsRemote":false,"ReadAtNativeFramerate":false,"IgnoreDts":false,"IgnoreIndex":false,"GenPtsInput":false,"SupportsTranscoding":true,"SupportsDirectStream":false,"SupportsDirectPlay":true,"IsInfiniteStream":false,"RequiresOpening":false,"RequiresClosing":true,"SupportsProbing":false,"EnableMpDecimate":false,"LiveStreamId":"a17c75760a04e99b68cf766e11316e1c_31137e308f44193358c2d4f40ee6b39e_1","RequiresLooping":false,"MediaStreams":[{"NalLengthSize":"0","IsInterlaced":true,"BitRate":20000000,"IsDefault":false,"IsForced":false,"Type":"Video","Index":-1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false},{"DisplayTitle":"","IsInterlaced":true,"IsDefault":false,"IsForced":false,"Type":"Audio","Index":-1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false}],"Formats":[],"Bitrate":20000000,"RequiredHttpHeaders":{}}User policy for lboston: EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: TrueC:\Users\server\AppData\Roaming\Emby-Server\ffmpeg\20160410\ffmpeg.exe -i "http://localhost:8866/live?channeloid=7148&client=MB3.1" -map_metadata -1 -map_chapters -1 -threads 0 -sn -codec:v:0 libx264 -pix_fmt yuv420p -preset veryfast -crf 23 -maxrate 2308000 -bufsize 4616000 -profile:v high -level 4.1 -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none -force_key_frames "expr:gte(t,n_forced*3)" -vf "yadif=0:-1:0,scale=trunc(min(max(iw\,ih*dar)\,1280)/2)*2:trunc(ow/dar/2)*2" -flags -global_header -vsync -1 -codec:a:0 libmp3lame -ac 2 -ab 192000  -f segment -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -segment_time 3  -individual_header_trailer 0 -segment_format mpegts -segment_list_entry_prefix "hls/da6d034d8bad3fdd2781cc8af0b700f8/" -segment_list_type m3u8 -segment_start_number 0 -segment_list "D:\transcoding-temp\da6d034d8bad3fdd2781cc8af0b700f8.m3u8" -y "D:\transcoding-temp\da6d034d8bad3fdd2781cc8af0b700f8%d.ts"ffmpeg version N-79277-g0c90b2e Copyright (c) 2000-2016 the FFmpeg developers  built with gcc 5.3.0 (GCC)  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib  libavutil      55. 20.100 / 55. 20.100  libavcodec     57. 34.100 / 57. 34.100  libavformat    57. 32.100 / 57. 32.100  libavdevice    57.  0.101 / 57.  0.101  libavfilter     6. 41.100 /  6. 41.100  libswscale      4.  1.100 /  4.  1.100  libswresample   2.  0.101 /  2.  0.101  libpostproc    54.  0.100 / 54.  0.100[mpeg2video @ 000000000044f640] Invalid frame dimensions 0x0.    Last message repeated 18 timesInput #0, mpegts, from 'http://localhost:8866/live?channeloid=7148&client=MB3.1':  Duration: N/A, start: 41306.318900, bitrate: N/A  Program 3     Stream #0:0[0x31]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], Closed Captions, max. 80000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc    Stream #0:1[0x34](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 384 kb/s    Stream #0:2[0x35](spa): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s (visual impaired)[libx264 @ 0000000002e16160] using SAR=1/1[libx264 @ 0000000002e16160] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2[libx264 @ 0000000002e16160] profile Main, level 4.1Output #0, segment, to 'D:\transcoding-temp\da6d034d8bad3fdd2781cc8af0b700f8%d.ts':  Metadata:    encoder         : Lavf57.32.100    Stream #0:0: Video: h264 (libx264), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, max. 2308 kb/s, 29.97 fps, 90k tbn, 29.97 tbc    Metadata:      encoder         : Lavc57.34.100 libx264    Side data:      cpb: bitrate max/min/avg: 2308000/0/0 buffer size: 4616000 vbv_delay: -1    Stream #0:1: Audio: mp3 (libmp3lame), 48000 Hz, stereo, fltp, 192 kb/s    Metadata:      encoder         : Lavc57.34.100 libmp3lameStream mapping:  Stream #0:0 -> #0:0 (mpeg2video (native) -> h264 (libx264))  Stream #0:1 -> #0:1 (ac3 (native) -> mp3 (libmp3lame))Press [q] to stop, [?] for helpframe=   80 fps=0.0 q=33.0 size=N/A time=00:00:02.23 bitrate=N/A dup=23 drop=0 speed=4.47x    frame=  115 fps=112 q=32.0 size=N/A time=00:00:03.50 bitrate=N/A dup=23 drop=0 speed= 3.4x    frame=  131 fps= 86 q=34.0 size=N/A time=00:00:04.00 bitrate=N/A dup=23 drop=0 speed=2.62x    frame=  151 fps= 72 q=34.0 size=N/A time=00:00:04.53 bitrate=N/A dup=23 drop=0 speed=2.16x    frame=  167 fps= 64 q=32.0 size=N/A time=00:00:05.04 bitrate=N/A dup=23 drop=0 speed=1.92x    frame=  183 fps= 59 q=29.0 size=N/A time=00:00:05.54 bitrate=N/A dup=23 drop=0 speed=1.78x    frame=  196 fps= 54 q=29.0 size=N/A time=00:00:06.07 bitrate=N/A dup=23 drop=0 speed=1.68x    frame=  212 fps= 51 q=29.0 size=N/A time=00:00:06.57 bitrate=N/A dup=23 drop=0 speed=1.58x    
Link to comment
Share on other sites

gene0915

By default the app will test the connection and choose a bitrate that is appropriate.

 

The server setting is a max number.  Your connection may not support that.

 

My current upload speed is 10Mbps. Then I guess Emby does it's magic and determines that 2 - 2.5Mbps is sufficient?

Link to comment
Share on other sites

Looks like the app requested 2.5Mbps in that example.  There are a lot of moving parts between your server and the client making the request.  The app determined 2.5 was the best that would be reliable.  If you feel it should be able to handle more, you can change the quality setting in the Roku app settings.  If you start getting choppy playback, however, you'll know why.

Link to comment
Share on other sites

gene0915

Looks like the app requested 2.5Mbps in that example.  There are a lot of moving parts between your server and the client making the request.  The app determined 2.5 was the best that would be reliable.  If you feel it should be able to handle more, you can change the quality setting in the Roku app settings.  If you start getting choppy playback, however, you'll know why.

 

Sounds good, thanks for the explanation!

Link to comment
Share on other sites

Guest asrequested

Also, that stream is MPEG2. Not all apps support that. If it doesn't, the stream will be transcoded. One of these guys will have to tell you if the Roku supports it. I don't know.

Link to comment
Share on other sites

Only the rokuTV supports it and not because roku wanted to. All US televisions must support mpeg2 decoding for OTA broadcasts. The TV manufacturer pays the mpeg licenses. Roku gets to use this license to let their rokuOS control the TV. This grants rokuTV the ability to use this mpeg2 decoder with emby.

Edited by speechles
  • Like 2
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...