Articles of vlc

使用VLC imem从内存中播放h264video文件,但接收错误“主stream错误:不能预先填充缓冲区”

我有一个加载到内存中的h264video文件,我尝试用imem参数“imem-cat = 4”播放它,这样vlc将使用访问模块来解复用video,而vlc启动并接收我的imem成功参数: [0x7f38a0000e28] access_imem demux debug: Using get(0x404e1d), release(0x404e91), data(0x7fff5b4a9430), cookie("IMEM") 这个类别也意味着我不必提供DTS和PTS。 用于VLC的imem模块没有很好的文档logging,但是我已经在几个地方发现了提示,例如 https://forum.videolan.org/viewtopic.php?t=111917 https://forum.videolan.org/viewtopic.php?f=32&t=93842 在python中使用内存中的libVLC播放video 我的imem-get函数只是简单地将缓冲区指针设置为第一次调用时的video数据,返回0,任何进一步的调用返回1表示没有更多的数据: int MyImemGetCallback (void *data, const char *cookie, int64_t *dts, int64_t *pts, unsigned *flags, size_t * bufferSize, void ** buffer) { ImemData* imem = (ImemData*)data; cookie = imem->cookieString; if(imem == NULL || imem->allBuffered==true) //indicate all data has been […]

ffmpeg修复水印大小或百分比

我有一些video,我想给他们添加水印,但问题是因为在每个video“水印大小”是不同的(在一些video水印较小,在一些更大 – 我认为是因为videoinput大小因为它不同) 这里是我的ffmpeg命令(只是链接是不同的) ffmpeg -i "http://VIDEO-LINK" -i "/var/www/logo/logo.png" -filter_complex 'overlay=17:17' -vcodec h264 -crf 25 -preset veryfast -maxrate 600k -bufsize 600k -aspect '640:360' -s '640:360' -acodec libfdk_aac -hls_time 10 -hls_wrap 10 -start_number 1 -y "1.m3u8" 有没有办法做出任何百分比或固定水印基于输出是640×360 如果inputvideo为640×360,则input链接为1280×720时,使用此命令显示大水印,则水印太小

RTSPstream和OpenCV(Python)

我有一个通过rtsp协议和h264 linux驱动程序在Linux上stream式传输的IP摄像头。 我可以在VLC中看到以下地址和端口的video: rtsp://192.168.1.2:8080/out.h264 但是,如果我尝试在Python 2.7.5(MacOS X 10.9)中获得用于OpenCV处理的相同video,请执行以下操作: import cv video = cv.CaptureFromFile('rtsp://192.168.1.2:8080/out.h264') 我得到以下错误: WARNING: Couldn't read movie file rtsp://192.168.1.2:8080/out.h264 这似乎是一个相当简单的,但我坚持下去。 谢谢。

检查是否安装了VLC

我从C#应用程序调用vlc来播放video。 我需要一种方法来一致检查VLC是否安装。 我已经尝试检查registry项,但它们似乎并不一致或可靠取决于您的Windows版本或体系结构。 任何人有任何build议/意见?

使用VLC的虚拟接口时如何防止显示控制台

我尝试从Node.js服务器脚本以“虚拟”模式启动VLC,但是使用child_process.spawn('vlc',['-I dummy'])会在使用Windows时为VLC的输出生成一个新的控制台窗口。 有没有办法来防止这种情况发生,并通过标准输出ReadableStream强制所有的标准输出,所以没有“popup窗口”发生? 编辑 :这个问题与node.js没有任何关系,只是我调用它的方式和VLC的行为。 解决scheme如下。 谢谢。

用VLC播放video文件,然后退出VLC

我正在研究一个简单的Python脚本,它应该可以做些什么,然后播放一个video文件,然后做更多的事情。 我不得不在Windows XP机器上用Python 3.2.3和VLC来播放我的video文件。 我目前正在使用这个代码… vlc_path = '\\path\\to\\vlc.exe' video_path = '\\path\\to\\video\\file' subprocess.call([vlc_path, video_path]) 打开VLC并播放video 它很好地工作。 但是,脚本在继续之前等待VLC退出。 这是好的,我想保持这种方式。 我的问题是: 是否有一种方法可以在video文件播放后立即退出VLC? 非常感谢您的帮助!

VLC:导入错误无模块命名的appscript

我在Windows 7上运行Python 2.7与VLC模块来做到这一点: import vlc i = vlc.Instance('–verbose 2'.split()) p = i.media_player_new() p.set_mrl('rtp://@192.168.0.101:8080/video') p.play() 但是当我尝试用pip安装VLC模块时,它返回以下错误: C:\Windows\System32>pip install vlc Collecting vlc Using cached vlc-0.0.1.tar.gz Collecting app (from vlc) Using cached app-0.0.2.tar.gz Collecting appscript (from app->vlc) Using cached appscript-1.0.1.tar.gz Requirement already satisfied (use –upgrade to upgrade): envoy in c:\python27\l ib\site-packages\envoy-0.0.3-py2.7.egg (from app->vlc) Requirement already satisfied (use –upgrade […]

Windows:启动一个隐藏的新进程(无窗口)

我想执行一个第三方程序(在我的情况下,VLC)没有任何窗口popup在Windows中。 我正在运行我的Java程序作为一个Windows服务工作正常,但是当我启动VLC使用Runtime.exec()然后popup一个窗口,不pipe我做什么。 VLC有一些命令行参数可以阻止GUI,但是会popup一个黑色的控制台 – 效果并不好。 所以:任何想法如何从Java启动一个外部程序,所以没有可见的窗口显示? (它在Mac OS X中工作得很好,我认为Linux将是相同的) 我知道有一种方法可以直接将libVLC集成到您的Java程序中,但该选项对我无效。

如何修复Windows 8.1中的崩溃C?

我正在用MinGW Gcc使用代码块。 编译构build工作正常,但是当我执行它运行时崩溃: main.c中: #include <stdio.h> #include <stdlib.h> #include <vlc/vlc.h> #include <vlc/libvlc.h> #include <windows.h> int main(int argc, char **argv) { libvlc_instance_t *vlc; vlc = libvlc_new (0, NULL); return 0; } 生成日志: ————– Clean: Debug in rtsp (compiler: GNU GCC Compiler)————— Cleaned "rtsp – Debug" ————– Build: Debug in rtsp (compiler: GNU GCC Compiler)————— mingw32-gcc.exe -Wall […]

通过HTML / JS或PHP在VLC中打开文件

我试图build立一个本地媒体服务器,纯粹是为了教育目的,并希望通过浏览器(最好是Chrome)在VLC媒体播放器中打开本地video文件。 到目前为止,我已经尝试了以下没有任何运气: 本地“file:///”url:能够打开本地目录在Windows资源pipe理器,但没有运气在其指定的程序(使用IE11)打开媒体文件。 这工作如果通过命令行(PHP my_file.php),而不是通过浏览器运行: $file = 'pathToFile'; system("pathtovlc/vlc {$file}"); 通过PHP运行.bat文件,反过来调用VLC命令行也不起作用 最后,直接通过命令行打开文件,或通过CLI使用PHP,就像一个魅力,但我还没有find一种方法,通过浏览器成功地打开文件。 我假设这是一个用户权限问题,因为Apache服务使用系统权限运行,但我似乎无法find一个解决方法。 我读了有关运行Apachepipe理员权限的服务,但我无法find如何真正把这个closures.. 任何input,非常感谢! ==编辑== 我尝试通过psexec运行VLC命令,但没有运气..命令运行如下: exec('path_to\psexec -u myUsername -p myPassword -c ^path_to\vlc.exe path_to\media_file'); 再次,这通过命令行很好,但不是通过浏览器.. ==编辑2 == 仍然摆弄这个,因为这肯定会有一种方法来从web浏览器中打开指定程序中的媒体文件。 Apache现在有pipe理员权限,但仍然没有运气得到这个工作! ==编辑3 == 我在Chrome和Firefox中调用了locallinks扩展,这让我更加深入。 打开<a href="file:///path">link</a>链接只需点击它链接在Chrome中,但导致铬总是下载文件的问题(即使它们是本地的),而不是只是在指定的程序中打开它们。 对于Firefox,扩展工作,但它需要一个右键单击 – > locallinks – >打开,这似乎确定,但我真的很想找一个单击解决scheme。 在VLC中直接打开文件(比如.mkv文件)通过本地的.html文件在Firefox中工作得很好,但是通过http://提供时, 我将about:config中的Firefox的security.fileuri.strict_origin_policy设置更改为false,这允许我甚至通过HTTP打开本地文件:/// URL,但由于某种原因,它从文件URI的末尾剥去了文件名,这意味着它指向文件所在的目录,而不是文件本身..至less可以说是令人沮丧的