我正在尝试从我们的服务器在Android设备上播放电影.它不是媒体服务器,只是常规的Apache服务器.我们使用相同的API访问iPhone上的视频,它工作正常.
在Android设备上,某些视频有效,有些则无效.它们都以相同的方式创建,除了大多数不工作的都由静止图像和音频组成.
我们尝试用Videora重新编码它们,并尝试用MP4Box暗示它们.存储在SD卡上时,所有视频播放都非常精细.我们还尝试首先将视频从服务器下载到SD卡,将其保存为文件,然后从文件中播放,但这也不起作用.
帮助会很棒.我非常困惑.谢谢.
编辑 - Logcat:
01-19 08:19:12.669: DEBUG/MediaPlayer(1878): Couldn't open file on client side, trying server side
01-19 08:19:14.119: INFO/ActivityManager(1172): Displayed activity com.myproject/.VideoClass: 1966 ms (total 1966 ms)
01-19 08:19:15.779: ERROR/PlayerDriver(1071): Command PLAYER_INIT completed with an error or info UNKNOWN PVMFStatus
01-19 08:19:15.789: ERROR/MediaPlayer(1878): error (200, -32)
01-19 08:19:15.789: ERROR/MediaPlayer(1878): Error (200,-32)
01-19 08:19:15.789: DEBUG/VideoView(1878): Error: 200,-32
01-19 08:19:15.849: WARN/PlayerDriver(1071): PVMFInfoErrorHandlingComplete
Run Code Online (Sandbox Code Playgroud)
更新:这里是三个不同视频的视频分析的pastebin.来自服务器的app上的第一个流.第二个视频不会流式传输,但可以下载然后从设备播放.第三个既不能流式播放也不能下载播放. http://pastebin.com/9qChSkFz
WTF.
我正在大学做最后一年的项目,涉及为Android制作医疗应用程序,作为一种练习我必须制作一个心率监测应用程序.
我已经知道,最好的方法是在闪光灯打开的情况下将相机对准手指时,查看血液中的颜色变化.
这是问题发挥作用的地方,是否可以在相机上每隔66毫秒拍摄一张照片,然后比较每对照片的强度变化以计算心跳?或者我最好录制视频并分析每个帧以寻找变化.
哎呀,甚至可以只看视频预览并比较每一帧.
我需要回答这个问题的问题在下面整齐列出
什么是最好的方法,拍照,录制视频或观看实时预览.
是否有任何帖子或页面我可以在互联网上访问,人们尝试过类似的事情
任何人都有一个基本的方法,我应该做两个图像,我可以在时间范围内比较.
最后如果我每66毫秒接近基本拍照,我该怎么做才能确保以正确的时间间隔拍摄照片
我有一个视频培训课程作为AVI文件提供.大多数屏幕显示为幻灯片,鼠标指针在其上移动.
当屏幕发生变化时,我想自动捕捉幻灯片的屏幕截图(由于鼠标指针移动而忽略图像变化很小的时候.)
我想这样做,所以我可以将图像粘贴到一个单词或html文档,我可以添加笔记,因为我学习的时候我正在拍摄截图,但这是非常缓慢和乏味的,而且课程很长(24左右)小时总播放时间).
我很了解python,但我不确定如何从视频文件中提取静止图像,然后如何比较一个仍然与另一个,以了解它们有多大不同,以决定保留哪些和丢弃哪些.
谁能建议怎么做呢?
python video video-capture image-processing video-processing
程序员有什么办法可以直接将数据写入显存吗?我知道操作系统对此非常严格,但是某些类型的应用程序(例如视频播放器或电脑游戏)如何将其数据直接写入视频内存。
我知道有很多知名的库(例如 OpenGL);但它们毕竟只是普通的库,它们和我和你编写的程序没有根本区别。
作为我项目的一部分,我使用SteroBM类作为立体视觉.我从2个网络摄像头获取输入帧并在输入帧灰度帧上运行立体声块匹配计算而不进行校正.我得到的输出远非基本事实(非常不完整).我想知道,是因为我没有对输入帧进行整改.而且,我选择的基线保持在20厘米.我使用的是opencv-3.2.0版本的c ++.
我正在运行的代码如下.
#include <opencv2/core.hpp>
#include <opencv2/opencv.hpp>
#include </home/eswar/softwares/opencv_contrib-3.2.0/modules/contrib_world/include/opencv2/contrib_world.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/calib3d.hpp>
#include <opencv2/imgproc.hpp>
#include <stdio.h>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
//initialize and allocate memory to load the video stream from camera
VideoCapture camera0(0);
VideoCapture camera1(1);
if( !camera0.isOpened() ) return 1;
if( !camera1.isOpened() ) return 1;
Mat frame0,frame1;
Mat frame0gray,frame1gray;
Mat dispbm,dispsgbm;
Mat dispnorm_bm,dispnorm_sgbm;
Mat falseColorsMap, sfalseColorsMap;
int ndisparities = 16*5; /**< Range of disparity */
int SADWindowSize = 21; /**< Size of …Run Code Online (Sandbox Code Playgroud) 我正在流式传输长视频,无缝循环短视频序列。借助 HLS,只需将一个视频序列存储并串联在媒体播放列表中并用 #EXT-X-DISCONTINUITY 标签分隔即可实现这一点
\n\n1080_视频.m3u8
\n\n#EXTM3U\n#EXT-X-VERSION:3\n#EXT-X-ALLOW-CACHE:YES\n#EXT-X-TARGETDURATION:10\n#EXT-X-MEDIA-SEQUENCE:0\n#EXT-X-PLAYLIST-TYPE:VOD\n#EXTINF:10.010000,\n0/1080p_0_000.ts\n#EXTINF:10.010000,\n0/1080p_0_001.ts\n#EXTINF:2.635967,\n0/1080p_0_002.ts\n#EXT-X-DISCONTINUITY\n#EXTINF:10.010000,\n0/1080p_0_000.ts\n#EXTINF:10.010000,\n0/1080p_0_001.ts\n#EXTINF:2.635967,\n0/1080p_0_002.ts\n#EXT-X-DISCONTINUITY \n... and so on\nRun Code Online (Sandbox Code Playgroud)\n\n这很好用。现在,我\xc2\xb4d 喜欢引入替代音频再现,以便我可以使用各种音轨流式传输这些视频循环。为此,我将准备的每个长音频文件根据视频片段的播放长度分成许多小音频文件。我还了解到,如果您的视频播放列表中有#EXT-X-DISCONTINUITY,那么您的音频播放列表也必须有它们。
\n\n音频.m3u8
\n\n#EXTM3U\n#EXT-X-VERSION:3\n#EXT-X-TARGETDURATION:10\n#EXT-X-MEDIA-SEQUENCE:0\n#EXTINF:10.005333,\ns000_00.ts\n#EXTINF:10.005333,\ns000_01.ts\n#EXTINF:2.688000,\ns000_02.ts\n#EXT-X-DISCONTINUITY\n#EXTINF:10.005333,\ns001_00.ts\n#EXTINF:10.005333,\ns001_01.ts\n#EXTINF:2.688000,\ns001_02.ts\n... and so on\nRun Code Online (Sandbox Code Playgroud)\n\n视频和音频集中在主播放列表中。
\n\n大师.m3u8
\n\n#EXTM3U\n#EXT-X-VERSION:3\n#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="aac",LANGUAGE="en",NAME="audio",URI="./audio/audio.m3u8"\n#EXT-X-STREAM-INF:BANDWIDTH=4500000,RESOLUTION=1920x1080,FRAME-RATE=29.970,NAME="1080p",AUDIO="aac"\n1080_video.m3u8\n#EXT-X-STREAM-INF:BANDWIDTH=2500000,RESOLUTION=1280x720,FRAME-RATE=29.970,NAME="720p",AUDIO="aac"\n720_video.m3u8\n#EXT-X-STREAM-INF:BANDWIDTH=1300000,RESOLUTION=852x480,FRAME-RATE=29.970,NAME="480p",AUDIO="aac"\n480_video.m3u8\nRun Code Online (Sandbox Code Playgroud)\n\n这不起作用。它开始播放视频和音频,但在第一个 DISCONTINUITY 标签处停止。
\n\n我的问题:
\n\nvideo-processing video-streaming h.264 http-live-streaming m3u8
我需要将视频转换为我曾经用于 ffmpeg 的 .mp4 格式,但它转换的时间太长了。有没有办法在没有 ffmpeg 的情况下在 python 中将视频转换为 .mp4?
My simplified ffmpeg command (the longer one has over 300 files) is the following.
ffmpeg -i "v1.mp4" -i "v2.mp4" -i "v3.mp4"
-filter_complex "[0:v:0][1:v:0][2:v:0]concat=n=3:v=1:a=0,fps=fps=30[cv1];
[0:a:0][1:a:0][2:a:0]concat=n=3:v=0:a=1,asetpts=N/SR/TB[ca1];
[cv1]setpts=0.25*PTS[v4];
[ca1]atempo=4,asetpts=N/SR/TB[a4]"
-c:v h264_nvenc -map "[v4]" -map "[a4]" x4_output_0.mp4
Run Code Online (Sandbox Code Playgroud)
The video encoding is working but then breaks and the output file seems to be truncated. The output files are nearly of the size as they should be but they can't be read.
Video encoding failed\r\n
[aac @ 00000248a7856840] Qavg: 325.600\r\n
[aac @ 00000248a7856840] 2 frames left …Run Code Online (Sandbox Code Playgroud) 我想在播放视频时唤醒屏幕 NativeModules.KCKeepAwake.activate() 在本机反应中已被贬值
还有其他解决方案吗?
video-processing ×10
video ×4
android ×2
ffmpeg ×2
h.264 ×2
python ×2
c++ ×1
heartbeat ×1
m3u8 ×1
opencv ×1
python-3.x ×1
react-native ×1
screen ×1