首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LibVLC Demux不能窥视

LibVLC Demux不能窥视
EN

Stack Overflow用户
提问于 2019-07-30 18:35:41
回答 1查看 3.2K关注 0票数 1

我试图使用LibVLC最终在一个更大的应用程序中传输视频,但现在我正在使用教程。当前的目标只是流一个保存在我的计算机上的视频。

当我使用调试器遍历程序时,错误代码

00000216266e7650 mjpeg解码错误:无法窥视

出现在第56行之后:

libvlc_media_player_stop(mp);

视频必须放在与main.cpp相同的位置(而不是我想要的任何地方,有一个显式的文件路径)。这是一个.wmv文件。

我使用的是LibVLC 3.0.7.1,作为Visual的NuGet包获得。我无法从源代码中构建libVLC,因为我( a)很难使用Linux,而且不容易访问它;( b)无法安装在Windows计算机上交叉编译所需的所有工具;( c)因为我对此仍然非常陌生

代码语言:javascript
复制
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>

//extern "C" {
#include <C:\GIT\PVI\packages\VideoLAN.LibVLC.Windows.3.0.7.1\build\x64\include\vlc\vlc.h>
#include <C:\GIT\PVI\packages\VideoLAN.LibVLC.Windows.3.0.7.1\build\x64\include\vlc\libvlc.h>
#include <C:\GIT\PVI\packages\VideoLAN.LibVLC.Windows.3.0.7.1\build\x64\include\vlc\libvlc_media_player.h>
#include <C:\GIT\PVI\packages\VideoLAN.LibVLC.Windows.3.0.7.1\build\x64\include\vlc\libvlc_dialog.h>
#include <C:\GIT\PVI\packages\VideoLAN.LibVLC.Windows.3.0.7.1\build\x64\include\vlc\libvlc_events.h>
#include <C:\GIT\PVI\packages\VideoLAN.LibVLC.Windows.3.0.7.1\build\x64\include\vlc\libvlc_media.h>
#include <C:\GIT\PVI\packages\VideoLAN.LibVLC.Windows.3.0.7.1\build\x64\include\vlc\libvlc_media_discoverer.h>
#include <C:\GIT\PVI\packages\VideoLAN.LibVLC.Windows.3.0.7.1\build\x64\include\vlc\libvlc_media_library.h>
#include <C:\GIT\PVI\packages\VideoLAN.LibVLC.Windows.3.0.7.1\build\x64\include\vlc\libvlc_media_list.h>
#include <C:\GIT\PVI\packages\VideoLAN.LibVLC.Windows.3.0.7.1\build\x64\include\vlc\libvlc_media_list_player.h>
#include <C:\GIT\PVI\packages\VideoLAN.LibVLC.Windows.3.0.7.1\build\x64\include\vlc\libvlc_renderer_discoverer.h>
#include <C:\GIT\PVI\packages\VideoLAN.LibVLC.Windows.3.0.7.1\build\x64\include\vlc\libvlc_version.h>
#include <C:\GIT\PVI\packages\VideoLAN.LibVLC.Windows.3.0.7.1\build\x64\include\vlc\libvlc_vlm.h>
//}

int main(int argc, char* argv[])
{
    libvlc_instance_t * inst;
    libvlc_media_player_t *mp;
    libvlc_media_t *m;

    /* Load the VLC engine */
    inst = libvlc_new(0, NULL);

    /* Create a new item */
    m = libvlc_media_new_path(inst, "1_Holiday_Sale_v6.wmv");
    //m = libvlc_media_new_path (inst, "/path/to/test.mov");

    /* Create a media player playing environement */
    mp = libvlc_media_player_new_from_media(m);

    /* No need to keep the media now */
    libvlc_media_release(m);

#if 0
    /* This is a non working code that show how to hooks into a window,
     * if we have a window around */
    libvlc_media_player_set_xwindow(mp, xid);
    /* or on windows */
    libvlc_media_player_set_hwnd(mp, hwnd);
    /* or on mac os */
    libvlc_media_player_set_nsobject(mp, view);
#endif

    /* play the media_player */
    libvlc_media_player_play(mp);

    Sleep(10); /* Let it play a bit */

    /* Stop playing */
    libvlc_media_player_stop(mp);

    /* Free the media_player */
    libvlc_media_player_release(mp);

    libvlc_release(inst);


    return 0;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-30 21:57:39

添加一个答案,而不是删除,以防其他人有类似的问题。

函数接受时间参数,以毫秒为单位。适当地提升它,它就能正常工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57278094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档