ESPN+ & FOX Sports with Custom Channels via EPlusTV

there are ads, but Channels doesn't insert them. They are just part of the stream.

Unfortunately I know a bit too much about how ESPN+ works from the inside. Some ads are inserted by ESPN Master Control and I think can be targeted based on viewer location. However, if you see an ad break with ads for the school hosting the game/the conference/something really local to where the game is being hosted that is being inserted by whomever is producing the broadcast.
Some games are also pass-thru which means that no ads are inserted and you just see a title card but that's only if either ESPN doesn't have a master control operator available or if whoever is producing the broadcast doesn't have someone to talk to ESPN on the phone throughout the game.

1 Like

Were you able to find 5.1 audio? It's been several years now and the Fox website still says the Fox Sports apps provide 5.1 audio with 4k content. I have yet to here of anyone who has successfully streamed content with 5.1 audio.

I changed how the it decides what to play, so maybe try it on the next 4K event. I'm not sure how to find out what that is

1 Like

I am trying your new version....I am having problems getting my custom channels URLs to work. When I try to setup a custom channel I get this error message:

invalid source url: Get "http://192.168.4.168:8000/channels.m3u": dial tcp 192.168.4.168:8000: connect: connection refused

First off I still love this feature and the additions are great! I've been wondering now that you added the linear streams as an option to authorize as well is there any way to designate a specific channel number for them so programs don't jump around to different channel numbers? For example, all programs airing on ESPN (linear channel) are present in M3U from the docker but get automatically sorted to the next open channel in the block. What I am asking is if ESPN (linear) can just be assigned a specific channel number and the docker sort all programs airing to that channel number. I'll include an image because I'm sure I'm not being clear :slight_smile:


Ok so programs highlighted in red are airing in order on the ESPN channel and they occur in sequence but currently get assigned the next open channel from the docker and get split up between 3 separate channel numbers in 3 hrs time. the same is true for Blue which is ACC network.

If possible I'd love to see this done for all the linear channel options (ESPN, FS1, SEC, Big10, ect) so this would emulate TVE sources.

That's a good idea. I'd have to change some of my logic around, but I think it's worth pursuing.

1 Like

Fubo keeps the easiest list. Not always perfect, but it’s usually pretty good

any chance of adding more data to the xml? like the type of sport, etc. thanks.

I hate to annoy you guys with a noob question. How do I add the channel variables like fox, nbc, etc

In your docker you add variable and then true

Like below. Not sure what all you are running to be able to answer more than this.

-e ESPN3=true -e FOXSPORTS=true


Its all on the github page.

Hate to say but might need the channel count bumped up from 100. I noticed tonight that all 100 channels were consumed. I would have a hard time believing this would happen very often. Quite a bit of games going on currently.

My channel numbers start at 700. :slight_smile:

I ran into that also when trying to record a game yesterday. With the number of colleges utilizing ESPN+, this could be an issue.

I wonder if it's possible to have filters in the docker to help alleviate that issue.

I can bump the number of channels pretty easily

1 Like

This is referencing college sports only.

Currently has on mens & womens basketball. The weekday games are spread Tuesday thru Thursday and the weekend games are mostly on Saturday.

College baseball and womens softball will start in February. I believe that women's softball schedule is all over the place but baseball is Fri, Sat, and Sun. That's a lot of games each day.

Since I have using your container, the 100 limit has only affected me once. I was able to get that game by nuking the /app/config folder and reinstalling the version I was on. After reauthorizing, the game showed up and recorded fine. I'm not sure if increasing the # of channels will help or hurt something else.

I really appreciate the work you do on EPlusTV. I utilize docker on a Synology NAS.

I bumped up the total channels to 150 for tonight's update

Updated to the Beta 14 version this morning. Started a ESPN+ stream via Channels and it started playing quickly. I then recorded for testing, and after about ~20 mins the docker image exited. I tried the same thing again with a new container and it exited as well.

image

Is this something on my end or a bug in the new version?

Here are the logs:


=== Done building the schedule ===
=== Starting Server ===
Server started on port 8000
Channel #25005 has an active event. Going to start the stream.
Channel #25005 has upcoming event. Setting timer to start
Refreshing device token
Refreshing device refresh token
Refreshing BAM access token
Could not parse M3U8 properly!
AxiosError: read ECONNRESET
    at TLSWrap.onStreamRead (node:internal/stream_base_commons:217:20) {
  syscall: 'read',
  code: 'ECONNRESET',
  errno: -104,
  config: {
    transitional: {
      silentJSONParsing: true,
      forcedJSONParsing: true,
      clarifyTimeoutError: false
    },
    adapter: [Function: httpAdapter],
    transformRequest: [ [Function: transformRequest] ],
    transformResponse: [ [Function: transformResponse] ],
    timeout: 0,
    xsrfCookieName: 'XSRF-TOKEN',
    xsrfHeaderName: 'X-XSRF-TOKEN',
    maxContentLength: -1,
    maxBodyLength: -1,
    env: { FormData: [Function] },
    validateStatus: [Function: validateStatus],
    headers: {
      Accept: 'application/json, text/plain, */*',
      'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36',
      Authorization: 'eyJ6aXAiOiJERUYiLCJraWQiOiJNZHRlcVJ2R04yTDg3dW5OM2g5QzdReF9MUGNRdGN4VTZZNnk5UjF4eHBFIiwiY3R5IjoiSldUIiwiZW5jIjoiQzIwUCIsImFsZyI6ImRpciJ9..0CKpzfA2nRKD2xLe.enPn3eahYts08_HXcbh1IHXK7hnDbqtzYIH72aaA5s0FcejM1PtEZchesIub-iIbUrv29AkaKEJ3h2mH8xDGg7rMRYBeNe3i6xgECQOcpLwdYv_yYtEV2ohSjtGIq5eqT0L6x5Mf9bGQd1Vk7m8B3H3DdS5nS6mwJzmwWe2GHvvcS_4GiteXqzoxwzmIQc0J3okkPT62sARRHK_3slHYrqyJSkM1jjrjsZPBvUttX1nTwUsEAzZVUWjKbgk_faHGHDqMjQr4A3XaVSz58j-tLk-AtGMIio0aAtFiPbxYsu-W4LlIiBCOY7mm6dDJF41Mh8knuyqynhzmaLDryk-WigKovgEjIq1UyhLW88RMqyVqiRa-qOhripQi1YYgq5RhFMeN-L8ETheYCNmIMVYlvvGfIqSslGuPigaDD3TB5XGcAyv6sODjU-U5kRKEyKXLzUfq8oc-kfi4dZlfxX44qv-g-0jkMj5lFJJNYA87r9z9nVLKdxttL_7WhI6EW_iTFg1atIPF5-dPN__wOhgwhZpYB2bPXmaLX2Nv9msqWffGclny8qaZJUxbrlx09O-cAtrJ8CZRs3gFq0CzasYOI-ojg1d4pwK-1AG-Xc6apsTjH8yH0zoqAmUZl9HJfeF43Q_1yaCM7dbxSXrB_u5irw268x1fb0RGV8ftb-4n1dW5tS5XI7fgw2UPUdLdLzu5pUzvIsHQjLRjeVG7SnqynpM1B9YRlVJR0Dm48mOxnVXcrwbCUvzlOOl7mqDGEmqeXOTUK1Gl-5ZI9IjOx7SrT73W1rnS4D2EYSbsYUCmL1D--TZqLj6R5_1oFTc9w_2iL0dgxHoifQ9IdwpcGF0bpuTtX9VfydtDvNvWsDjAhp3qqVPDKb14zs4g70dj94rYAPVfE5nPev52bbWebyoSNawfdHqu85KADJNWyMaFIBzi9pFHmylVJqfIw9N9hMZvICAUW9o0CSHEL3E1IqcN2ON24UG3oQPIwGRAm_-lOSskpaaS1AW5-m7aJqT4cChoWRgr5MbdVwFSftalpbjvo1L7piMquM32zIQdEcv0XAmLfxMIytUjNrYDYbyUwK3frT05xbuSCxy2efQy2aGVudtcahYwncwv-oBqpsIVa5jXvSPtV7F7wRJo_NmjW3aYdMNqOg-ZrNEQR_trDDFLzf6mLu-GxqE7ay_A9_NodREtaFx58KXexxZXWrVkx8uPxnLP8LTMzxpHcnrH2T1w3S6LYk-uqfoNDAjLNgtCy2c-1fI_dwdGckBxpdHQ-0mO0sEkLePlruD8eSM5C4nq_A2R3yk1PcmWAXIT7KYFExgArW1uO6XRMHt4QhnVIT2rMLNc-seoKNG0NfXWYvsGIc1z_gS2bCu9zunuu4VNju6Jrz91LoTGq1XqXuDIIR0BN-FmBtbtLeAw9UZWC0JJYucX-B8oakorn2Yiy_I31M7Rlx-d8HhHBZuMgcG3Kd9FNEf0pAqQLR8jcMWSQO6rdXllyPVXLMFt2h0x57OSDLyKDpJKRWfozlo90J4l15y-OZExlWbZD-QSECypeb4ohijSl98eDjEIbn3Og0v95N5DgEc9hHe7r_5dB3KuxbA23MJ_RxeaURcbpBwtCpZ9QoZTlIKLefAmmO4aoIY5py_uyRNID2b-8fRV5xOLmzYAgo1ma_lEeV86Egm8lbQ1cf2Y355aXnje7dUkfK4_LAmFyx8JGyJy23NURat9r-1KSSvhrc41A__WXlNrmjkyd8blO8EuIjuCrULMgImsR2pMxJOrb45bkBjPUEYulDpctiuBNPt3dvaRHgVPv-fEuefQOIVzJE0mCNzPfu1oy_vlONEFYvd1nQQinZOhgPwSH31J7xQm7P7zpHvw6lISBxm4OTys14Ic20IaWZ6PlFqotMO-FbtU9wHHyjffjkS2AIE58g5Nlq_KRTqas3V2NyML8692uQBim9mx-ELt_ySxAPUmtIUCiQ9lkosVnARgE1lUFmLbt8Upsu7px549uboOFahCK_pVTjfHrs1jLYpcXodUvPelqDqpTasdMt0sMcBXZD8iT8rtNQMWf3ZodkD03U3oHO9R95TvV86kPu-0GC_BEar8Q8RpbEAIpvlD2sZTshlzXwuLNurzi81sASBsjHbAWfe2bZGd-84FVHV7kMutlQ_5eyCl8J0.KNyGhvPsOvD8jF87kgxMEg'
    },
    method: 'get',
    url: 'https://live-ftc-na-central-1.media.plus.espn.com/token=exp=1673197509~id=e6eb0ded-d1c5-43f2-b2d9-ba04706d9e7b~data=607d1474-2088-4db4-9562-a0b09a9dd426~hash=24611bd38df92871e53f863e2054fb13bb5ba845/oma2/va01/espn/event/2023/01/07/Villarreal_vs_Real_Madrid_20230107_1673097341031/master_desktop_slide_aeng.m3u8',
    data: undefined
  },
  request: <ref *1> Writable {
    _writableState: WritableState {
      objectMode: false,
      highWaterMark: 16384,
      finalCalled: false,
      needDrain: false,
      ending: false,
      ended: false,
      finished: false,
      destroyed: false,
      decodeStrings: true,
      defaultEncoding: 'utf8',
      length: 0,
      writing: false,
      corked: 0,
      sync: true,
      bufferProcessing: false,
      onwrite: [Function: bound onwrite],
      writecb: null,
      writelen: 0,
      afterWriteTickInfo: null,
      buffered: [],
      bufferedIndex: 0,
      allBuffers: true,
      allNoop: true,
      pendingcb: 0,
      constructed: true,
      prefinished: false,
      errorEmitted: false,
      emitClose: true,
      autoDestroy: true,
      errored: null,
      closed: false,
      closeEmitted: false,
      [Symbol(kOnFinished)]: []
    },
    _events: [Object: null prototype] {
      response: [Function: handleResponse],
      error: [Function: handleRequestError],
      socket: [Function: handleRequestSocket]
    },
    _eventsCount: 3,
    _maxListeners: undefined,
    _options: {
      maxRedirects: 21,
      maxBodyLength: 10485760,
      protocol: 'https:',
      path: '/token=exp=1673197509~id=e6eb0ded-d1c5-43f2-b2d9-ba04706d9e7b~data=607d1474-2088-4db4-9562-a0b09a9dd426~hash=24611bd38df92871e53f863e2054fb13bb5ba845/oma2/va01/espn/event/2023/01/07/Villarreal_vs_Real_Madrid_20230107_1673097341031/master_desktop_slide_aeng.m3u8',
      method: 'GET',
      headers: [Object],
      agent: undefined,
      agents: [Object],
      auth: undefined,
      hostname: 'live-ftc-na-central-1.media.plus.espn.com',
      port: null,
      nativeProtocols: [Object],
      pathname: '/token=exp=1673197509~id=e6eb0ded-d1c5-43f2-b2d9-ba04706d9e7b~data=607d1474-2088-4db4-9562-a0b09a9dd426~hash=24611bd38df92871e53f863e2054fb13bb5ba845/oma2/va01/espn/event/2023/01/07/Villarreal_vs_Real_Madrid_20230107_1673097341031/master_desktop_slide_aeng.m3u8'
    },
    _ended: true,
    _ending: true,
    _redirectCount: 0,
    _redirects: [],
    _requestBodyLength: 0,
    _requestBodyBuffers: [],
    _onNativeResponse: [Function (anonymous)],
    _currentRequest: ClientRequest {
      _events: [Object: null prototype],
      _eventsCount: 7,
      _maxListeners: undefined,
      outputData: [],
      outputSize: 0,
      writable: true,
      destroyed: false,
      _last: true,
      chunkedEncoding: false,
      shouldKeepAlive: false,
      maxRequestsOnConnectionReached: false,
      _defaultKeepAlive: true,
      useChunkedEncodingByDefault: false,
      sendDate: false,
      _removedConnection: false,
      _removedContLen: false,
      _removedTE: false,
      _contentLength: 0,
      _hasBody: true,
      _trailer: '',
      finished: true,
      _headerSent: true,
      _closed: false,
      socket: [TLSSocket],
      _header: 'GET /token=exp=1673197509~id=e6eb0ded-d1c5-43f2-b2d9-ba04706d9e7b~data=607d1474-2088-4db4-9562-a0b09a9dd426~hash=24611bd38df92871e53f863e2054fb13bb5ba845/oma2/va01/espn/event/2023/01/07/Villarreal_vs_Real_Madrid_20230107_1673097341031/master_desktop_slide_aeng.m3u8 HTTP/1.1\r\n' +
        'Accept: application/json, text/plain, */*\r\n' +
        'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36\r\n' +
        'Authorization: eyJ6aXAiOiJERUYiLCJraWQiOiJNZHRlcVJ2R04yTDg3dW5OM2g5QzdReF9MUGNRdGN4VTZZNnk5UjF4eHBFIiwiY3R5IjoiSldUIiwiZW5jIjoiQzIwUCIsImFsZyI6ImRpciJ9..0CKpzfA2nRKD2xLe.enPn3eahYts08_HXcbh1IHXK7hnDbqtzYIH72aaA5s0FcejM1PtEZchesIub-iIbUrv29AkaKEJ3h2mH8xDGg7rMRYBeNe3i6xgECQOcpLwdYv_yYtEV2ohSjtGIq5eqT0L6x5Mf9bGQd1Vk7m8B3H3DdS5nS6mwJzmwWe2GHvvcS_4GiteXqzoxwzmIQc0J3okkPT62sARRHK_3slHYrqyJSkM1jjrjsZPBvUttX1nTwUsEAzZVUWjKbgk_faHGHDqMjQr4A3XaVSz58j-tLk-AtGMIio0aAtFiPbxYsu-W4LlIiBCOY7mm6dDJF41Mh8knuyqynhzmaLDryk-WigKovgEjIq1UyhLW88RMqyVqiRa-qOhripQi1YYgq5RhFMeN-L8ETheYCNmIMVYlvvGfIqSslGuPigaDD3TB5XGcAyv6sODjU-U5kRKEyKXLzUfq8oc-kfi4dZlfxX44qv-g-0jkMj5lFJJNYA87r9z9nVLKdxttL_7WhI6EW_iTFg1atIPF5-dPN__wOhgwhZpYB2bPXmaLX2Nv9msqWffGclny8qaZJUxbrlx09O-cAtrJ8CZRs3gFq0CzasYOI-ojg1d4pwK-1AG-Xc6apsTjH8yH0zoqAmUZl9HJfeF43Q_1yaCM7dbxSXrB_u5irw268x1fb0RGV8ftb-4n1dW5tS5XI7fgw2UPUdLdLzu5pUzvIsHQjLRjeVG7SnqynpM1B9YRlVJR0Dm48mOxnVXcrwbCUvzlOOl7mqDGEmqeXOTUK1Gl-5ZI9IjOx7SrT73W1rnS4D2EYSbsYUCmL1D--TZqLj6R5_1oFTc9w_2iL0dgxHoifQ9IdwpcGF0bpuTtX9VfydtDvNvWsDjAhp3qqVPDKb14zs4g70dj94rYAPVfE5nPev52bbWebyoSNawfdHqu85KADJNWyMaFIBzi9pFHmylVJqfIw9N9hMZvICAUW9o0CSHEL3E1IqcN2ON24UG3oQPIwGRAm_-lOSskpaaS1AW5-m7aJqT4cChoWRgr5MbdVwFSftalpbjvo1L7piMquM32zIQdEcv0XAmLfxMIytUjNrYDYbyUwK3frT05xbuSCxy2efQy2aGVudtcahYwncwv-oBqpsIVa5jXvSPtV7F7wRJo_NmjW3aYdMNqOg-ZrNEQR_trDDFLzf6mLu-GxqE7ay_A9_NodREtaFx58KXexxZXWrVkx8uPxnLP8LTMzxpHcnrH2T1w3S6LYk-uqfoNDAjLNgtCy2c-1fI_dwdGckBxpdHQ-0mO0sEkLePlruD8eSM5C4nq_A2R3yk1PcmWAXIT7KYFExgArW1uO6XRMHt4QhnVIT2rMLNc-seoKNG0NfXWYvsGIc1z_gS2bCu9zunuu4VNju6Jrz91LoTGq1XqXuDIIR0BN-FmBtbtLeAw9UZWC0JJYucX-B8oakorn2Yiy_I31M7Rlx-d8HhHBZuMgcG3Kd9FNEf0pAqQLR8jcMWSQO6rdXllyPVXLMFt2h0x57OSDLyKDpJKRWfozlo90J4l15y-OZExlWbZD-QSECypeb4ohijSl98eDjEIbn3Og0v95N5DgEc9hHe7r_5dB3KuxbA23MJ_RxeaURcbpBwtCpZ9QoZTlIKLefAmmO4aoIY5py_uyRNID2b-8fRV5xOLmzYAgo1ma_lEeV86Egm8lbQ1cf2Y355aXnje7dUkfK4_LAmFyx8JGyJy23NURat9r-1KSSvhrc41A__WXlNrmjkyd8blO8EuIjuCrULMgImsR2pMxJOrb45bkBjPUEYulDpctiuBNPt3dvaRHgVPv-fEuefQOIVzJE0mCNzPfu1oy_vlONEFYvd1nQQinZOhgPwSH31J7xQm7P7zpHvw6lISBxm4OTys14Ic20IaWZ6PlFqotMO-FbtU9wHHyjffjkS2AIE58g5Nlq_KRTqas3V2NyML8692uQBim9mx-ELt_ySxAPUmtIUCiQ9lkosVnARgE1lUFmLbt8Upsu7px549uboOFahCK_pVTjfHrs1jLYpcXodUvPelqDqpTasdMt0sMcBXZD8iT8rtNQMWf3ZodkD03U3oHO9R95TvV86kPu-0GC_BEar8Q8RpbEAIpvlD2sZTshlzXwuLNurzi81sASBsjHbAWfe2bZGd-84FVHV7kMutlQ_5eyCl8J0.KNyGhvPsOvD8jF87kgxMEg\r\n' +
        'Host: live-ftc-na-central-1.media.plus.espn.com\r\n' +
        'Connection: close\r\n' +
        '\r\n',
      _keepAliveTimeout: 0,
      _onPendingData: [Function: nop],
      agent: [Agent],
      socketPath: undefined,
      method: 'GET',
      maxHeaderSize: undefined,
      insecureHTTPParser: undefined,
      path: '/token=exp=1673197509~id=e6eb0ded-d1c5-43f2-b2d9-ba04706d9e7b~data=607d1474-2088-4db4-9562-a0b09a9dd426~hash=24611bd38df92871e53f863e2054fb13bb5ba845/oma2/va01/espn/event/2023/01/07/Villarreal_vs_Real_Madrid_20230107_1673097341031/master_desktop_slide_aeng.m3u8',
      _ended: false,
      res: null,
      aborted: false,
      timeoutCb: null,
      upgradeOrConnect: false,
      parser: null,
      maxHeadersCount: null,
      reusedSocket: false,
      host: 'live-ftc-na-central-1.media.plus.espn.com',
      protocol: 'https:',
      _redirectable: [Circular *1],
      [Symbol(kCapture)]: false,
      [Symbol(kNeedDrain)]: false,
      [Symbol(corked)]: 0,
      [Symbol(kOutHeaders)]: [Object: null prototype],
      [Symbol(kUniqueHeaders)]: null
    },
    _currentUrl: 'https://live-ftc-na-central-1.media.plus.espn.com/token=exp=1673197509~id=e6eb0ded-d1c5-43f2-b2d9-ba04706d9e7b~data=607d1474-2088-4db4-9562-a0b09a9dd426~hash=24611bd38df92871e53f863e2054fb13bb5ba845/oma2/va01/espn/event/2023/01/07/Villarreal_vs_Real_Madrid_20230107_1673097341031/master_desktop_slide_aeng.m3u8',
    [Symbol(kCapture)]: false
  }
}
/app/services/manifest-helpers.ts:10
  url.startsWith('http') ? false : true;
      ^
TypeError: Cannot read properties of undefined (reading 'startsWith')
    at isRelativeUrl (/app/services/manifest-helpers.ts:10:7)
    at ChunklistHandler.<anonymous> (/app/services/manifest-helpers.ts:103:9)
    at Generator.next (<anonymous>)
    at fulfilled (/app/services/manifest-helpers.ts:5:58)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)

1 Like

Actually. Just took a look at the recording and it appears the stream never started. Just recorded 10 mins of the “intro page”.
Hopefully that helps.

What provider is this event with? Is more than 1 event doing this?

1 Like

Updated to latest version. I was wondering what the HLS timestamps is telling me. Is that a channels issue, a code issue, or is it nothing to be worried about.

On web gui, after starting, I had to hit the play button for stream to start.
On fire stick: got the event to start screen then had to exit and reselect the game to play

2023/01/07 15:41:00.254240 [TNR] Opened connection to M3U-ESPN for ch72 EPlusTV 72
2023/01/07 15:41:00.261466 [HLS] Starting live stream for channel 72 from 10.0.1.21
2023/01/07 15:41:00.775466 [HLS] ffmpeg: ch72-dANY-ip10.0.1.21-remux: [hls @ 0x9037840] Timestamps are unset in a packet for stream 1. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
2023/01/07 15:41:00.881123 [HLS] Probed live stream in 619.247122ms: h264 1280x720 progressive 80383bps
2023/01/07 15:41:04.270083 [TNR] Closed connection to M3U-ESPN for ch72 EPlusTV 72
2023/01/07 15:41:04.270117 [SNR] Buffer statistics for ch72 EPlusTV 72: buf=0% drop=0%
2023/01/07 15:41:05.951003 [HLS] Couldn't generate stream playlist for ch72-dANY-ip10.0.1.21: Stream stopped
2023/01/07 15:41:05.951100 [HLS] Stopping transcoder session ch72-dANY-ip10.0.1.21 (out: 13.744056s, finished: true)
2023/01/07 15:41:06.282011 [M3U] stream timestamps: EPlusTV 72: start_at=2023-01-07T15:35:56-06:00 end_at=2023-01-07T15:40:51-06:00 live_delay=9.466005529s
2023/01/07 15:41:06.282112 [TNR] Opened connection to M3U-ESPN for ch72 EPlusTV 72
2023/01/07 15:41:06.284635 [HLS] Starting live stream for channel 72 from 10.0.1.21
2023/01/07 15:41:07.412113 [HLS] ffmpeg: ch72-dANY-ip10.0.1.21-remux: [hls @ 0x9ab7980] Timestamps are unset in a packet for stream 1. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
2023/01/07 15:41:07.654157 [HLS] Probed live stream in 1.369163364s: h264 1280x720 progressive 7018440bps
2023/01/07 15:42:26.619803 [HLS] Stopping transcoder session ch72-dANY-ip10.0.1.21 (out: 1m24.984911s, finished: false)
2023/01/07 15:42:26.642565 [TNR] Closed connection to M3U-ESPN for ch72 EPlusTV 72
2023/01/07 15:42:26.642605 [SNR] Buffer statistics for ch72 EPlusTV 72: buf=0% drop=0%