Ticket #1793 (open enhancement)

Opened 7 months ago

Last modified 4 months ago

Widevine support

Reported by: benito2313 Owned by:
Priority: wish Component: avformat
Version: git-master Keywords: Widevine drm
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Hi there,

I was wondering if there will be any (future) support for the Widevine video streaming codec/protocol (video/x-widevine).

More and more online content providers start to use this method and it would be nice to have this codec/protocol supported?

 http://www.widevine.com/
 https://tools.google.com/dlpage/widevine

Attachments

m3u8 - xbmc.log Download (28.1 KB) - added by benito2313 4 months ago.
M3U8 - XBMC LOG

Change History

comment:1 follow-up: ↓ 4 Changed 7 months ago by cehoyos

  • Priority changed from important to wish

Could you add a little information about what this is?
The links you gave do not easily answer it, and the string "codec/protocol" in your original post does not make it better, either.

comment:2 Changed 7 months ago by benito2313

Ow sorry my bad, it was supposed to be Wish.

I dont know the technical detail, but i will asked somebody to comment on this.
He does understand the technical detail.

comment:3 Changed 7 months ago by Basje

I am not THE export, I did manage to get some streams locations. For instance this one:

 http://upc-nl-0041.upc.adaptive.level3.net/upc-nl/0041/01.m3u8, the content of the url I pasted here:

 http://pastebin.com/P6w3MeyZ

The problem is that they IP block the internal streams, but if you are on a allowed IP, XBMC still cannot open it.

On my Add-on's issue tracker you can find more XBMC logs:

 http://code.google.com/p/xot-uzg/issues/detail?id=369

comment:4 in reply to: ↑ 1 Changed 7 months ago by benito2313

Replying to cehoyos:

Could you add a little information about what this is?
The links you gave do not easily answer it, and the string "codec/protocol" in your original post does not make it better, either.

Did you have the chance yet to take a look, somebody i know posted a reply about widevine.
Thank you in advance.

comment:5 Changed 5 months ago by vehka

This old discussion talks about a Samsung patch for widevine:  http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-December/062689.html

Is this of any use?

comment:6 follow-up: ↓ 7 Changed 4 months ago by benito2313

Hello,

I was wondering if somebody had the time yet to take à look at adding widevine to ffmpeg lib?
It seems like more and more sites are using this, and also more and more countrys.

I would like to help if its needed to be tested.

Regards,

Benito2313

comment:7 in reply to: ↑ 6 Changed 4 months ago by cehoyos

Replying to benito2313:

I was wondering if somebody had the time yet to take à look at adding widevine to ffmpeg lib?

Was there any information posted here in the ticket what widevine is?

It seems like more and more sites are using this, and also more and more countrys.

Could you point us to a few examples? This may also explain above question...

comment:8 Changed 4 months ago by benito2313

In the netherlands we have a cable company that uses widevine to watch online live tv streaming. If i dont install it then i cannot watch it.

i have to download it on the following page:  https://tools.google.com/dlpage/widevine

The link of the url is the following:
 http://link.theplatform.com/s/Fly0AC/orpu1zFcfvsm?format=SMIL

One of the streams is pointing to the following url:
 http://upc-nl-0051.upc.adaptive.level3.net/upc-nl/0051/01.m3u8

In the following links you can see what widevine is:
Video optimization
 http://www.widevine.com/video_optimization.html

Multiplatform DRM for Over-the-Top Video Delivery
 http://www.widevine.com/drm.html

If you need more information just let me know

Changed 4 months ago by benito2313

M3U8 - XBMC LOG

comment:9 Changed 4 months ago by benito2313

In the above file you can find a xbmc log file when playning the strm file with the following url:  http://upc-nl-0051.upc.adaptive.level3.net/upc-nl/0051/01.m3u8

comment:10 Changed 4 months ago by cehoyos

  • Version changed from unspecified to git-master
  • Component changed from undetermined to avformat

Do I understand correctly that Widevine is a DRM solution for HLS?

comment:11 follow-up: ↓ 12 Changed 4 months ago by benito2313

Yes, i am à bit new to all of this so did not know how to explain What widevine does.
Is this the same as codec/protocol for video widevine? I think so but i am not sure.

Are you going to develop à support for widevine?

Best Regards,

Benito2313

comment:12 in reply to: ↑ 11 ; follow-up: ↓ 13 Changed 4 months ago by cehoyos

Replying to benito2313:

Yes, i am à bit new to all of this so did not know how to explain What widevine does.
Is this the same as codec/protocol for video widevine? I think so but i am not sure.

I think it is safe to say that widevine is not a codec.

comment:13 in reply to: ↑ 12 Changed 4 months ago by benito2313

Replying to cehoyos:

Replying to benito2313:

Yes, i am à bit new to all of this so did not know how to explain What widevine does.
Is this the same as codec/protocol for video widevine? I think so but i am not sure.

I think it is safe to say that widevine is not a codec.

Oke.

But are you going to develop the support for widevine?
If you need any testing, i could help. (I think :P).

comment:14 Changed 4 months ago by Basje

I am not 100% into Widevine, but it uses a specific way of retreiving LIVE video data. Similar to the m3u8, but as far as I can see, the first m3u8 URL only provides part of the streamdata and the rest is passed on in the video stream itself.

comment:15 Changed 4 months ago by benito2313

If you want to play the stream that i have put on before, you need a internetconnection of the cable company.
At least that is what they say, i cannot watch tv on the website if i am on an other provider. Dont know if this is helpfull but i thought you should know.

But other websites, and cable companies here, also use widevine, there for it would by handy if FFmpeg could support it.

By the way doing a great job FFMPEG

comment:16 Changed 4 months ago by benito2313

Cehoyos,

did you had time to take a look yet?
let me know if you need any help.

comment:17 Changed 4 months ago by cehoyos

Yes, I looked at it a week ago and asked if Widevine is a DRM implementation for HLS, your answer - if I understood correctly - was that it may be a codec. I am still not convinced that Widevine is a codec.

comment:18 Changed 4 months ago by benito2313

Thank you for your response

Yes, but it was a question and you answerd that its safe to say its not codec.
So its not a codec, but are you able to make a support for this?

and yes i think widevine is a drm implementation for hls.

Regards,

benito2313

comment:19 Changed 4 months ago by cehoyos

  • Keywords drm added
  • Status changed from new to open

I admittedly don't know much about DRM but I honestly wonder what kind of DRM this is that could be implemented in FFmpeg (which by definition makes every kind of DRM completely useless).

comment:20 Changed 4 months ago by benito2313

Could you also look at the part of the widevine: video optimizer.
 http://www.widevine.com/video_optimization.html
Could this also be implemented in ffmpeg?

Version 0, edited 4 months ago by benito2313 (next)

comment:21 Changed 4 months ago by Basje

I think that Widevine has multiple forms of DRM. Some are IP restrictions or GEO location restrictions. Those don't use any DRM encryption, so those streams should be an option for ffmpeg?

comment:22 follow-up: ↓ 23 Changed 4 months ago by benito2313

Cehoyos,
when i post the request on the XMBC forum, they are talking about codec?
 http://forum.xbmc.org/showthread.php?tid=152387&pid=1301265#pid1301265

i think that its not the drm part of it but the video optimization:  http://www.widevine.com/video_optimization.html
You can download it from the following link:  https://tools.google.com/dlpage/widevine...installed=

When i open the .exe file with 7zip i can see a few dll files, dont know you can do something with it.

comment:23 in reply to: ↑ 22 Changed 4 months ago by cehoyos

Replying to benito2313:

You can download it from the following link:  https://tools.google.com/dlpage/widevine...installed=

This does not appear to be a valid link.

comment:24 Changed 4 months ago by benito2313

comment:25 Changed 4 months ago by benito2313

Hello Cehoyos,

I was wondering if you had take à look yet?

comment:27 Changed 4 months ago by cehoyos

Widevine consists of a dll that the demuxer (or protocol) has to use to get an unencrypted stream (afaict).

There are probably three ways to implement this:

Use Samsung's FFmpeg patch to allow libavformat to use (an old version?) of the library. This may be a violation of FFmpeg (and Samsung) copyright, I don't know where the source code could be found and the patch may not work with current Widevine.

Write a new wrapper: I don't think you would be allowed to distribute the resulting FFmpeg binary.

Reverse engineer Widevine: This is ok from FFmpeg pov, but may get the developer into trouble.

I would tend to close this ticket as wontfix but since recently a similar ticket was reopened, we can also leave the enhancement request open.

comment:28 Changed 4 months ago by benito2313

Thanks Cehoyos for taking a look.

If i may ask which similar ticket is it?
Than i can take a look.

Note: See TracTickets for help on using tickets.