吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 45412|回复: 138
收起左侧

[其他转载] 【教程】php实现百度网盘视频解析

    [复制链接]
逗啊逗 发表于 2017-1-10 14:35
本帖最后由 逗啊逗 于 2017-1-10 15:01 编辑

    有段时间没发帖了,来一篇百度网盘视频解析的教程。    感觉教程不太难,就用图文的方式吧:
    001.png
    首先,登陆自己的百度网盘,随便打开一个视频播放。
     F12,点一下network,在下面搜一下文件名,找到streaming?path=..的这个文件,
这个就是百度网盘云端转码后的视频,格式m3u8的,有这个文件就可以播放了。
     用代码实现以下读取这个文件:
[PHP] 纯文本查看 复制代码
<?php
header("Content-Type:text/html;charser=UTF-8");
// 初始化 
$curl = curl_init(); 
// 要访问的网址 
curl_setopt($curl, CURLOPT_URL, 'https://pan.baidu.com/api/streaming?path=%2Fvideo%2F%E9%AC%BC%E5%90%B9%E7%81%AF%E4%B9%8B%E7%B2%BE%E7%BB%9D%E5%8F%A4%E5%9F%8E%2FEP15.mp4&type=M3U8_FLV_264_480&app_id=250528&t=0.32432524021714926'); 
// 设置来路 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
// 降结果保存在$result中 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
// 降结果保存在$result中 
$result = curl_exec($curl); 
// 关闭 
curl_close($curl); 

echo $result;

?>

    出现错误提示{"errno":-6,"request_id":221785833888917825}说明需要添加cookie
004.png

   需要在代码中填上自己的cookie:
[PHP] 纯文本查看 复制代码
$header[]= 'Cookie:PANWEB=1; bdshare_firstime=1------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------';


   再试一下:
005.png
   好了。
   尝试播放一下这个文件
   003.png
                发现播放不了,这是什么原因呢?就是上面这个crossdomain.xml文件,在跨域调用资源的时候,只允许文件里面的域名访问(框起来的就是),这时候播放就不能用自己的播放器了可以选择百度自己的播放器:http://ubmcmms.baidu.com/media/v1/0f000AsdQWMkVLkX374w40.swf?file=
006.png
还是播放不了,原因是我们自己的网站没有crossdomain.xml文件,在网站根目录传一个crossdomain.xml文件允许所有域名访问。
[XML] 纯文本查看 复制代码
<?xml version="1.0"?>
<cross-domain-policy>
  <allow-access-from domain="*" />
</cross-domain-policy>
看看这回这么样:
007.png

成功了。   
到这里基本就结束了,收尾工作就是写一个通用的代码,想播放那个视频就播放那个视频,回过头看最开始那个streaming文件的地址https://pan.baidu.com/api/streaming?path=%2Fvideo%2F%E9%AC%BC%E5%90%B9%E7%81%AF%E4%B9%8B%E7%B2%BE%E7%BB%9D%E5%8F%A4%E5%9F%8E%2FEP15.mp4&type=M3U8_FLV_264_480&app_id=250528&t=0.32432524021714926。
url解码一下:
https://pan.baidu.com/api/streaming?path=/video/鬼吹灯之精绝古城/EP15.mp4&type=M3U8_FLV_264_480&app_id=250528&t=0.32432524021714926  
红字部分就是网盘的文件地址,所以改一下代码,就可以变成通用的解析,就是把地址改成http://pan.baidu.com/api/streaming?path='.$_GET['id'].'&type=M3U8_FLV_264_480&app_id=250528&t=0.18165189120918512
这样就算完成了。
源码放在下面:
使用方法就是先把cookie改成自己的,在把文件传到自己的空间就行,本地也可以,不过需要php环境,然后记得修改crossdomain.xml,没有的可以按照我上面写的新建一个,调用就直接浏览器输入http://你的地址/baidu?id=/百度文件的位置/文件.mp4
播放则是输入http://ubmcmms.baidu.com/media/v1/0f000AsdQWMkVLkX374w40.swf?file=http://你的地址/baidu.php?id=/百度文件的位置/文件.mp4


教程结束。
另外:这是电脑端播放,手机端提取到m3u8文件就可以直接播放了,不用额外的操作了。

源码.zip (565 Bytes, 下载次数: 902)
   

免费评分

参与人数 27吾爱币 +26 热心值 +24 收起 理由
沐白~老大 + 1 我很赞同!
duantianhen + 1 谢谢@Thanks!
lloveyoutjq + 1 现在好像不行了 为什么打开是空白的?
ZERO丶AI + 1 用心讨论,共获提升!
牛奶不要辣 + 1 + 1 我直接调用m3u8不行啊?求m3u8的调用播放代码,谢谢
lilu570137035 + 1 现在是不是不行了,我看COOKIE开头都不一样了
dfxhua + 1 + 1 设置了允许所有域名访问,还是不能播放
hex7 + 1 + 1 谢谢@Thanks!
aide315 + 1 + 1 没有说明有证书的问题解决方法
secflow + 1 + 1 谢谢@Thanks!
zackyj + 1 + 1 谢谢@Thanks!
fanbo2dai + 1 + 1 用心讨论,共获提升!
破浪前行 + 1 + 1 多谢指点!牛X 思路很好!
Bakadesuka + 1 + 1 用心讨论,共获提升!
无情666666 + 1 + 1 热心回复!
ugvjewxf + 1 + 1 手机端好像播放不了,手机端怎么搞?
慕浟佳〃井少年 + 2 + 1 我很赞同!
帅的谁爱 + 2 + 1 喜欢技术控,哈哈
ink-Crytsal + 1 + 1 谢谢@Thanks!
tongningmei + 1 + 1 相当漂亮的教程,谢谢分享!
hawk18 + 1 我很赞同!
ZHEyang + 1 + 1 谢谢@Thanks!
狼性人生 + 1 + 1 我很赞同!
懒惰的上帝 + 3 + 1 太深奥 围观中
叫我小王叔叔 + 1 我很赞同!
gutian + 1 用心讨论,共获提升!
梦飘远 + 1 + 1 热心回复!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

qdwangzhenyu 发表于 2018-1-25 10:36
在此帮大神标记一下手机web页面不能播放的问题。
经过我接近70个小时不眠不休的刻苦公关,终于在网盘的源码中找到了答案。不自己用脑袋想,只是生搬硬套大神引导教程的人,跟我一样没时间找女朋友。
在网盘源码中的https://pan.baidu.com/box-static/file-widget-1/pkg/videoPlay-all_75bc42b.js中是有代码逻辑可查的。
this.type = o.supportsNativeHls ? "application/x-mpegURL" : "application/x-flvURL",
this.BPSType = o.supportsNativeHls ? "M3U8_AUTO_480" : "M3U8_FLV_264_480",
因为电脑对NativeHls的支持少,而手机已经放弃flash来。所以百度的大神来了这一招。。。。。
手机上的连接用该是https://pan.baidu.com/api/streaming?path={0}&app_id=250528&clienttype=0&type=M3U8_AUTO_480&{2}
而电脑上的连接应该是https://pan.baidu.com/api/streaming?path={0}&app_id=250528&clienttype=0&type=M3U8_FLV_264_480&{2}

手机上的播放代码可以直接写成
    <video id="html5player_html5_api"   autoplay="autoplay" preload="none" style="background-color:black"   width="320" height="240">
        <source src="https://pan.baidu.com/api/streaming?path={0}&app_id=250528&clienttype=0&type=M3U8_AUTO_480&{2}" type="application/x-mpegURL"></video>
注意" type="application/x-mpegURL"

在此在此感谢大神的无私分享和付出
星光灿烂猪八戒 发表于 2017-1-10 14:50
6666666666不错。

免费评分

参与人数 1吾爱币 +1 收起 理由
天心易老 + 1 请勿灌水,提高回帖质量是每位会员应尽的义务!

查看全部评分

冰冰云 发表于 2017-1-10 14:40
感觉很牛逼的样子,这样很好啊  不错 喜欢   
woai52pojie 发表于 2017-1-10 14:56
好厉害 基本看不懂
Yo丨Se7ven 发表于 2017-1-10 14:59
很好的一个思路,不过百度盘对影视审查太严格了,指不定哪天就失效了。
落花无痕 发表于 2017-1-10 15:14
看懂一丝丝。后面有点蒙蔽
szy106 发表于 2017-1-10 15:18
楼主请问视频如何正确下载?我下载百度网盘在线播放的视频发现无法播放
 楼主| 逗啊逗 发表于 2017-1-10 15:43
szy106 发表于 2017-1-10 15:18
楼主请问视频如何正确下载?我下载百度网盘在线播放的视频发现无法播放

我有写啊,原因在于跨域播放,就是crossdomain文件,百度网盘不允许其他域名访问视频,所以需要用百度自己的播放器(找上面),或者用手机是可以的
MartinLee 发表于 2017-1-10 15:55 来自手机
挺好,收藏备用
cam001 发表于 2017-1-10 16:00
这个引导式的教程很不错啊
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-23 16:20

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表