acdown网页视频插件合并插件

您还未登陆,请登录后操作!
down 下载土豆和优酷的视频会一直显示出现错误下载不了&&? 怎么回事?在线等[泪][泪][泪]
<img onerror="imgDelByClass('comimg_box');" class="piczoom mpic" alt="为啥用A
您的举报已经提交成功,我们将尽快处理,谢谢!
造成原因:电池或者笔记本的接口接触不良或者电池和笔记本交换数据的接口损坏
  解决方法:更换一块原装电池,如果出现同样的故障,则是笔记本与电池接口的某个触点损坏...
大家还关注视频合并成其它格式可否采用remux的方式&#65311;
本人保存视频喜用MP4的封装&#26684;式,所以试用了acdown的视频合并高级版,但它貌&#20284;是调用ffmpeg把视频重新转码了一遍,速度慢,系统资源占用率高,且转码后的视频体积变大很多。
现在视频网站的压缩质量本身就比较差,把flv转换到其它封装&#26684;式基本上没必要再次重新编码压缩。虽然我自己可以写个bat来合并remux视频,但我希望acdown能集成此功能选项,让其它使用者也能得到方便。
Coordinator
实际上我不太懂应该怎么做,能否指点一下?
kaedei wrote:
实际上我不太懂应该怎么做,能否指点一下?
就是在调用ffmpeg转换&#26684;式的时候添加个参数“ -c copy”(等效于-vcodec copy -acodec copy),这样的话就不会再对视频和音频重新解码编码。
比如我自己用来remux的bat脚本就是
ffmpeg -i %1 -c copy %~n1.mp4
虽然不太懂编程,但我想实现这个功能应该不会很难吧
Text Formatting
# Header 1
## Header 2
*italics* (or _italics_)
**bold** (or __bold__)
* Unordered List
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp * SubItem
1. Ordered List
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 1. SubItem
> Lorem ipsum
dolor sitamet
non. Lectus at
nam nunc...
`Inline Code`
if (foo==bar)
&nbsp&nbsp&nbsp&nbsp&nbsp&nbspbar++
References
[Link Text](URL)
![Image](URL)查看: 1419|回复: 9
求助,如何顺序播放或者合并swf文件?
困扰了好几天的问题了,有几十个swf文件,需要能自动一直播放。
先说播放器,先后尝试了暴风,potplayer还有km,选择好了列表顺序播放,等一个播放完了之后要么是停止了,要么就是循环播放一个,文件重命名编好了序号也不行,不知道是不是swf格式的原因。
另一个方法就是把这几十个文件合并成一个swf文件,或者转换成avi mp4等格式,看播放器是否支持顺序播放,但是没找到相应的软件,也就没有办法了。。
破处区卧虎藏龙,求帮助~~
QQ 影音可以自动顺序播放
AcDown动漫下载器,可以合并多个文件
简单,1234重命好名用rar打包,看时直接拖进去
pot绝对没问题
引用第2楼godzillaqqq于 17:33发表的&&:
简单,1234重命好名用rar打包,看时直接拖进去
暴风和pot都不支持rar格式呀,打不开
引用第1楼moonjourney于 17:27发表的&&:
QQ 影音可以自动顺序播放
AcDown动漫下载器,可以合并多个文件
ACdown只能合并flv,qq影音和我说的一样,只是单个循环,不能自动下一个。。
回 4楼(newallies) 的帖子
pot支持播放rar包里的音视频,记得用新版
Re:回 4楼(newallies) 的帖子
引用第6楼litmusblue于 21:41发表的 回 4楼(newallies) 的帖子 :
pot支持播放rar包里的音视频,记得用新版
提示该文件不存在或被锁定。
版本的话主页上前几个都试过了,1.5.02)
回 7楼(newallies) 的帖子
忘了说,pot的swf支持是靠adobe的flash activex插件,超级差,作者也说不会再管
汉化已到1.5.34600
PS:才是官网下载
试试下面这些
没那么麻烦,用射手吧,RAR打包时压缩方式选存储
Powered by新浪广告共享计划>
广告共享计划
AcDown&4.0中插件体系的更新(2)&-&如何创建一个插件(上)
我在中,叙述了AcDown
4.0版本中对于插件体系的修改。这次的这几篇文章,是教大家使用C#语言创建AcDown插件的一个简单教程。
AcDown使用.NET Framework
2.0版本进行开发,所以理论上任何基于.NET的编程语言都能够用来编写AcDown插件,如C#,VB.NET,C++等。本文将以C#为例讲解如何开发一个简单的AcDown下载插件。
一、准备工作
1.安装Visual Studio
Visual C# 2010中文免费版(Express)
根据测试的任意版本都是没有问题的,即使您用的是功能最少的Express版本也可以正常编译AcDown项目。2005版没有进行过测试。但是需要注意的是VS需要有C#的编辑环境,也就是安装VS时需要选择安装了C#的相关组件。
2.下载源代码
您需要下载一份AcDown的源代码,,然后在页面中部的右方找到Download链接,点击后确认同意Apache协议,将源码下载下来并解压到某处(我将它解压到了
E:\AcDown\ 文件夹)
3.打开项目
(1)Visual Studio 2010请直接双击根文件夹下的AcDown.sln文件
(2)Visual Studio 2008请双击AcDown文件夹下的AcDown.csproj文件
开发AcDown时我用的是中文版VS2010Ultimate,写这篇文章时的截图来自于英文版VS2008Pro,大部分对话框和操作其实都是一样的,请自行对照查看。
刚刚打开项目时,可能会遇到“此项目受源代码管理,是否移除绑定”的选项,请点击“是”:
4.编译项目
加载完毕之后,即可在“解决方案浏览器”中查看到源代码的目录结构了
当然在打开任何文件之前,我们先需要编译一次项目。因为AcDown中使用了一些自定义控件,这些控件需要先进行编译一次才能够正常使用。
编译的方法也很简单,先选中解决方案浏览器中的AcDown项目,然后点击菜单中的“生成”-“生成AcDown”(或者生成解决方案)
二、AcDown插件体系
在开始编码之前,我们有必要再重新了解一遍AcDown的插件体系结构。
1.传统下载器的软件结构
在传统的下载器软件中,软件结构一般都是这样的:
(1)接收用户的输入(用户手动输入网址,或监视用户的点击)
(2)检查此网址是否是下载器所支持的
(3)如果下载器支持解析这个网址或资源,则通过任务管理器新建此任务
(4)任务管理器调用具体的下载函数,进行下载,同时监测用户是否有暂停/停止的命令
(5)下载完成后,进行最后的收尾工作,例如释放网络资源,提示用户下载完成,打开文件等等
这是一种很成熟的软件架构,但是当下载器软件多了起来之后,你会发现所有的下载软件都在重复的做着上面的这个工作。尤其是对于Domain-Specific的下载器(例如iKu,飞速土豆,还有各类XX相册下载器,XX视频网下载器,XX网盘下载器),每个软件都会实现一整套自己的下载架构,用户体验不一致,用户重复下载使用着功能类似但体验相差巨大的软件。开发者写着也很吃力,因为核心的下载代码可能只占整个软件的不到十分之一,却得从头开发用户界面等等的这些功能。
2.AcDown的软件架构
AcDown将下载器开发者们从复杂的界面编码与任务控制中解放出来,我们只需要关注于具体的下载过程,AcDown会帮助你把剩下的问题解决好。
我们需要做的,仅仅是解析网址并下载这个过程。事实上,在AcDown中已经提供了功能丰富的下载网络资源的接口,普通需求的插件编写者其实只需要完成“解析”这一步操作就可以了。
3.AcDown的可能性
AcDown的下载插件可以使用任何一种兼容.NET
Framework的编程语言来编写。而.NET语言(如C#和VB.NET)本身又可以完成很多复杂的操作,这一点是其他lua等脚本语言无法比拟的。所以AcDown未来完全有能力支持多种网络协议(如BT、Emule等),甚至可以通过插件支持其他的私有下载协议。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。新浪广告共享计划>
广告共享计划
在你的程序中使用AcDown下载核心
更好的排版版本请参考
本文将指导你如何:
获取并编译最新版本的AcDown下载核心
向基于.NET的项目中(使用C#或VB.NET)添加AcDown核心的引用
了解AcDown核心管理器CoreManager与UI回调委托UIDelegateContainer
初始化AcDown核心
添加需要的插件
添加下载任务
获取任务的详细信息
在任务完成或失败后进行处理
本文假设你已经掌握下列技术:
C# 3.0语言或VB.NET 9.0语言的基本语法
使用Visual Studio 2010或更新的版本
使用.NET语言、VS创建新的项目和添加对DLL文件的引用
委托与泛型
Windows操作系统(Vista之后的版本)的基本知识
对AcDown项目本身的初步了解
AcDown是基于.NET Framework
2.0编写的开源下载器框架,通过插件体系支持众多站点的多媒体资源的解析和下载,与此同时提供了方便的API接口和框架,便于其他程序集成和调用。
1 获取并编译最新版本的AcDown下载核心
1.1 获取源代码
从这里浏览最新版本的AcDown源代码:
从这里浏览所有历史版本的AcDown源代码:
然后点击页面上的Download链接下载最新版本的源代码压缩包,如图:
1.2 编译AcDown核心
下载acdown-xxxxx.zip(xxxxx为变更集编号)文件后将其解压缩至一个单独的文件夹,进入AcDown子文件夹,然后双击AcDown.sln打开解决方案。
点击菜单中的【生成→配置管理器】
将【活动解决方案配置】设置为“Debug”,将【活动解决方案平台】设置为“Any CPU”后点击【关闭】
(注:如果需要编译发布版本,您可以将配置切换为“Release”,这样就不会生成相应的xml文件)
点击菜单中的【生成-重新生成解决方案】,等待编译完成。期间可以通过“输出”窗口查看编译进度
在【项目文件所在文件夹\AcDown\AcDown\bin\Debug】文件夹下找到已编译好的所有文件,其中需要使用的只有下面几个文件:
AcDownInterface.dll (必须,AcDown接口)
AcDownCore.dll(必须,AcDown核心与管理器)
AcDownDownloader.dll(AcDown项目自带的下载插件)
AcDownParser.dll(一些常用网站的解析器,AcDownDownloader.dll依赖于这个文件)
请视情况将这几个DLL文件单独拷贝出来备用。
还有一些与上面四个文件同名的xml文件,如AcDownInterface.xml、AcDownCore.dll等。这些xml文件是代码注释文档,建议您同样将其拷贝出来,这样在编写代码的时候就能够在VS的智能提示中看到详细介绍了
2 向基于.NET的项目中(使用C#或VB.NET)添加AcDown核心的引用
以C#控制台项目为例
使用Visual Studio创建一个新的C# Console Application项目
切换到“解决方案资源管理器”,右键点击项目名称,选择菜单中的“添加引用”
浏览刚才复制出来四个DLL文件,全部选中后点击“添加”
3 了解AcDown核心管理器CoreManager与UI回调委托UIDelegateContainer
3.1 AcDown核心管理器——CoreManager类
CoreManager类定义在命名空间Kaedei.AcDown.Core中,是AcDown的管理核心,负责管理AcDown框架的所有大小事务,如插件管理、任务管理、设置管理、日志、与UI部分通信等
CoreManager类是静态类,不需要手动进行实例化(但是需要使用代码初始化),AcDown核心在每一个AppDomain中只能存在一个。
CoreManager通过UI委托与用户界面进行通信与互相调用,用户界面不需要直接干预插件的行为。
AcDown使用的是 UI - Core - Plugin
的三层架构,其中Core是整个系统的核心,用来管理插件、任务以及下载器可能使用的各种资源、数据。UI(用户界面)负责处理用户输入,以及显示各类(来自于AcDown核心或插件的)需要显示的信息。Plugin部分提供给所有插件以统一的接口,并提供了一些常用的API以减少插件编写者的工作量。
下面是一张老图(来自v3.x),其中的AcDown Components指的就是现在的CoreManager
3.2 UI回调委托——UIDelegateContainer类与DelegateContainer类
因为AcDown框架采用了UI与下载核心分离的架构,所有情况下下载操作都是异步进行的,所以需要设计一个通知机制来让AcDown核心在下载成功/失败后通知UI做出相应的改变
依赖于.NET中的委托,DelegateContainer类(定义在Kaedei.AcDown.Interface命名空间中)包装了来自于AcDown核心的回调事件(不包括用户界面事件)
UIDelegateContainer类(定义在Kaedei.AcDown.Core命名空间中)继承自DelegateContainer类,包装了来自于UI的回调事件,包括下载开始/完成/失败/全部完成等事件。当这些事件发生时,AcDown核心会通知用户界面进行相应的处理
4 初始化AcDown核心
在必要的时候(越早越好)调用CoreManager的Initialize()方法初始化AcDown核心。
下面是Initialize()方法最常使用的重载之一:
public static void Initialize(string startupFolderPath,
Kaedei.AcDown.Core.UIDelegateContainer uiDelegates)
Kaedei.AcDown.Core.CoreManager 的成员
初始化AcDown核心
startupFolderPath: 起始路径
uiDelegates: UI委托
起始路径设置为任意文件夹,在AcDown核心初始化完成后,会向起始路径中写入config.xml文件(配置文件)和task.xml文件(任务列表)
UI委托请传入一个新的UIDelegateContainer类的实例,具体的用法会在后面的文章中进行详细介绍。
示例代码:
CoreManager.Initialize(@"D:\TestAcDown\",
new UIDelegateContainer(null, null, null, null, null, null, null, null));
5 添加需要的插件
5.1 添加内部插件
内部插件指的是代码中编写好的,可以直接通过类名进行实例化的类
加载这种内部插件的方法是调用CoreManager.PluginManager的LoadPlugin()方法
示例代码:以加载Acfun、Bilibili和优酷插件为例,请首先using
Kaedei.AcDown.Downloader
CoreManager.PluginManager.LoadPlugin(new AcFunPlugin());
CoreManager.PluginManager.LoadPlugin(new BilibiliPlugin());
CoreManager.PluginManager.LoadPlugin(new YoukuPlugin());
5.2 添加外部插件
外部插件指的是.acp类型的插件文件,这类文件需要AcDown通过反射技术进行实时加载
加载外部插件的方法是调用CoreManager.PluginManager的LoadPlugins()方法
LoadPlugins()方法会搜索刚才初始化CoreManager时指定的“起始路径”下的Plugins文件夹,加载其中所有符合要求的.acp文件
添加外部插件并不是必须的步骤
示例代码:
CoreManager.PluginManager.LoadPlugins()
6 添加下载任务
使用AddTask()添加下载任务
使用CoreManager.TaskManager中的AddTask()方法添加新的下载任务,之后,还需要提供一些必要的详细信息。
public Kaedei.AcDown.Interface.TaskInfo
AddTask(Kaedei.AcDown.Interface.IPlugin plugin, string url,
System.Net.WebProxy proxySetting)
Kaedei.AcDown.Core.TaskManager 的成员
plugin: 任务所属的插件引用
url: 任务Url
proxySetting: 代理服务器设置
downSub: 下载字幕文件设置
plugin参数:就是之前使用PluginManager.LoadPlugin()添加到AcDown核心中的插件的引用。
如果你的程序需要从所有已加载的插件中进行搜索,CoreManager.PluginManager.Plugins对象集合保存了所有已加载插件的引用
url:任务网址
proxySetting:一个System.Net.WebProxy对象的引用,指示下载时使用的代理服务器,希望使用“使用IE设置(for
Windows)/使用系统设置(for Linux)”的方式那么请传递null,如果希望使用“直接连接”的方式,请传递 new
WebProxy()。 有关代理服务器更详细的信息可以参考这里:
下面是示例代码,使用了优酷下载插件来下载一个优酷视频:
var acf = new AcFunPlugin();
CoreManager.PluginManager.LoadPlugin(acf);
var task = CoreManager.TaskManager.AddTask(acf, "ac123456", null);
7 获取任务的详细信息
AddTask()方法返回一个TaskInfo对象(定义在Kaedei.AcDown.Interface命名空间中),TaskInfo类存储了此任务所有相关的信息,例如Url、插件、文件类型、创建时间、自动应答设置等等
可以通过修改此TaskInfo对象的属性对任务进行进一步的修改
例如,在某些插件支持的情况下,可以通过设置ExtractCache属性来允许插件提取系统和浏览器的缓存以加速下载。
8 开始任务
调用CoreManager.TaskManager的StartTask()方法使一个任务开始进行下载:
CoreManager.TaskManager.StartTask(task);
9 在任务完成或失败后进行处理
AcDown使用回调委托的方式处理下载运行前后和运行中发生的各类事件。回调事件必须满足委托AcTaskDelegate的签名
public delegate void AcTaskDelegate(Kaedei.AcDown.Interface.DelegateParameter para)
9.1 在某一任务完成后进行处理
在单个任务完成后,AcDown会调用Finish委托来通知用户界面进行改变。
void Finish(DelegateParameter e)
&//将e转换为包装参数的对象
&var task = (e as ParaFinish).SourceT
&//任务已经完成
&Console.WriteLine("DOWNLOAD FINISHED:" + task.TaskId.ToString());
9.2 在所有任务完成后进行处理
在所有任务完成后,AcDown会调用AllFinished委托通知用户界面。
void AllFinished(DelegateParameter e)
&Console.WriteLine("ALL DOWNLOAD FINISHED!");
9.3 修改Initialize()方法
还记得一开始初始化CoreManager时的代码吗?
CoreManager.Initialize(@"D:\TestAcDown\", new UIDelegateContainer(null, null, null, null, null, null, null, null));
将指定位置的null替换为方法名称,即可建立AcDown核心与UI的关联了,如:
CoreManager.Initialize(@"D:\TestAcDown\",
new UIDelegateContainer(null, null, null, null, Finish, null, null, AllFinished));
10 示例代码
示例代码可以在这里找到:
同时建议参考一下AcDown项目本身的实现
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 百度云视频播放插件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信