我需要播放多个视频来测试视频服务器。我正在使用 lubuntu 14.04 并已安装 V4l2loopback制作设备文件(/dev/videoN )
我正在使用 mplayer 从该设备播放视频,如 mplayer cam 所述
我已经对源代码进行了修改,并成功播放了视频,并使用 xawtv 和 flashplayer(在 firefox 28 上)观看了视频。我曾尝试使用 webRtc 查看,但无法正常工作。
你有什么想法吗?在 examples/yuv4mpeg_to_v4l2.c 中定义了一些特定的像素格式?
......
我正在尝试使用此脚本直接访问资源来查找问题:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Test rtc</title>
<script type="text/javascript" charset="utf-8">
navigator.getUserMedia =
(
navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia ||
navigator.msGetUserMedia
);
var constraints =
{
audio: true,
video:true,
video:
{
mandatory:
{
minWidth: 640,
minHeight: 360
}
}
};
if( navigator.getUserMedia )
{
navigator.getUserMedia(
// constraints
constraints ,
// successCallback
function(localMediaStream)
{
var video = document.querySelector('video');
video.src = window.URL.createObjectURL(localMediaStream);
video.play();
console.log( video );
console.log( localMediaStream );
},
// errorCallback
function(err)
{
console.log("The following error occured: " + err);
}
);
}
else
{
console.log("getUserMedia not supported");
}
</script>
</head>
<body>
<video>
</body>
</html>
视频约束取自 mplayer 输出:
VIDEO: 640x360 25.000 fps 555.0 kbps (69.4 kB/s)
[swscaler @ 0x7f83633f3640]BICUBIC scaler, from yuv420p to yuv420p using MMXEXT
VO: [yuv4mpeg] 480x360 => 640x360 Planar YV12
但问题仍然存在:“发生以下错误:启动视频失败”..
使用 xawtv 和 flashplayer 可以正确播放和查看视频。
最佳答案
有两件事:
v4l2loopback
模块,IIRC 你必须至少使用 0.7.1
$ dmesg | grep v4l2loopback
[0000123.456] v4l2loopback driver version 0.8.0 loaded
v4l2loopback
-device 只会显示为适当的网络摄像头。例如gst-launch videotestsrc ! v4l2sink device=/dev/video0
关于webrtc - 虚拟视频设备 - v4l2loopback - webRTC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23877809/