我的桌面上有一堆电影。每个大约 700MB 长,所以对于一部普通电影来说,大约是 128 kb/s。
我的 WiFi 能够以 1 MB/s 的平均速度传输电影,有时为 1.5 MB/s。但是,如果我尝试直接从映射的网络驱动器观看电影,它会一直卡顿。
观看流量监视器,我可以看到 Windows Media Player 和 Zoom Player 都做了一些与 WiFi 完全不兼容的事情——它们加载了一堆字节,缓冲了大约 10 秒的时间,然后显示了 10 秒的视频。只有当缓冲区几乎用完时,它们才会尝试读取下一个块。所以他们给自己留出 1 秒的时间来阅读接下来 10 秒的价值。WiFi 速度不够快,无法让他们这样做。
有想法该怎么解决这个吗?也许有比这更聪明的视频播放器?或者是一个网络驱动器映射器,它可以在程序执行读取时主动缓冲指定数量的数据?
我想使用 FFMPEG 将包装在 RTP 标头中的 H.264 编码基本流流式传输到端口。
我尝试了以下命令行无济于事...
ffmpeg -i 1080p_1.h264 -f rtp -vcodec libx264 rtp://localhost:4000
Run Code Online (Sandbox Code Playgroud)
并得到以下错误:
输出文件 #0 不包含任何流
我也试过:
ffmpeg -i 1080p_1.h264 -f rtp -vcodec copy rtp://localhost:4000
Run Code Online (Sandbox Code Playgroud)
有同样的错误。
如果我使用 WinFF 进行转换,它似乎可以工作,并且 Elecard 流分析器似乎指示流 #0 的 SPS 和 PPS NAL 单元。
Netflix 设备流使用什么端口?
Silverlight 应用程序中的网站直接流式传输也使用此端口吗?如果使用端口 80,那么 HTTP Content-Type 是什么?谢谢。
任何人都可以建议将视频编码为 h264 基线配置文件(级别 1)的命令吗?
这里有一个链接供参考:http : //blog.mediacoderhq.com/h264-profiles-and-levels/
我使用了这个命令,但 FFmpeg 说它是主配置文件,而不是基线。
ffmpeg -i <SOURCE> -vcodec libx264 -coder 0 -flags +loop+mv4 \
-partitions +parti4x4+parti8x8+parti4x4+partp8x8+partb8x8 -me_method hex -subq 7 \
-trellis 1 -refs 5 -bf 0 -flags2 +mixed_refs -coder 0 -me_range 16 -threads 2 \
-s 240x160 -b:v 64k -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 \
-qmin 10 -qmax 51 -qdiff 4 -strict experimental -acodec aac -ac 1 -ab 48000 \
-f mpegts udp://127.0.0.1:10006?pkt_size=1316
Run Code Online (Sandbox Code Playgroud) 我对是什么导致我的网络变慢感到有些困惑,我希望在这里而不是在“webapps.sx.com”上提问是正确的,因为我的问题不仅与 YouTube 相关,而且基本上与许多视频网站有关。
我无法理解我住在首尔(韩国),使用100 Mbit 局域网连接,在内容缓冲和流媒体方面有问题吗?我注意到的是,当我使用像 jDownloader 或 DownThemAll 这样的高级下载管理器,甚至是标准的下载管理器时,例如 YouTube 视频的下载速度非常快 - 我总是以 720p 下载它们。
但是,当我尝试流式传输相同的视频时 - 嵌入在网站上或直接在 YT 上 - 当我从“小预览”转到全屏模式时,它会永远缓冲并丢失所有进度(wtf??)!而所有这些都是通常在360或480P,720P不!(我从不以 720p 观看,因为这绝对不可能。)Vimeo 好一点,我注意到唯一一个表现更好的视频网站。我在德国使用 30-33 Mbit LAN 连接时已经遇到了同样的问题。这尤其令人困惑,因为 YT 视频的下载速度通常在“jDownloader”中达到 2-2.5 MB/秒(否则我没有测量),所以当它以相同的速度缓冲时应该足够了。为什么不是这样,是否有技术原因?
为什么甚至 Google / YouTube 似乎都不能提供足够快的缓冲 / 流媒体体验,这是什么问题?是我的电脑/硬件吗?我的笔记本电脑配备 6 GB RAM 的 Intel DualCore i7(2010 代),并始终使用最新的 Google Chrome 浏览器和 Adobe Flash 更新。
随附您找到最新的 speedtest.net 结果: .
那里发生了什么?
我购买了Swann 家庭安全 DVR 系统,并希望获得有关如何在我的服务器上复制流视频的帮助。
为了让他们的网络视图(浏览器中的流媒体视频)工作,我必须安装以下插件:
HiDvrPlugin.dmg for mac.
Hidvrocx.cab for Windows.
Run Code Online (Sandbox Code Playgroud)
我最初认为这是某种形式的 DRM 的标志?也许。也许不吧。
在 HTML 方面,以下代码位于 web 视图的 safari 版本的源代码中:
<embed pluginspage="SurveilClient.dmg" width="10px" height="10px" type="application/x-scplugin" id="MacDiv" style="height: 592px; width: 720px; left: 278px; top: 61px; ">
Run Code Online (Sandbox Code Playgroud)
它似乎是主要的显示区域。
使用wireshark,我能够看到视频流在端口9000 上。但是,我不知道它是什么类型的流。我试过在 VLC 中打开它,但没有这样的运气。
http://dvr_ip:9000
tcp://dvr_ip:9000
Run Code Online (Sandbox Code Playgroud)
我的希望是执行以下操作来重新分发提要
vlc dvr_ip:9000 --sout h264-version-on-localhost:3000
Run Code Online (Sandbox Code Playgroud)
TLDR;尝试使用 vlc(通过 h.264/HTML5 重新分发)重新分发来自安全摄像头的流(无法分辨格式)。不知道如何实现这一点。该软件是否可能具有某种类型的 DRM,只有插件才能解码?
我正在从 IP 摄像机录制 MJPEG 视频并将其保存到文件中,但问题是该文件的持续时间比实际录制时间小得多。它大约 9 秒的视频用于 2 分钟的录制。我尝试按顺序执行以下命令
ffmpeg -f mjpeg -r 8 -i http://c-cam.uchicago.edu/mjpg/video.mjpg -vcodec mpeg4 -b 1000000 -r 8 video_file.avi
Run Code Online (Sandbox Code Playgroud)
然后我省略了大部分标志并像这样尝试
ffmpeg -f mjpeg -i http://c-cam.uchicago.edu/mjpg/video.mjpg video_file.avi
Run Code Online (Sandbox Code Playgroud)
但问题是录制文件的持续时间为 9 秒,而实际录制时间约为 2 分钟。我终于尝试了应该插入时间戳的setpts过滤器。命令如下
ffmpeg -f mjpeg -i http://c-cam.uchicago.edu/mjpg/video.mjpg -vf "setpts=1*PTS" video_file.avi
Run Code Online (Sandbox Code Playgroud)
但结果还是一样。录制时间远远超过视频时长。
我正在尝试使用 FFmpeg 在 Windows 中流式传输网络摄像头和麦克风。首先,我使用如下命令获取我的设备名称(在流命令中指定 -i 参数):
ffmpeg -list_devices true -f dshow -i dummy
问题在于我的麦克风名称编码错误:
如何将此设备添加到“音频”参数(将此名称复制到“音频”中没有结果)?
在 Linux 服务器(FFmpeg)和 Windows 客户端(VLC 播放器)之间的视频流应用程序上,有大约 10 秒的明显延迟。
FFmpeg 命令:
ffmpeg -re -f v4l2 -i /dev/video0 http://192.168.1.101:8090/feed1.ffm
Run Code Online (Sandbox Code Playgroud)
VLC 播放器:
http://192.168.1.101:8090/test.swf
Run Code Online (Sandbox Code Playgroud)
尽管服务器和客户端同时启动,但 VLC 播放器会延迟大约 10 秒来播放流,从服务器捕获的第一帧开始播放。因此,经常会有 10 秒的延迟。
我试图找出导致这种延迟的原因:
我的第一个想法是编解码器会延迟编码。在这种情况下,我应该在我的 ffserver 配置文件中包含什么编解码器?我尝试了许多视频编解码器(rawvideo、flv、mjpeg),但结果相同。
其次,是否可以在我的 ffmpeg 命令中包含一个参数来控制延迟?
另一方面,这种延迟会不会因为 VLC 播放器而发生?
我理解这个问题有点笼统。但是,如果您遇到类似问题,任何帮助将不胜感激。
FFserver 配置文件:
Port 8090
BindAddress 0.0.0.0
MaxClients 10
MaxBandwidth 40000
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 500M
ACL allow localhost
ACL allow 127.0.0.1
ACL allow 192.168.0.0 192.168.255.255
</Feed>
<Stream test.swf>
Feed feed1.ffm
Format swf
VideoCodec flv
VideoSize 640x480
VideoFrameRate …
Run Code Online (Sandbox Code Playgroud) vlc-media-player ffmpeg latency video-streaming video-codecs
我看到ONVIF 设备管理器找到了兼容摄像机的流 URL。但它是如何做到的呢?有没有办法找到ONVIF摄像机的RTSP路径?
video-streaming ×10
ffmpeg ×5
video ×3
h.264 ×2
streaming ×2
avi ×1
buffer ×1
codec ×1
dvr ×1
encoding ×1
framebuffer ×1
latency ×1
mjpeg ×1
netflix ×1
surveillance ×1
video-codecs ×1
windows ×1