gpt4 book ai didi

c++ - LibVLC Demux 无法查看

转载 作者:太空宇宙 更新时间:2023-11-04 12:33:53 30 4
gpt4 key购买 nike

我正在尝试使用 LibVLC 最终在更大的应用程序中流式传输视频,但目前我正在处理 tutorial .当前的目标只是流式传输保存在我计算机上的视频

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

[00000216266e7650] mjpeg demux error: cannot peek

出现在第56行之后:

libvlc_media_player_stop(mp);

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

我使用的是 LibVLC 3.0.7.1,它是作为 Visual Studio 的 NuGet 包获得的。我无法从源代码构建 libVLC,因为我 a) 难以使用 Linux 并且无法轻松访问它,b) 无法在 Windows 机器上安装交叉编译所需的所有工具,以及 c) 因为我还是新手对此

#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;
}

最佳答案

添加答案而不是删除答案,以防其他人遇到类似问题。

Sleep() 函数接受以毫秒为单位的时间参数。适本地提高它,它工作正常。

关于c++ - LibVLC Demux 无法查看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57278094/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com