INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Problems With Serving Video to Clients in MPEG/TS format  (Read 4153 times)

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5240
  • "Linux Merit Badge" Recipient
Problems With Serving Video to Clients in MPEG/TS format
« on: August 26, 2017, 09:01:17 am »

I have a JRiver server on a windows box, and four or five linux clients scattered around the house.  Many of the clients are on wifi or have limited bandwidth, so I have the media network client options set to convert video to MPEG-TS 720p auto-frame rate.  Until recently this worked great.  I hadn't used one of these satelite systems to watch a video in a few weeks, but suddenly got a "something went wrong with playback" no matter what I tried to play.  Audio works fine, and if I change the client video conversion setting to any of the H264 options it works fine.  If I transfer over the original video file, it plays fine.  I tested a few more conversion options and all of the MPEG based ones seem to fail.  I'm not sure if the issue is on the windows server side, or the linux client side, but I wanted to ask if this is a known issue or if anyone else has observed it. I could setup a windows client for testing if that would be helpful.

I haven't bisected to see which version this first appeared, but it worked with the early MC23 builds.  I've tested 23.0.36 and 23.0.41 on the windows server, and 23.0.36 and 23.0.21 on the linux clients and all combinations of those builds exhibit the issue.  I can try and go farther back if that would be helpful.
Logged

mattkhan

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 4271
Re: Problems With Serving Video to Clients in MPEG/TS format
« Reply #1 on: August 27, 2017, 10:17:15 am »

I just noticed a similar problem with a 41 windows server talking to a 36 linux client, in my case the client is using H264-TS 1080p and switching to H264-TS 1080p AutoFPS was enough to get it working. The former option definitely used to work a few weeks ago. Your option (MPEG-TS 720p auto) works fine for me atm.
Logged

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5240
  • "Linux Merit Badge" Recipient
Re: Problems With Serving Video to Clients in MPEG/TS format
« Reply #2 on: August 27, 2017, 11:20:52 am »

Weird.  I wonder what could be going on with that?  Do you have a windows client to test whether it works there?
Logged

mattkhan

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 4271
Re: Problems With Serving Video to Clients in MPEG/TS format
« Reply #3 on: August 27, 2017, 11:51:44 am »

no errors in any of those options with a 42 windows client
Logged

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5240
  • "Linux Merit Badge" Recipient
Re: Problems With Serving Video to Clients in MPEG/TS format
« Reply #4 on: August 27, 2017, 12:21:06 pm »

no errors in any of those options with a 42 windows client

So it's probably linux client related and may be related to the new streaming refinements
Logged

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13931
Re: Problems With Serving Video to Clients in MPEG/TS format
« Reply #5 on: August 29, 2017, 09:02:17 am »

All builds of 23 have the new internet reader.
If you could pin down a specific build when you started seeing issues it would help.
Logged

Hendrik

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 10969
Re: Problems With Serving Video to Clients in MPEG/TS format
« Reply #6 on: August 29, 2017, 09:11:16 am »

I would be very surprised if the AutoFPS variant of a format plays, but the fixed-fps variant doesn't. They are practically identical otherwise.
Logged
~ nevcairiel
~ Author of LAV Filters

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13931
Re: Problems With Serving Video to Clients in MPEG/TS format
« Reply #7 on: August 29, 2017, 09:27:58 am »

I assume you are connecting with a linux client using library server to a windows server and setting the conversion in the linux client options?
Logged

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13931
Re: Problems With Serving Video to Clients in MPEG/TS format
« Reply #8 on: August 29, 2017, 09:37:32 am »

No luck reproducing this with the latest builds of MC 23 for linux and windows. All of the MPEG-TS video conversions and H264-TS conversions I try work fine.
Logged

mattkhan

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 4271
Re: Problems With Serving Video to Clients in MPEG/TS format
« Reply #9 on: August 29, 2017, 10:21:58 am »

I assume you are connecting with a linux client using library server to a windows server and setting the conversion in the linux client options?
yes
Logged

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5240
  • "Linux Merit Badge" Recipient
Re: Problems With Serving Video to Clients in MPEG/TS format
« Reply #10 on: August 29, 2017, 04:57:45 pm »

Here are two logs, one illustrating the failed mpeg-ts autofps playback (17-46-00) and one showing about 10 seconds of successful playback via h264 auto-fps (17-49-52)
Logged

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72536
  • Where did I put my teeth?
Re: Problems With Serving Video to Clients in MPEG/TS format
« Reply #11 on: August 29, 2017, 06:26:55 pm »

Bob is probably out for the rest of the week.  Thanks for the logs.
Logged

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13931
Re: Problems With Serving Video to Clients in MPEG/TS format
« Reply #12 on: September 07, 2017, 09:24:21 am »

Still works for me with your exact conversion from the Log.
Looking at the log you sent, it looks like the conversion is failing.
Does the windows machine have an internet connection so it can download the converter?
What is the file source format (look at the compression field on the server).
Logged

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5240
  • "Linux Merit Badge" Recipient
Re: Problems With Serving Video to Clients in MPEG/TS format
« Reply #13 on: September 07, 2017, 06:03:34 pm »

Still works for me with your exact conversion from the Log.
Looking at the log you sent, it looks like the conversion is failing.
Does the windows machine have an internet connection so it can download the converter?
What is the file source format (look at the compression field on the server).

The source file is MPEG-2/AAC, and it plays perfectly on the windows machine.  The windows machine also has an internet connection, so I'm not sure what the issue could be. I'll keep experimenting and see if I can find something weird going on.

Also, not sure if this is related, but all attempts to play video in the new panel video player also fail (attempting to use the server as the panel host), so that's consistent with some kind of issue with the server failing to transcode. 

EDIT: Ok I just tried to directly convert a file on the server to mpeg2-ts and the conversion failed instantly.  Here's a fresh minimal log that shows the server failing:
Code: [Select]
0003187: 10136: General: CMCResourceHelper::GetIsModalPopupShowing: Menu showing
0003203: 10136: General: CMainUIWnd::Resize: Start
0003218: 10136: General: CMainUIWnd::Resize: Finish (15 ms)
0004468: 4320: Database: CDataHolder::Load: Field: Playback Info; Files: 301956; Pointer bytes: 38348; Data bytes: 16440; Elapsed ms: 0.430
0004468: 4320: Encoders: CVideoConverterDX::OpenFile: Start
0004468: 4320: Encoders: CVideoConverterDX::OpenFile: Finish (0 ms)
0004468: 10136: General: CMainUIWnd::Resize: Start
0004484: 10136: General: CMainUIWnd::Resize: Finish (16 ms)
0004515: 10136: General: CMainUIWnd::Resize: Start
0004515: 10136: General: CMainUIWnd::Resize: Finish (0 ms)
0004531: 10136: General: CMCUICore::SystemPowerManager_UpdateActions: Start
0004531: 10136: General: CMCUICore::SystemPowerManager_UpdateActions: UI Mode: -999; Playing: 0
0004531: 10136: General: CMCUICore::SystemPowerManager_UpdateActions: Finish (result: 0) (0 ms)
0004562: 804: Encoders: 0x324 CVideoConverterDX::Thread: Start
0004578: 804: Encoders: CVideoConverterDX::BuildGraph: Start
0004578: 804: Playback: DShowVideoGraph::Render: Start
0004578: 804: Playback: DShowVideoGraph::ConnectSourceAndSplitter: Start
0004593: 804: Playback: DShowVideoGraph::ConnectSourceAndSplitter: Finish (15 ms)
0004593: 804: Playback: CStreamSelectionList::FindStreams: Start
0004593: 804: Playback: CStreamSelectionList::UpdateStreamsList: Start
0004593: 804: Playback: CStreamSelectionList::UpdateStreamsList: Number of streams: 2
0004593: 804: Playback: CStreamSelectionList::UpdateStreamsList: Stream 0, Name V: mpeg2 main, yuv420p, 704x480 [default], Group 0, flag 3, lcid 0x0, hr = 0x0
0004609: 804: Playback: CStreamSelectionList::UpdateStreamsList: Stream 1, Name A: ac3, 48000 Hz, stereo, 192 kb/s [default], Group 1, flag 3, lcid 0x0, hr = 0x0
0004609: 804: Playback: CStreamSelectionList::UpdateStreamsList: Finish (16 ms)
0004609: 804: Playback: CStreamSelectionList::FindStreams: Finish (16 ms)
0004609: 804: Playback: DShowVideoGraph::ConnectDecoders: Start
0004609: 804: Playback: DShowVideoGraph::ConnectAudioDecoder: Start
0004609: 804: Playback: DShowVideoGraph::ConnectAudioDecoder: Added LAV audio decoder: 1554BD6C
0004609: 804: Playback: DShowVideoGraph::ConnectDecoder: Start
0004609: 804: Playback: DShowVideoGraph::ConnectDecoder: Output pin 1: 098F5644; Output pin 2: 00000000; Decoder: 1554BD6C; Media type: Audio
0004609: 804: Playback: DShowVideoGraph::ConnectDecoderPin: Start
0004609: 804: Playback: DShowVideoGraph::ConnectDecoderPin: Success
0004609: 804: Playback: DShowVideoGraph::ConnectDecoderPin: Finish (0 ms)
0004609: 804: Playback: DShowVideoGraph::ConnectDecoder: Finish (0 ms)
0004609: 804: Playback: DShowVideoGraph::ConnectAudioDecoder: Finish (0 ms)
0004609: 804: Playback: DShowVideoGraph::ConnectVideoDecoder: Start
0004609: 804: Playback: CSubtitleEngine::CSubtitleEngine: Start
0004609: 804: Playback: CSubtitleEngine::CSubtitleEngine: Finish (0 ms)
0004609: 804: Playback: DShowVideoGraph::ConnectVideoDecoder: Added LAV video decoder: 133C30D4
0004609: 804: Playback: DShowVideoGraph::ConnectDecoder: Start
0004609: 804: Playback: DShowVideoGraph::ConnectDecoder: Output pin 1: 098F7B74; Output pin 2: 00000000; Decoder: 133C30D4; Media type: Video
0004609: 804: Playback: DShowVideoGraph::ConnectDecoderPin: Start
0004609: 804: Playback: DShowFilterConf::InternalEnableAcceleration: Start
0004703: 804: Playback: DShowFilterConf::InternalEnableAcceleration: Enable DXVA2 Copy Back (result: 1)
0004703: 804: Playback: DShowFilterConf::InternalEnableAcceleration: Finish (94 ms)
0004734: 804: Playback: DShowFilterConf::InternalEnableAcceleration: Start
0004750: 804: Playback: DShowFilterConf::InternalEnableAcceleration: Enable DXVA2 Copy Back (result: 1)
0004750: 804: Playback: DShowFilterConf::InternalEnableAcceleration: Finish (16 ms)
0004750: 804: Playback: DShowVideoGraph::ConnectDecoderPin: Success
0004750: 804: Playback: DShowVideoGraph::ConnectDecoderPin: Finish (141 ms)
0004750: 804: Playback: DShowVideoGraph::ConnectDecoder: Finish (141 ms)
0004750: 804: Playback: DShowVideoGraph::ConnectVideoDecoder: Finish (141 ms)
0004750: 804: Playback: DShowVideoGraph::ConnectDecoders: Finish (141 ms)
0004750: 804: Playback: DShowVideoGraph::RenderForTranscoding: Start
0004750: 804: Encoders: CEncoderFilter::CEncoderFilter: Start
0004750: 804: Encoders: CEncoderFilter::CEncoderFilter: Finish (0 ms)
0004750: 804: Encoders: CFFmpegTranscoder::SetInputVideoFormat: Input Video Format changed to 704x480 (1.333 AR)
0004750: 804: Encoders: CEncoderFilter::Open: Start
0004750: 804: Encoders: CFFmpegTranscoder::Open: Start
0004750: 804: Encoders: CFFmpegTranscoder::CreateOutputFormat: Start
0004750: 804: Encoders: CFFmpegTranscoder::CreateOutputFormat: Finish (0 ms)
0004750: 804: Encoders: CFFmpegTranscoder::CreateVideoStream: Start
0004750: 804: Encoders: CFFmpegTranscoder::AVLog: [mpeg2video @ 1E482520] removing common factors from framerate
0004750: 804: Encoders: CFFmpegTranscoder::AVLog: [mpeg2video @ 1E482520] MPEG1/2 does not support 25000/417 fps
0004750: 804: Encoders: CFFmpegTranscoder::CreateVideoStream: Opening video codec failed
0004750: 804: Encoders: CFFmpegTranscoder::CreateVideoStream: Finish (0 ms)
0004750: 804: Encoders: CFFmpegTranscoder::Open: Creating video stream failed
0004750: 804: Encoders: CFFmpegTranscoder::Open: Finish (0 ms)
0004750: 804: Encoders: CEncoderFilter::Open: Result:
0004750: 804: Encoders: CEncoderFilter::Open: Finish (0 ms)
0004750: 804: Playback: DShowVideoGraph::RenderForTranscoding: Finish (0 ms)
0004750: 804: Playback: DShowVideoGraph::Render: Rendering success: 0
0004750: 804: Playback: DShowVideoGraph::Render: Finish (172 ms)
0004750: 804: Encoders: CVideoConverterDX::BuildGraph: Rendering transcoding graph failed.
0004750: 804: Encoders: CVideoConverterDX::BuildGraph: Finish (172 ms)
0004859: 804: Encoders: CEncoderFilter::~CEncoderFilter: Start
0004859: 804: Encoders: CEncoderFilter::~CEncoderFilter: Finish (0 ms)
0004859: 804: Encoders: CFFmpegTranscoder::~CFFmpegTranscoder: Start
0004859: 804: Encoders: CFFmpegTranscoder::~CFFmpegTranscoder: Closing video stream
0004859: 804: Encoders: CFFmpegTranscoder::~CFFmpegTranscoder: Closing audio stream
0004859: 804: Encoders: CFFmpegTranscoder::~CFFmpegTranscoder: Closing file
0004859: 804: Encoders: CFFmpegTranscoder::~CFFmpegTranscoder: Closing context
0004859: 804: Encoders: CFFmpegTranscoder::~CFFmpegTranscoder: Finish (0 ms)
0004859: 804: Playback: CSubtitleEngineDX::~CSubtitleEngineDX: Start
0004859: 804: Playback: CSubtitleEngineDX::~CSubtitleEngineDX: Finish (0 ms)
0004859: 804: Encoders: 0x324 CVideoConverterDX::Thread: Finish (297 ms)
0004968: 4320: Encoders: MFTranscoder::Shutdown: Start
0004968: 4320: Encoders: MFTranscoder::Shutdown: Finish (0 ms)
0004984: 10136: General: CMCUICore::SystemPowerManager_UpdateActions: Start
0004984: 10136: General: CMCUICore::SystemPowerManager_UpdateActions: UI Mode: -999; Playing: 0
0004984: 10136: General: CMCUICore::SystemPowerManager_UpdateActions: Finish (result: 0) (0 ms)
0006250: 10136: General: CMainUIWnd::Resize: Start
0006250: 10136: General: CMainUIWnd::Resize: Finish (0 ms)
0007171: 10136: TV: CTVRecordingManager::Process: Start
0007171: 10136: TV: CTVRecordingDatabase::GetActions: returning 0 actions
0007171: 10136: TV: CTVRecordingManager::PerformBackgroundTasks: checking program cleanup timer.  Last cleanup 0.0416649053087914 hours ago
0007171: 10136: TV: CTVRecordingManager::Process: returning because TV device list has not been initialized, and there are no recording actions
0007171: 10136: TV: CTVRecordingManager::Process: Finish (0 ms)
0007484: 10136: General: CMCResourceHelper::GetIsModalPopupShowing: Menu showing
0008843: 10136: General: CMCResourceHelper::GetIsModalPopupShowing: Menu showing
0010093: 10136: General: CMCResourceHelper::GetIsModalPopupShowing: Main window disabled
0010828: 10136: General: CMCUICore::SystemPowerManager_UpdateActions: Start
0010828: 10136: General: CMCUICore::SystemPowerManager_UpdateActions: UI Mode: -999; Playing: 0
0010828: 10136: General: CMCUICore::SystemPowerManager_UpdateActions: Finish (result: 0) (0 ms)
Logged

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13931
Re: Problems With Serving Video to Clients in MPEG/TS format
« Reply #14 on: September 07, 2017, 06:20:16 pm »

The source file is MPEG-2/AAC, and it plays perfectly on the windows machine.  The windows machine also has an internet connection, so I'm not sure what the issue could be. I'll keep experimenting and see if I can find something weird going on.

Also, not sure if this is related, but all attempts to play video in the new panel video player also fail (attempting to use the server as the panel host), so that's consistent with some kind of issue with the server failing to transcode.
I'll check that format tomorrow.
As for Panel, it's not currently doing any transcoding for video.
Logged

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5240
  • "Linux Merit Badge" Recipient
Re: Problems With Serving Video to Clients in MPEG/TS format
« Reply #15 on: September 07, 2017, 06:24:23 pm »

I just did some more testing (see my edit above). The server is just failing to convert anything to MPEG-TS regardless of source, even when doing a local conversion, so it's 100% a server-side issue.  I just can't figure out why its failing now all of a sudden.
Logged

Hendrik

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 10969
Re: Problems With Serving Video to Clients in MPEG/TS format
« Reply #16 on: September 07, 2017, 06:29:27 pm »

I use transcoding to MPEG-TS on a daily basis from a Windows server (to stream to my bedroom tablet), so its definitely still working in general.
Not sure what could cause this to break.

It seems to be complaining about the framerate in autofps mode, which seems a bit odd. 25000/417, or 59.95 fps. Maybe it should be trying to round the framerates to something more "standard" if that codec is limited to those.
Logged
~ nevcairiel
~ Author of LAV Filters

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5240
  • "Linux Merit Badge" Recipient
Re: Problems With Serving Video to Clients in MPEG/TS format
« Reply #17 on: September 07, 2017, 06:31:54 pm »

Sure, here's a minimal server log reproducing it with a local conversion failure :

I can't find any mpeg or ts files on the server that won't play, but all video files I've tried fail conversion to mpeg-ts for some reason.
Logged

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5240
  • "Linux Merit Badge" Recipient
Re: Problems With Serving Video to Clients in MPEG/TS format
« Reply #18 on: September 07, 2017, 06:37:52 pm »

I use transcoding to MPEG-TS on a daily basis from a Windows server (to stream to my bedroom tablet), so its definitely still working in general.
Not sure what could cause this to break.

It seems to be complaining about the framerate in autofps mode, which seems a bit odd. 25000/417, or 59.95 fps. Maybe it should be trying to round the framerates to something more "standard" if that codec is limited to those.

H264 auto-fps works fine FWIW, it's just mpeg-ts auto-FPS that's borked here.  I also noticed that the server has plain MP4 conversion options under convert format, but the client on the fly converstion options don't include MP4 for some reason?  Not related to this problem, just noticed and thought it was odd.
Logged

Hendrik

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 10969
Re: Problems With Serving Video to Clients in MPEG/TS format
« Reply #19 on: September 08, 2017, 03:46:32 am »

This particular failure should be fixed in the next build, we'll now match the framerates to the ones supported by the mpeg2 encoder (which in this case was just a small inaccuracy, but I reckon it could also be entirely unsupported).
Logged
~ nevcairiel
~ Author of LAV Filters
Pages: [1]   Go Up