Opened 6 years ago

Closed 6 years ago

#11332 closed Bug Report - General (Fixed)

Http live stream result in empty video (only audio) with vlc 2.0.5-6

Reported by: Sastie@… Owned by: cpinkham
Priority: minor Milestone: unknown
Component: MythTV - HTTP Streaming Version: 0.26-fixes
Severity: medium Keywords:
Cc: Ticket locked: no


Starting an http live stream of.a hdhomerun mpeg2 + ac3 file via the services api example page with all defaults selected. Playing the file works in the jwplayer however attempting to play the m3u8 in vlc 2.0.5-6 results in only audio, no video track. Attempted to play with other external players resulted in the same behavior (or plain cannot play file error) This is on mythtv 0.26 with latest code from hit with enable-x264

Change History (3)

comment:1 Changed 6 years ago by sastie@…

I turns out to be quite simple, it seems that it fails to read the m3u8 file properly (maybe some formatting issue of the streaminfo entrie). If i go in the m3u8 file and grab the "av" file name and use that as the file to request the streaming works.

comment:2 Changed 6 years ago by sastie@…

Found the issue problem and it was not related to the how the live stream was started in the serviceapi. The documentation mentions that you only need to set one the video sizes (width vs height) and that the system will set the proper size for the missing dimension to keep the aspect ratio correct. However the problem is the following: add a livestream via serviceapi, do not set the width only the height, livestreaminfo data is returned with a m3u8 filename of <your video.mpg>.0x720_800kV_64kA.m3u8 however the server generates a file named <your video.mpg>.1280x720_800kV_64kA.m3u8 As you can see it generates a different filename so queries will not return a proper value. Now a subsequent call to getLiveStream with the streamid will return the proper url.

comment:3 Changed 6 years ago by cpinkham

Resolution: Fixed
Status: newclosed

This should have been fixed by 9c3f95699 in master and 7f71e0246 in 0.26-fixes. Now we don't fill in the URL's until we have opened the file, know the source file aspect ratio, and have calculated the missing value. Because the add command is non-blocking, the client is responsible for calling GetLiveStream? until the URLs have been filled in.

Note: See TracTickets for help on using tickets.