手机上的vlc怎么使用
必须输入视频详细网络ip地址才可以使用。说到ios版本的VLC播放器,就不能不提到其本身其PC端的软件,号称全平台兼容的万能播放器,支持大部分的主流视频格式。ios版本的VLC播放器视频来源:网络流媒体:对于普通用户来说,不适用且相当繁琐,必须输入视频详细网络ip地址才可以被识别出来。
拓展资料
VLC多媒体播放器(最初命名为VideoLAN客户端)是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影音光盘及各类流式协议。它也能作为unicast或 multicast的流式服务器在IPv4或 IPv6的高速网络连接下使用。
VLC Media Player 是一款可播放大多数格式,而无需安装编解码器包的媒体播放器。可以播放 MPEG-1、MPEG-2、MPEG-4、DivX、DVD/VCD、数字卫星频道、数字地球电视频道(digital terrestrial television channels)、在许多作业平台底下透过宽频 IPv4、IPv6 网络播放线上影片。
参考资料:百度百科-VLC多媒体播放器
vlc手机怎么连接电脑
经验:百度了一下午,关于vlc的,没找到一个靠谱、而且小白的。
以下干货:
vlc手机版本最新(我是iOS系统,vlc版本截止答题时最新版本3.1.2)
电脑,win10最新(截止答题时,无自动更新)
大前提:手机、电脑,连接的是同一局域网(Wi-Fi,自己家里的)
步骤:两大步(一步是在电脑操作,一步是在手机端操作)
一、在电脑上,要新建“用户”和“共享”
具体:
打开“计算机管理”(自行百度)
1、找到“本地用户和组”这一栏,点开,可以看见”用户”这一栏,鼠标右键,“新用户”。这时,就是要新建“用户”,用户名和密码,自己随便编,两个都填123也行。取消“下次登陆时须更改密码”,勾选“用户不能更改密码”、“密码永不过期”。创建后完成,关闭。
2、接着,找到“共享文件夹”这一栏,点开,可以看见“共享”这一栏,鼠标右键,“新建共享”。这时,就是要新建“共享”,在这里有界面引导,你所要做的,就只是确定你要共享的文件夹位置(比如文件夹里,有大量音频和视频文件。你想用vlc连电脑不就是为了这个吗…),接下来,只需要不断的点击下一步,完成。
二、电脑上操作已经完成了。接着手机端操作,连接电脑。
具体:
在vlc界面,左上角有个vlc自己的图标,点开,找到“本地网络”,在“本地网络”里,因为你手机和电脑是同一网络下,所以你可以在“文件服务器(SMB)”下面,看到你的电脑的名字。点开“你的电脑的名字”(比如你的电脑是surface pro,名字可能就是“surface pro”),在弹出的窗口里,左边是“SMB”,在“SMB”下,其他的不用管,只需要,只需要,只需要,把你新建的用户、密码填进去就可以了(比如假设的是123,那只用填123)。点击保存,然后连接
结果:你就可以像访问电脑一样访问文件夹了(仅限于你“分享”的文件)。
连接成功,可以直接用vlc看电脑上的电影。
提醒:分享的文件夹,最好不要有太多其他的“非视频、音频文件”,不然好像会一直显示不出来。
vlc player ios怎么用
说到ios版本的VLC播放器,就不能不提到其本身其PC端的软件,号称全平台兼容的万能播放器,支持大部分的主流视频格式。ios版本的VLC播放器视频来源:1.网络流媒体:对于普通用户来说,不适用且相当繁琐,必须输入视频详细网络ip地址才可以被识别出来2.网络下载观看:面临网络流媒体同样的问题3.WIFI上传视频:PC和iphone&iPad在同一wifi环境下,可以直接通过PC端web浏览器上传pc端视频到iphone或者ipad,这个功能是所有视频播放器中我觉得最赞的功能,省去了用数据线连接PC和iPhone&iPad的繁琐操作。4.调用Dropbox视频文件:如果网速超快以及自己是Dropbox付费用户且不用担心流量的话,此功能相当于给自己带来个云储存的视频库,如果上述三者没有达到两项指标,对于用户来说就不是很实用了。首先你要把视频放到PC端的Dropbox文件夹,然后Dropbox会上传到其官方服务器,然后用户再调用Dropbox文件夹里的视频,从Dropbox官方服务器下载到用户手机。可想而知对网速,Dropbox存储大小以及手机流量的要求有多高。VLC系统设置:1.密码保护2.解码速度3.字幕文本样式:暂时不清楚是否支持外挂字幕,手头没有合适的外挂字幕测试,但是本身又有多种字幕文字样式可供选择,我倾向于支持外挂字幕。4.播放进度记忆5.后台播放VLC播放界面:1.播放进度:手动拖动播放进度不卡且反应灵敏2.声音调节3.画面尺寸选择:4:3,16:9;16:10等几种尺寸可选4.快进慢进5.画面对比度调节VLC支持视频格式:VLC支持大部分主流格式,对于普通用户来说,完全够用。由于我PC视频只有MKV&MP4&MOV三种格式,播放这三种格式时视频非常顺畅,无论是直接拖到播放进度还是快进等等操作,反应都是相当灵敏的,480P 2小时时长的影片,拖动快进毫无压力。不足之处:1.没有连续播放:如果播放MTV的话,只能播放一首后再进入应用选择下一首2.视频库无法批量删除
如何用 Android 手机远程控制 Linux 桌面 VLC 播放器
准备条件
Android 手机和桌面 Linux 位于同一无线网络,是否可以访问互联网不重要。
Android 手机上安装免费开源的 Remote for VLC(Code 首页)
已经在 Linux 桌面环境下安装好 VLC 2.0 播放器。
下文将以 Fedora 17 为例介绍这一过程。
启用 VLC http 远程控制支持
启动 VLC,在主界面上依次点击“工具”-“首选项”-左下角选择“全部”-左侧列表中选择“主界面”-在右侧勾选“Web”。如下图所示:
保存并关闭 VLC。
之后需要编辑 VLC 的 Lua 主机配置文件,允许可以访问的网络段。比如可以用以下命令以 root 用户身份打开配置文件:
su -c 'vim /usr/share/vlc/lua/http/.hosts'
一般正常的人会仅希望局域网内的 Android 手机可以访问并控制桌面上的 VLC,于是取消 # private addresses下面几行开头的注释即可。
保存更改并退出编辑器。
设置防火墙策略
找到系统设置中的防火墙,或者通过在终端输入 system-config-firewall 的方式启动。
VLC 的远程控制默认通过 8080 端口实现,所以在左侧选择“其他端口”,然后通过右侧依次添加 TCP/UDP 8080 端口。
(可选)Android 手机支持通过 Avahi 的方式自动寻找查找网络中的可用主机,如果需要这个功能的话在左侧选择“可信的服务”,然后在右侧勾选“多点广播 DNS (mDNS)”。如果不用启用该项的话就需要在 Remote for VLC 手动输入 IP 地址和端口。
完成之后点击工具栏上的“应用”保存防火墙配置。
开始使用
再次启动 VLC 播放器,在主界面上选择“视图”-“添加界面”-选择“Web”。
在 Android 手机上启动 Remote for VLC,稍等一下应该就会显示在网络中找到的所有 VLC 实例,轻触即可链接。
此时你就可以远离键盘和鼠标,坐在沙发上享受 VLC 带来的影音体验了:
支持音量、音轨、字幕轨、全屏模式的调整,显示媒体信息。
支持创建播放列表。
支持浏览桌面 Linux 上的文件系统(知道为何不建议通过互联网访问了吧……)
试验性的支持 DVD 菜单。
可以在有来电时自动暂停媒体播放。
如何将vlc嵌入到android中
做vlc-android移植的道友都应该知道,当编译完vlc-android 源码后EventManager.java
类中定义了许多事件,下面是源码一部分:
public class EventManager {
/*
* Be sure to subscribe to events you need in the JNI too.
*/
//public static final int MediaMetaChanged = 0;
//public static final int MediaSubItemAdded = 1;
//public static final int MediaDurationChanged = 2;
//public static final int MediaParsedChanged = 3;
//public static final int MediaFreed = 4;
//public static final int MediaStateChanged = 5;
//public static final int MediaPlayerMediaChanged = 0x100;
//public static final int MediaPlayerNothingSpecial = 0x101;
//public static final int MediaPlayerOpening = 0x102;
//public static final int MediaPlayerBuffering = 0x103;
public static final int MediaPlayerPlaying = 0x104;
public static final int MediaPlayerPaused = 0x105;
public static final int MediaPlayerStopped = 0x106;
......
}
可是对于这些事件有很多都被注释掉了,当我们需要被注释掉的事件时,就算把注释拿掉,再调用mEventManager.addHandler(EventManager.getInstance())添加事件之后,也不会在定义的mEventHandler
的handleMessage()中监听到,下面为一个mEventHandler定义的demo:
[java] view plaincopy
private final VideoEventHandler mEventHandler = new VideoEventHandler(this);
private class VideoEventHandler extends WeakHandler<DtvPlayer>{
public VideoEventHandler(DtvPlayer owner) {
super(owner);
}
@Override
public void handleMessage(Message msg) {
DtvPlayer activity = getOwner();
if(activity == null) return;
switch (msg.getData().getInt("event")) {
case EventManager.MediaPlayerBuffering:
Log.d(TAG, "MediaPlayerBuffering");
break;
case EventManager.MediaPlayerEncounteredError:
Log.d(TAG, "MediaPlayerEncounteredError");
break;
......
default:
Log.e(TAG, String.format("Event not handled (0x%x)", msg.getData().getInt("event")));
break;
}
super.handleMessage(msg);
}
}
那么如何才能够在mEventHandler中监听到我们需要的事件呢,下面将进入主题。
在libvlcjni.c中有一个静态常量,其中指定了我们目前需要获取哪些事件:
[html] view plaincopy
static const libvlc_event_type_t mp_events[] = {
libvlc_MediaPlayerPlaying,
libvlc_MediaPlayerPaused,
libvlc_MediaPlayerEndReached,
libvlc_MediaPlayerStopped,
libvlc_MediaPlayerVout,
libvlc_MediaPlayerPositionChanged
};
你可以将自己需要的事件添加在里面,然后将EventManager中响应的事件注释拿掉,之后重新编译源码就可以再mEventHandler中获取你刚添加的事件了。
(例如:你要想获取MediaPlayerEncounteredError事件,先将libvlc_MediaPlayerEncounteredError添加在mp_events[]静态常量中(注意,这里前面多了libvlc_),然后把EventManager中的public
static final int MediaPlayerEncounteredError =
0x10a;注释拿掉,重新编译源码之后就可以在你得mEventHandler
的handleMessage()中获取到EventManger.MediaPlayerEncounteredError事件)。
在vlc-android/vlc/lib/event.c中定义了所有事件:
[cpp] view plaincopy
#define DEF( a ) { libvlc_##a, #a, },
typedef struct
{
int type;
const char name[40];
} event_name_t;
static const event_name_t event_list[] = {
DEF(MediaMetaChanged)
DEF(MediaSubItemAdded)
DEF(MediaDurationChanged)
DEF(MediaParsedChanged)
DEF(MediaFreed)
DEF(MediaStateChanged)
DEF(MediaPlayerMediaChanged)
DEF(MediaPlayerNothingSpecial)
DEF(MediaPlayerOpening)
DEF(MediaPlayerBuffering)
DEF(MediaPlayerPlaying)
DEF(MediaPlayerPaused)
DEF(MediaPlayerStopped)
DEF(MediaPlayerForward)
DEF(MediaPlayerBackward)
DEF(MediaPlayerEndReached)
DEF(MediaPlayerEncounteredError)
DEF(MediaPlayerTimeChanged)
DEF(MediaPlayerPositionChanged)
DEF(MediaPlayerSeekableChanged)
DEF(MediaPlayerPausableChanged)
DEF(MediaPlayerTitleChanged)
DEF(MediaPlayerSnapshotTaken)
DEF(MediaPlayerLengthChanged)
DEF(MediaPlayerVout)
DEF(MediaListItemAdded)
DEF(MediaListWillAddItem)
DEF(MediaListItemDeleted)
DEF(MediaListWillDeleteItem)
DEF(MediaListViewItemAdded)
DEF(MediaListViewWillAddItem)
DEF(MediaListViewItemDeleted)
DEF(MediaListViewWillDeleteItem)
DEF(MediaListPlayerPlayed)
DEF(MediaListPlayerNextItemSet)
DEF(MediaListPlayerStopped)
DEF(MediaDiscovererStarted)
DEF(MediaDiscovererEnded)
DEF(VlmMediaAdded)
DEF(VlmMediaRemoved)
DEF(VlmMediaChanged)
DEF(VlmMediaInstanceStarted)
DEF(VlmMediaInstanceStopped)
DEF(VlmMediaInstanceStatusInit)
DEF(VlmMediaInstanceStatusOpening)
DEF(VlmMediaInstanceStatusPlaying)
DEF(VlmMediaInstanceStatusPause)
DEF(VlmMediaInstanceStatusEnd)
DEF(VlmMediaInstanceStatusError)
};
#undef DEF
其中DEF()将MediaPlayerEncounteredError定义为libvlc_MediaPlayerEncounteredError,当本地代码产生MediaPlayerEncounteredError事件时会将libvlc_MediaPlayerEncounteredError传递给jni,与此同时jni又会传递给java层。不管是本地libvlc_MediaPlayerEncounteredError还是java层MediaPlayerEncounteredError,对于同一个事件被定义的值都是相同的,传输的是同一个消息值。本地代码定义在vlc-android/vlc/include/libvlc_events.h,
java代码定义在EventManager.java中。
转载