Tag: video

HTTP伪stream,如何获取范围从开始参数

我们正在为nodejs中的MP4文件进行HTTP伪stream式传输。 对于HTML5,这非常简单,因为它可以与内容范围标题一起使用,但是对于Flash而言,通常会将startparameter passing到包含要跳过的秒数的请求。 有谁知道什么逻辑会将秒转换为字节的video,还有什么可能需要这个? 任何正确的信息将是一个巨大的帮助。 谢谢!

有没有办法改变HTML5的全屏video的屏幕分辨率?

我目前正在开发基于Webkit + nodeJS的媒体中心(就像桌面应用程序中的Chrome浏览器)。 我想根据当前正在播放的video(仅全屏显示)的FPS更改屏幕刷新率(HZ),例如,如果我的屏幕分辨率为1920×1080 @ 60hz并播放1080p @ 24fpsvideo,我希望屏幕分辨率更改为1920×1080 @ 24小时。 这种做法在媒体中心非常普遍,只是因为将屏幕的刷新率与video的FPS相匹配,确保了更加愉快和stream畅的播放。 所以,我的问题很简单:有没有办法在JavaScript或HTML5中做到这一点?

将videostream转换为audio时(w / FFMPEG&Node.js)设置内容长度

所以我正在构build一个程序,要求我拍摄一个video并将其转换为audio。 我目前正在通过node.js将audio直接传输到浏览器,但是我遇到了一个主要问题:我不知道如何找出我的audio有多less个字节。 结果,当我没有得到正确的内容长度时,浏览器一直在抛出net::ERR_CONTENT_LENGTH_MISMATCH 。 我尝试了几种策略,都失败了: 手动计算大小(秒*比特率(kbps)*(1024/8))。 这产生了一个近似的答案,因为我只知道长度到最近的几秒钟。 即使我比较接近,我仍然得到相同的MISMATCH错误。 将streampipe道传送到缓冲区,获取缓冲区的长度,并将缓冲区传送到浏览器 这可以工作,但是加载每首歌曲可能需要15-20秒。 这是非常慢,并在服务器上承受相当大的负载

广播现场摄像头stream

我想logging我的摄像头,并实时向其他客户端广播stream。 我可以很容易地在同一页面的video标签中显示我的摄像头: function initialize() { video = $("#v")[0]; width = video.width; height = video.height; var canvas = $("#c")[0]; context = canvas.getContext("2d"); nav.getUserMedia({video: true}, startStream, function () {}); } function startStream(stream) { video.src = URL.createObjectURL(stream); video.play(); requestAnimationFrame(draw); } function draw() { var frame = readFrame(); if (frame) { replaceGreen(frame.data); context.putImageData(frame, 0, 0); } requestAnimationFrame(draw); } function […]

stream节点fluent-ffmpegstreammp4video

我正在尝试创buildvideostream服务器和客户端节点fluent-ffmpeg , express和ejs 。 而且有一段时间没有解决这个问题。 我想要做的是从一定时间开始播放video。 下面的代码使用Safari浏览器在Windows上,但与其他人做了几秒钟的循环或说 不支持video格式 服务器代码(run.js) : app.get('/video', function(req, res) { //define file path,time to seek the beegining and set ffmpeg binary var pathToMovie = '../videos/test.mp4'; var seektime = 100; proc.setFfmpegPath(__dirname + "/ffmpeg/ffmpeg"); //encoding the video source var proc = new ffmpeg({source: pathToMovie}) .seekInput(seektime) .withVideoBitrate(1024) .withVideoCodec('libx264') .withAspect('16:9') .withFps(24) .withAudioBitrate('128k') .withAudioCodec('libfaac') .toFormat('mp4'); //pipe […]

WebRTC与PeerJS:iceConnectionState断开连接?

我在我的每台机器上都有一个节点应用程序, 这个应用程序在本地主机上使用PeerServer密钥运行。 当我尝试在两者之间发起呼叫时,build立连接(如在接收方说它接收到来自发送方的呼叫)。 但是,媒体stream也被启动(黑盒子显示在video格),然后连接停止,因为“iceConnectionState断开连接”。 什么可能导致这个问题? 这是一些configuration问题? 我使用两台运行优胜美地的Mac电脑。

浏览器MediaRecorder API – video控制不工作/标头设置不正确?

我试图在浏览器中录制一个摄像头video,并保存在节点服务器上。 MediaRecorder API的方法 // CLIENT // Init MediaRecorder with camera stream recorder = new MediaRecorder(…) // Serialize data and send it to backend recorder.ondataavailable = (event) => { const reader = new FileReader(); reader.readAsArrayBuffer(event.data); reader.onloadend = function (event) { socket.emit('message', reader.result); }; } // BACKEND // Receive data and append it to the file client.on('message', […]

在NodeJS中压缩video文件

我正在改进我的应用程序的性能。 我想压缩图像和video到最小的大小没有任何质量损失即无损压缩 。 对于图像,我使用了imagemin软件包。 它适用于PNG格式,但对于JPEG格式, 效率非常低 。 对于video,我找不到任何方式来最大限度地减lessvideo的大小,而不降低分辨率,没有任何质量损失。

相机video不工作 – 反应原生

题 我一直在试图弄清楚为什么这个工作不能工作一段时间。 我已经使用了很多示例代码,但我仍然无法弄清楚。 码 takeVideo() { console.log('started to take video'); this.camera.capture({ audio: true, mode: Camera.constants.CaptureMode.video, target: Camera.constants.CaptureTarget.disk }).then((data) => { this.setState({ path: data.path }); console.log(data); }).catch((err) => console.log(err)); } stopVideo() { this.camera.stopCapture(); console.log(this.state.path); } renderCamera() { return ( <View> <Camera ref={(cam) => { this.camera = cam; }} style={styles.preview} aspect={Camera.constants.Aspect.fill} captureTarget={Camera.constants.CaptureTarget.disk} captureMode={Camera.constants.CaptureMode.video} > <TouchableHighlight style={styles.capture} onPressIn={this.takeVideo.bind(this)} […]

使用fluent-ffmpeg来判断文件是video还是audio

我在NodeJS中使用node-fluent-ffmpeg模块。 fluent-ffmpeg提供获取video和audio文件的元数据的function是非常好的。 https://github.com/schaermu/node-fluent-ffmpeg#reading-video-metadata 我曾尝试在Mac OS上使用元数据中的“分辨率”属性来判断一个文件是否只是audio或video,即如果resolution.w和resolution.h都是0,那么这个文件就是一个audio文件。 这项工作在Mac OS上很好。 但一些奇怪的事情发生,这不适用于Windows平台(我试过Windows 7 64位和Windows 2008)使用最新的ffmpeg。 即使我通过fluent-ffmpeg放入一个.mp3文件,结果如下所示: video: { container:'mp3', … resolution: {w:300,h:300}, resolutionSquare: {w:300,h:300}, aspectString: '1:1', … } audio: { codec:'mp3', bitrate:64, sample_rate:44100, stream:0, channels:1 } 我不是为什么有一个“决议”,因为它是一个纯粹的audio文件。 那么是否有任何可靠的方法来查明该文件是仅audio还是来自元数据的video? 或者我应该使用ffmpeg命令行来找出它?