Hi,
I'm trying to play HLS live TV with Hollywood by downloading the .ts segments
one by one and playing them as local files. I've hit a problem I can't solve:
PlayVideo() hangs forever on a .ts segment.
Setup:
- Hollywood 11.0, Windows 64-bit
- AVCodec plugin: latest version
- Segment downloaded with DownloadFile(url$, {File = "proba.ts"}), ~1 MB,
about 5-6 seconds of video
Minimal script:
@VERSION 8,0
@REQUIRE "avcodec"
OpenVideo(1, "proba.ts")
DebugPrint("OpenVideo done")
PlayVideo(1, 0, 0)
DebugPrint("PlayVideo returned")
What happens:
- "OpenVideo done" is printed, so OpenVideo() succeeds without errors.
- "PlayVideo returned" is NEVER printed. The script just hangs on PlayVideo(),
the window stays black, and I have to kill it.
- The same happens if I remove @REQUIRE "avcodec" (so Hollywood uses the
Windows video renderer).
- The same script with a normal MP4 file works perfectly: it plays and
IsVideoPlaying() returns True for the whole duration.
- The .ts file plays fine in VLC.
Video info from the HLS master playlist: avc1.4d001f (H.264) video at 25 fps,
and the audio is declared as a separate rendition, so the segments probably
contain video only.
Is this a known limitation of the .ts/MPEG-TS support, or could it be a bug?
I can attach proba.ts if it helps.
Thanks!
PlayVideo() never returns with an MPEG-TS file that VLC plays fine (MP4 works)
-
xabierpayet
- Posts: 294
- Joined: Fri Feb 24, 2012 9:34 am
-
xabierpayet
- Posts: 294
- Joined: Fri Feb 24, 2012 9:34 am
Update 1
Additional tests:
- Opening the segment directly by URL with httpstreamer (UsehURL = True,
default file mode) behaves the same: OpenVideo() succeeds and PlayVideo()
never returns. With FileMode = False, OpenVideo() fails with:
File "geo2-br1_298483828.ts" not recognized as a video stream!
- So the hang is independent of the data source (local file vs. HTTP) and
of avcodec (same result with and without the plugin).
- A regular MP4 plays fine with the same script.
- VLC reports a single stream in the segment: H.264, 854x480, 25 fps, and no
audio stream at all (the audio is a separate HLS rendition).
- Opening the segment directly by URL with httpstreamer (UsehURL = True,
default file mode) behaves the same: OpenVideo() succeeds and PlayVideo()
never returns. With FileMode = False, OpenVideo() fails with:
File "geo2-br1_298483828.ts" not recognized as a video stream!
- So the hang is independent of the data source (local file vs. HTTP) and
of avcodec (same result with and without the plugin).
- A regular MP4 plays fine with the same script.
- VLC reports a single stream in the segment: H.264, 854x480, 25 fps, and no
audio stream at all (the audio is a separate HLS rendition).