Opened 19 months ago

Last modified 15 months ago

#1793 open enhancement

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 (1)

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

Download all attachments as: .zip

Change History (29)

comment:1 follow-up: Changed 19 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 19 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 19 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 18 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 16 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: Changed 16 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 16 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 16 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 16 months ago by benito2313

M3U8 - XBMC LOG

comment:9 Changed 16 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 16 months ago by cehoyos

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

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

comment:11 follow-up: Changed 16 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: Changed 16 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 16 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 16 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 16 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 15 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 15 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 15 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 15 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 15 months ago by benito2313

Could you also look at the part of the widevine: video optimizer.
http://www.widevine.com/video_optimization.html
if i want to play the stream on the internet site then i need to download it at this link: https://tools.google.com/dlpage/widevine.
And this is the part of video optimization
Could this also be implemented in ffmpeg?

Last edited 15 months ago by benito2313 (previous) (diff)

comment:21 Changed 15 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: Changed 15 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 15 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:25 Changed 15 months ago by benito2313

Hello Cehoyos,

I was wondering if you had take à look yet?

comment:27 Changed 15 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 15 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.