我正在尝试使用网络摄像头进行一些流式传输,但到目前为止,结果并不好:我以 320x240 进行流式传输的所有内容看起来都不错,但一旦我选择更高分辨率,图像质量就会变得很糟糕,CPU 使用率也会下降穿过屋顶。
我使用的是 Logitech C525 摄像头,该摄像头声称是高清的,原始分辨率为 1280x720)。
如果1280x720是原生分辨率,我想知道为什么质量这么差?
我使用 VLC 进行流式传输,并使用以下 vlm 配置文件:
new camNumber2 broadcast enabled
setup camNumber2 input v4l2:///dev/video2:width:320:heigth:240
setup camNumber2 output #transcode{vcodec=mpeg4,acodec=none,vb=1000}:standard{access=http,mux=ogg,dst=0.0.0.0:8080}
control camNumber2 play
Run Code Online (Sandbox Code Playgroud)
就像我说的,一旦我把分辨率提高到更高,质量就会下降到一团糟。
我怀疑我的视频输入设置可能有问题,VLC 只是尝试将图像放大到我请求的分辨率,而不是按照请求的分辨率抓取图像。
这个问题在这里、这里和这里之前已经回答过。所有答案都说,当您将 Android 手机与 Windows PC 配对并在手机上点击播放时,它基本上可以正常工作。我已经尝试过了,但它对我不起作用。
当我在手机上播放音乐时,内部扬声器确实是静音的,就像在播放蓝牙扬声器一样。但 PC 也保持沉默。我不知道如何在 Windows 中验证蓝牙手机是否用作音频输入设备。它不在“录音设备”列表中,音量混合器也不显示任何蓝牙音频源。我的手机确实显示为“Bluetooth Audo Renderer (Xperia Acro S)”的播放设备。但这与我想要的完全相反(也不起作用,但这不是这里的问题)
对其他问题的三个答案是错误的吗?难道我做错了什么?或者有什么东西坏了?我感谢任何帮助调试这个问题,我很乐意提供任何需要的信息。
细节:
手机音乐 -> 2. Android -> 3. 蓝牙 -> 4. Windows -> 5. PC 扬声器
我正在尝试拍摄 5 分钟的视频文件并生成单文件HTTP Live Stream 播放列表和.ts文件。从 iOS 5 开始,播放列表文件格式可以支持字节范围而不是单独的文件,这是我的用例的一个很好的目标。但是,当我运行我的ffmpeg命令时,结果.m3u8播放列表中的第一个条目不会从(甚至接近)字节 0 开始。
例如:
ffmpeg -i input -hls_flags single_file out.m3u8
Run Code Online (Sandbox Code Playgroud)
产生这样的播放列表:
#EXTM3U
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:11
#EXT-X-MEDIA-SEQUENCE:63
#EXTINF:1.376367,
#EXT-X-BYTERANGE:568324@63107840
out.ts
#EXTINF:1.334667,
#EXT-X-BYTERANGE:235564@63676164
out.ts
#EXTINF:1.918589,
#EXT-X-BYTERANGE:343288@63911728
out.ts
#EXTINF:10.427078,
#EXT-X-BYTERANGE:3311996@64255016
out.ts
#EXTINF:5.672333,
#EXT-X-BYTERANGE:52828@67567012
out.ts
#EXT-X-ENDLIST
Run Code Online (Sandbox Code Playgroud)
请注意,第一个EXT-X-BYTERANGE条目不是@0——它在 68 MB.ts文件中大约有 63 MB 。实际上,当将播放列表加载到<video>标签中并使用 Safari 打开 HTML 时,视频播放从输入视频的结尾开始大约 20 秒,而不是从 0 开始,并且无法更早地进行清理。
为什么ffmpeg制作了不包含所有视频的播放列表?当我观看.ts播放列表旁边生成的文件时,所有视频内容都存在。
我在 Linux 下最近的ffmpeg …
我正在尝试使用 RTP 在 2 台主机之间流式传输视频。我以前使用 VLC 使用以下 2 个命令解决了这个问题
cvlc video_file.mp4 --sout "#transcode{vcodec=h264, acodec=mpga, ab=128, channels=2, samplerate=44100}: duplicate{dst=rtp{dst=10.X.X.X, port=5004, mux=ts}}" --run-time 40 vlc://quit
cvlc rtp://@:5004 --sout "#transcode{vcodec=h264, acodec=mpga, ab=128, channels=2, samplerate=44100}: std{access=file, mux=mp4, dst=downloaded.mp4}" --run-time 40 vlc://quit
现在我想用 FFMPEG 实现相同的目标。等效的命令是什么?
ffmpeg -re -i video_file.mp4 -vcodec libx264 -an -f rtp rtp://10.X.X.X:5004 -vn -acodec libtwolame -f rtp rtp://10.X.X.X:5005
ffmpeg -i rtp://10.X.X.X:5004 -vcodec libx264 -an -i rtp://10.5.19.244:5005 -acodec libtwolame -vn -t 00:00:35 downloaded.mp4
但是,我无法以这种方式记录接收到的流。
我希望能够使用 mpv --ytdl播放和保存视频。我怎么会那样做?特别重要的是缓冲区也得到了保存。
基本上,我想从 youtube 播放视频,然后退出 mpv 并且仍然能够继续观看视频直到它被加载 - 这就是为什么我还需要将缓冲区保存到文件中。
我已经尝试使用 youtube-dl -o - 将视频流式传输到标准输出,然后使用 mpv 进行管道传输,即
youtube-dl -o - | mpv -
Run Code Online (Sandbox Code Playgroud)
(我的想法是我可以使用 tee 来拆分流并将其简单地写入文件)-但是,这有一个问题,即我无法使用 mpv 来浏览视频-它只是一个来自 stdin 之后的固定流全部。我的另一个想法是使用 mpv 的 -o 选项来指定输出文件。但是,这不会保存内部缓冲区。
我有一个使用 ADSL 技术的电视服务。这意味着我的电视基本上是通过互联网流式传输所有内容。
今天有人告诉我,这至少需要 1MB/s 的上行链路才能工作。那是对的吗?
请注意,我不是在谈论带宽下降,这会高得多。这是up,换句话说,我的电视提供商的机顶盒需要至少 1MB/s 的上传容量才能以 2-3MB/s 的速度向下传输(我猜是这样)。
它在发送什么?确认?
所以我已经能够成功地将 RTP 视频流从我的服务器发送到 LAN 上另一个系统上的客户端并使用 ffplay 播放它。我现在想使用 RTSP 在同一网络上发送视频,以便客户端可以接收视频并可以有其他选项,例如暂停视频等。 谁能给我一个通用指南或指向我可以帮助我的资源完成我的任务?
更新:
我试过这些命令:
ffmpeg -re -i input -f rtsp -rtsp_transport tcp rtsp://localhost:8888/live.sdp
ffplay -rtsp_flags listen rtsp://localhost:8888/live.sdp
Run Code Online (Sandbox Code Playgroud)
它确实开始实时流式传输视频,但我实际上看不到任何控制媒体流的选项,例如播放、录制等!
注意:我目前用于 RTSP 的 .sdp 文件与我用于 RTP 流的文件相同。
我有一个独特的情况,我想通过网络将音频(所有音频,而不仅仅是 mp3 等)从我的笔记本电脑流式传输到另一台计算机。我住在一室公寓里,我的笔记本电脑是我的主要电脑,但我希望它的音频可以在我的 htpc 上播放,并带有一个不错的立体声系统。既然是工作室,两台电脑都在同一个房间里,所以我不想要两套扬声器。我想让我的电脑直接通过立体声播放。
我曾经用pulseaudio来做这件事,但我现在的工作要求我全职运行Windows。我知道 Shoutcast 和其他类似的流媒体解决方案,但我不想完成任何转码。这是 CPU 的浪费,更不用说我的笔记本电脑粉丝了,而且我不介意未压缩音频所需的网络带宽。有没有办法在没有编码的情况下运行 Shoutcast?
另外,我知道 Windows 远程桌面可以很容易地通过网络播放音频。这是 .Net 的一部分,我可以编写一个简单的应用程序来流式传输音频而无需 RD'ing 吗?
我也不想通过物理线路运行它。:)
我正在寻找一些非常简单的软件来从网络摄像头广播视频。
PC 运行 Vista,网络摄像头是标准的 MS 摄像头。
我想要做的就是在网络浏览器中访问相机的输出。我可以处理所有的网络,所以只需要软件。
有人在这里有很好的经验吗?
我知道它是一个“控制台”问题,但它实际上更像是一个Media Center Extender问题!
我可以通过视频/图片选项访问数据,但不能通过媒体中心应用程序访问。
此外,我只能看到直接位于 WHS 的 Videos 文件夹中的视频,而不能看到任何子文件夹。在我的笔记本电脑中也是如此,如果我通过媒体播放器连接到我的 WHS,它只会显示 Videos 上的视频,而不显示任何其他子文件夹,但是如果我打开 Media Center,我可以连接到服务器并查看所有文件夹。