Opened 22 months ago

Last modified 4 weeks 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 19 months ago.
M3U8 - XBMC LOG

Download all attachments as: .zip

Change History (33)

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

M3U8 - XBMC LOG

comment:9 Changed 19 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 19 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 19 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 19 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 19 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 19 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 19 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 19 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 19 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 19 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 19 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 19 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 19 months ago by benito2313 (previous) (diff)

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

Hello Cehoyos,

I was wondering if you had take à look yet?

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

comment:29 follow-up: Changed 4 weeks ago by Kii-lon

Hello everyone, i'm a new user here but I have a reason for wanting to post here.

I've been searching all over the internet for a way to say...decrypt an .wvm
file as I have gotten a hold of such a file from an foreign streaming site.
I never heard of an .wvm file until just a few days ago and been wondering how
to play and decode such a file...but can not.

After all that I have searched, I'm still have not found any way to remove the DRM
nor found any way to play back such a file.

Along my search I discovered this here thread when looking up if FFmpeg can play/decode an widevine .wvm file but there's no support for it at all. Indeed...

What captured my eye though is how someone mention that there's an Samsung Patch for FFmpeg that might have support to play/decrypt (I think) a widevine file.

It's hard guess and the original source for the Samsung FFmpeg file is gone so there's no way to find out if it's possible or not...

However, just a few minutes ago, I may...of found the Samsung FFmpeg source on an random git type site and I have no idea how to use such file or if it works but I found that the FFmpeg has the "widevine.c" file in an libav folder or somesort.

Anyways I hope you guys don't mind me posting this but here's the link to
file in a zip format that I uploaded on both "Uppit" and "Mega".

Uppit: Uppit - Samsung FFmpeg?
MEGA: MEGA - Samsung FFmpeg?

If any of you guys can be kind, please give the file a look and see if it's indeed the so-called Samsung Patch, I hope i'm not wrong haha.

If you want an WVM file to test well...the only WVM file is an
cartoon I got from that Foreign Streaming Site so here's the link to it:

Uppit: Uppit - .WVM file
MEGA: MEGA - .WVM file

You don't have to download the .wvm file but if you want to, here you go.
Sorry if this isn't of help or you don't appreciate these links i'm posting.

Still I hope it helps in the playback of Widevine protected media and maybe
this can be helpful in providing Widevine support in FFmepg...in the future! =)

That is all and your welcome.
May it be of help to y'all!

Last edited 4 weeks ago by Kii-lon (previous) (diff)

comment:30 in reply to: ↑ 29 Changed 4 weeks ago by cehoyos

Replying to Kii-lon:

However, just a few minutes ago, I may...of found the Samsung FFmpeg source on an random git type site

Is there a reason why you don't want to post the link?

comment:31 Changed 4 weeks ago by Kii-lon

Oh no there's no reason haha, here's the link to it if you want to check for yourself:
https://bitbucket.org/Mali_Laurent/ps50c550/src/b9dfcccdd349/Sources/SVN-r19089/?at=master

...I remember this site and it's no random git-related site.
I guess I couldn't remember when I found this FFmpeg.

Anywho you can look there Cehoyos. =)

comment:32 Changed 4 weeks ago by Kii-lon

Hey all, just posting back here again to know if anything new is happening
on widevine...

Still don't know how to use the src files but yeah, hopefully
it works with decoding/reading/playing back .wvm files hehe!

Also cehoyos, I posted the link to the original site
where I found the src files that contains the widevine
files and stuff. Just reminding you if you haven't looked at it yet...

Anyways i'm a going so see y'all later! =)
I'll be keeping an eye on this post/ticket hehe.

Note: See TracTickets for help on using tickets.