小编use*_*756的帖子

使用FFMPEG将所有视频帧提取为图像

我正在尝试使用FFMPEG将MP4视频文件转换为一系列jpg图像(out-1.jpg,out-2.jpg等),

mkdir frames
ffmpeg -i "%1" -r 1 frames/out-%03d.jpg
Run Code Online (Sandbox Code Playgroud)

但是我不断收到错误,

[image2 @ 00000037f5a811a0]无法打开文件:frames/out-C:\ Applications\FFMPEG\toGIF.bat3d.jpg av_interleaved_write_frame():输入/输出错误帧= 1 fps = 0.0 q = 5.9 Lsize = N/A time = 00:00:01.00比特率= N/A视频:63kB音频:0kB字幕:0kB其他流:0kB全局标头:0kB多路复用开销:未知转换失败!

如果我取出%03d部分,转换工作但它只输出第一帧,程序停止并出错.

如何使用FFMPEG正确提取视频的所有帧?

video command-line ffmpeg image batch-file

14
推荐指数
2
解决办法
3万
查看次数

使用Windows API获取用户的Desktop文件夹?

我试图通过使用SHGetSpecialFolderPath以下方法在C++应用程序(通过DLL)中获取用户的Desktop文件夹:

#define _WIN32_WINNT    0x0500
#define _WIN32_IE       0x0500
#define CSIDL_MYMUSIC   0x000D
#define CSIDL_MYVIDEO   0x000E

#include "dll.h"
#include <windows.h>
#include <shlobj.h>
#include <stdio.h>

TCHAR path[MAX_PATH];

export LPSTR desktop_directory()
{

    if (SHGetSpecialFolderPath(HWND_DESKTOP, path, CSIDL_DESKTOP, FALSE)) { 
        return path;
    }

}
Run Code Online (Sandbox Code Playgroud)

首先,我想返回一个其他案例.我返回"ERROR"但编译器警告我正在尝试将a转换CHAR为a LPSTR.如果有,那么如果由于某种原因它无法获取目录,它看起来可能会崩溃.

同样来自MSDN文档,它说"[SHGetSpecialFolderPath不受支持.而是使用ShGetFolderPath.]",然后我导航到该页面,它显示"ShGetFolderPath:Deprecated.获取由CSIDL值标识的文件夹的路径." 我应该用什么呢?

所以:

  1. 我想添加一个else情况,我返回一个字符串说"ERROR"
  2. 我想知道我是否正在使用正确的非弃用API函数,该函数可以在Windows XP中运行到现代Windows操作系统.

编辑

这是所要求的更新代码,

#ifndef UNICODE
#define UNICODE
#endif

#ifndef _UNICODE
#define _UNICODE
#endif

#define _WIN32_WINNT 0x0500
#define _WIN32_IE 0x0500
#define CSIDL_MYMUSIC 0x000D
#define CSIDL_MYVIDEO 0x000E

#include "dll.h"
#include <windows.h>
#include <shlobj.h> …
Run Code Online (Sandbox Code Playgroud)

c++ windows winapi

8
推荐指数
1
解决办法
1万
查看次数

如何声明wchar_t并稍后设置其字符串值?

我正在为Windows开发,我还没有找到有关如何正确声明以及稍后设置unicode字符串的充分信息.至今,

wchar_t myString[1024] = L"My Test Unicode String!";
Run Code Online (Sandbox Code Playgroud)

假设上面做的是[1024]是分配的字符串长度,我需要在该字符串中有多少个字符.L""确保引号中的字符串是unicode(我找到的alt是_T()).现在稍后在我的程序中,当我尝试将该字符串设置为另一个值时,

myString = L"Another text";
Run Code Online (Sandbox Code Playgroud)

我收到编译错误,我做错了什么?

此外,如果任何人有一个简单而深入的unicode应用程序资源,我想有一些链接,曾经为一个专门用于该网站的书签添加书签,但似乎现在已经不见了.

编辑

我提供了整个代码,我打算将它用作DLL函数,但到目前为止还没有返回.

#include "dll.h"
#include <windows.h>
#include <string>
#include <cwchar>

export LPCSTR ex_test()
{
wchar_t myUString[1024];
std::wcsncpy(myUString, L"Another text", 1024);

int myUStringLength = lstrlenW(myUString);

MessageBoxW(NULL, (LPCWSTR)myUString, L"Test", MB_OK);

int bufferLength = WideCharToMultiByte(CP_UTF8, 0, myUString, myUStringLength, NULL, 0, NULL, NULL);
if (bufferLength <= 0) { return NULL; } //ERROR in WideCharToMultiByte
return NULL;

char *buffer = new char[bufferLength+1];
bufferLength = WideCharToMultiByte(CP_UTF8, 0, myUString, myUStringLength, …
Run Code Online (Sandbox Code Playgroud)

c++ string unicode wchar

8
推荐指数
1
解决办法
2万
查看次数

从Liferay中删除Alloy UI

Liferay CMS附带Alloy UI来执行几个javascript函数(可拖动,可排序等).问题是我们还使用了几个使用jQuery UI的jQuery插件.Alloy UI加载速度慢,开销很大,导致网页大量滞后,所以我们想删除它并用jQuery UI做事.

Liferay默认在DOM中加载Alloy UI文件,我们需要在服务器/ portlet文件中删除(声明等)吗?

java portlet jquery-ui liferay alloy-ui

6
推荐指数
1
解决办法
3346
查看次数

使用 javascript 平移 DIV 元素

我试图在容器中放置一个 div,当用户单击并拖动文档区域中的某处时,.room 元素会通过按住中键单击按钮在 .viewport 元素内部平移。

问题如下:(按住右键单击此按钮,中键单击由于某种原因不起作用) http://jsfiddle.net/JeZj5/2/

JS

var mouseX = 0;
var mouseY = 0;
var scale = 1.0;

$(document).mousemove(function (e) {

    var offset = $('.room').offset();

    //relative mouse x,y
    mouseX = parseFloat((e.pageX - offset.left) / scale, 2);
    mouseY = parseFloat((e.pageY - offset.top) / scale, 2);

    //absolute mouse x,y
    mouseXRaw = e.pageX;
    mouseYRaw = e.pageY;

    $(".room").html(mouseX + ', ' + mouseY + '<br />Right click document and pan');

    switch (e.which) {
        case 3:
            $('.room').css({
                left: mouseX,
                top: mouseY
            });
            break; …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery web

5
推荐指数
1
解决办法
5233
查看次数

Android上的Cordova全屏启动画面仍显示标题栏

我正在使用最新的cordova创建一个全屏应用程序.我已经为它添加了启动画面图像和插件.并且在config.xml中,首选项以全屏方式启动应用程序

<preference name="Fullscreen" value="true" />
<preference name="Orientation" value="landscape" />    
<preference name="SplashScreenDelay" value="1000" />
Run Code Online (Sandbox Code Playgroud)

在运行应用程序时,会出现启动画面,但问题是应用程序仍然会在顶部显示标题栏,直到应用程序完成显示启动画面,应用程序最终进入真正的全屏幕.

在显示启动画面时,是否有方法/ flag/mod使全屏正常工作

mobile android phonegap-plugins cordova

3
推荐指数
2
解决办法
3960
查看次数

如何在批处理文件中将输出存储在 Windows“where”命令的变量中?

我正在使用 Windows 批处理文件中的“where”命令来查找脚本的 java 安装位置

所以通常从命令行,

C:\Users\user>where java
C:\ProgramData\Oracle\Java\javapath\java.exe
Run Code Online (Sandbox Code Playgroud)

现在我需要能够在变量中获取“where”的输出路径以供以后在我的批处理文件中使用,我该怎么做?

我试过类似的东西,

@echo off
cls
set var=1
setlocal enableextensions
for /F "tokens=* USEBACKQ" %%F in ('where java') do (
    set var=%%F
)
echo %var%
endlocal
pause
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

windows variables command-line path batch-file

1
推荐指数
1
解决办法
1696
查看次数