Page 1 of 1

Streamlink pipe: H264 profile null, levels [{}] and null ref

PostPosted: Sun Nov 10, 2019 1:33 pm
by mihai
Hi,

I'm trying to watch the NASA Public-Education live stream on my non-smart Samsung TV, and for that I have modified the ffmpeg.bat script to change what it's executing based on the corresponding URL:
  Code:
streamlink ustream.tv/nasahdtv best -O | %~dp0\ffmpeg.exe %ALL_PARAMS:ustream.tv/nasahdtv=pipe:0%

This works for "Check Stream URL" in Serviio Console, so I save the online source. However, the station does not get listed in the Online sources on my TV. I can see this in the verbose logs:
  Code:
2019-11-09 23:41:04,433 DEBUG [FFmpegMetadataRetriever] Retrieving H264 profile/level for file 'ustream.tv/nasahdtv'
2019-11-09 23:41:04,433 DEBUG [FFMPEGWrapper] Invoking FFMPEG to retrieve H264 header for file: ustream.tv/nasahdtv
2019-11-09 23:41:04,433 DEBUG [ProcessExecutor] Starting "c:\Progra~1\Serviio\lib\ffmpeg.bat" -analyzeduration 10000000 -i ustream.tv/nasahdtv -frames:v 1 -c:v copy -f h264 -bsf:v h264_mp4toannexb -an pipe:
2019-11-09 23:41:06,433 DEBUG [MediaItemDAOImpl] Getting counts of media items by type
2019-11-09 23:41:10,314 DEBUG [FFmpegMetadataRetriever] File 'ustream.tv/nasahdtv' has H264 profile null, levels [{}] and null ref frames

This seems to be very close to working.

What am I doing wrong though?

Thanks in advance,
Mihai

Re: Streamlink pipe: H264 profile null, levels [{}] and null

PostPosted: Mon Nov 11, 2019 1:00 pm
by mihai
@zip, any ideas?

Re: Streamlink pipe: H264 profile null, levels [{}] and null

PostPosted: Thu Nov 14, 2019 9:17 am
by mihai
Injecting an extra ffmpeg instance into the path seems to get closer to getting this to work, in that the channel now appears in the Online list on the TV, but it's not playable:
  Code:
streamlink ustream.tv/nasahdtv best -O | %~dp0\ffmpeg.exe -i pipe:0 -c copy -f mpegts - | %~dp0\ffmpeg.exe %ALL_PARAMS:ustream.tv/nasahdtv=pipe:0%

Thoughts, anyone?

Re: Streamlink pipe: H264 profile null, levels [{}] and null

PostPosted: Wed Nov 20, 2019 9:35 pm
by zip
I'd try to use this differently. If streamlink supports just outputting the media URLs, instead of playing it, you could run the command and then add the URL into Serviio as a live stream.

Alternatively you could make it even better by writing a simple Groovy plugin for Serviio that would execute streamlink, get the urls and pass them to Serviio.

Re: Streamlink pipe: H264 profile null, levels [{}] and null

PostPosted: Thu Nov 21, 2019 8:42 am
by mihai
Yes, I know, but for this particular stream, the stream URL can't be extracted:
  Code:
streamlink --stream-url ustream.tv/nasahdtv best
error: The stream specified cannot be translated to a URL

Any other suggestions? Thanks.