如何使用 MPEG-TS 创建动态延迟修复?
我的媒体播放器可以播放几个视频(原始视频 - 多播地址,视频流为 MPEG-TS) 每当我播放两个视频流时,我都会看到其中一个流出现延迟。 我想创建一个延迟修复,将两个流同步到最近的时间戳,这样我就可以同步看到延迟 3 秒后发生的事情。 目标是实现两个流的同步并让我知道它们之间的延迟。 ...
我的媒体播放器可以播放几个视频(原始视频 - 多播地址,视频流为 MPEG-TS) 每当我播放两个视频流时,我都会看到其中一个流出现延迟。 我想创建一个延迟修复,将两个流同步到最近的时间戳,这样我就可以同步看到延迟 3 秒后发生的事情。 目标是实现两个流的同步并让我知道它们之间的延迟。 ...
当尝试使用以下语法的 ffmpeg 命令连续循环播放视频时: ffmpeg -re -stream_loop -1 -i abc.mp4 -c copy -f flv rtmps://abc.xyz/..... 我遇到了一个问题,该过程在几个小时后自动终止。错误消息包含以下详细信息: av_interleaved_write_frame(): Broken pipe [flv @ 0x55d73001dd00] Failed to update header with correct duration. [flv @ 0x55d73001dd00] Fai...
我需要从一台 VM 通过 USB 到 TTL 转换器传输视频信号,并在另一个 USB 到 TTL 转换器上接收它,然后在第二台 VM 上显示接收到的流(转换器上的比特率足以传输我的视频)。 我可以在主机 VM 上顺利流式传输或播放“ffmpeg 化”的视频,问题始于接收端。 我使用以下方式播放视频: ffmpeg -i file.mp4 -f matroska - > /dev/ttyUSB0 在接收端,我尝试播放: ffmpeg -I /dev/ttyUSB0 -f mpegts – | ffplay – 或类似组合 cat /dev/ttyU...
我必须使用 NVIDIA Jetson-AGX 设备上的 gst-play-1.0 / gst-launch-1.0 命令显示 RTSP 流。 这些是我尝试过的命令: 1. gst-play-1.0 $ gst-play-1.0 rtsp://192.168.1.xxx:8554/main.264 在这种情况下,终端仍然停留在: Press 'k' to see a list of keyboard shortcuts. Now playing rtsp://username:[email protected]:554 Pipeline is l...
我想将 MP4 视频转换为 HLS 多分辨率(360、720)并在输出段中添加水印图像。 我得到了两个结果,但是缺少具有多尺度的水印图像: // one hls with water mark image ffmpeg \ -i input.mp4 \ -i watermark.png \ -filter_complex "[0:v][1:v] overlay=10:10:format=auto,format=yuv420p" \ -c:a copy -b:a 128k -c:v libx264 -crf 23 \ -f hls \ -hls_time 3 ...
我已经设置了 RTMP/RTSP 流媒体服务媒体MTX在我的桌面上。 然后,我将从 OBS Studio 流式传输到: Server: rtmp://localhost/ Stream Key: stream 这让我剩下 2 个流: RTMP: rtmp://localhost/stream RTSP: rtsp://localhost:8554/stream 然后设置 MediaMTX 使用 将流同时重新分发到 YouTube、Twitch 和 Facebook ffmpeg。 流式传输到 YouTube 和 Twitch 没有问题。但每当我尝试流式传...
我以编程方式对 VP9 RTP 流进行编码和解码,偶尔会遇到如下的彩色伪影: 在 ffmpeg 日志中(无论是使用ffplay还是我自己的代码),这通常与此类消息一致 [sdp @ 0x14de06880] max delay reached. need to consume packet [sdp @ 0x14de06880] RTP: missed 18 packets 因此,可以推测,解复用器无法再等待数据包,解码器会产生不完整的内容。有没有办法检测此情况并丢弃不完整的帧,或者我应该注意什么来修复此问题? ffmpeg 的 RTP 中的 VP9 支...
由于内存使用情况,我们需要使用缓冲解决方案在内存中加载一小块流,而不是加载整个流: avformat_network_init(); std::uint8_t *avioc_buffer = static_cast<uint8_t *> (av_malloc(AV_BUFFER_BLOCK_SIZE)); avioc_ = avio_alloc_context( avioc_buffer, AV_BUFFER_BLOCK_SIZE, 0, &data_provider_, &ReadAVB...
在 Ubuntu 18.04 中,我经常使用以下命令来修剪视频的一部分,而无需重新编码(这意味着没有任何质量损失)。 ffmpeg -ss 00:06:00 -i DSCF5984.MOV -t 00:07:00 -c copy DSCF5984_A_wszystkie.MOV 不久前我换到了 Ubuntu 22.04。仍然使用相同的摄像机并使用相同的录制格式,当使用上述命令时,我收到了非常奇怪的错误,并且行为是意外的。在这种情况下,mov 文件是 40 秒的文件。我想从第 6 秒开始获取 7 秒的片段(因此从 6 秒到 13 秒)。但事实并非如此,我从文...
我使用视频采集卡,它假装是网络摄像头,以便将视频从另一个系统输出到 Windows 11 平板电脑或其他 PC。您无法全屏显示相机应用程序 - 所以我尝试从 VLC 运行它。Windows 相机上的视频质量与我需要的一样好。VLC 不是。 图形上它默认为土豆模式和4:3 VLC 设置 我有尝试过将其改为 16:9。它不粘 这是来自 VLC 的编解码器信息 后来我尝试将显示分辨率设置为与 Windows 摄像头以及我所捕获的系统相同的分辨率 - 通过在视频尺寸下设置 1920x1080,它仍然非常抗锯齿并且难以阅读,但略有改善 如何设置 VLC,以免将...
YouTube 能否一次性发送一个视频文件,然后多个用户都可以播放?还是 YouTube 需要将文件分别发送给每个人,即使所有用户都居住在同一个地区? 如果是第二种情况,除了 P2P 之外,还有其他方法可以让 ISP 处理并行性或类似的东西吗? (编辑)除了 YouTube,还有其他方法吗?发送一次文件,然后多次下载,可能同时下载(实时)。我的意思是,我们是否可以将文件发送到多个 IP,而只需上传一次?(这里不讨论云服务) ...
我知道还有其他一些现代媒体播放器。但电影和电视在 HDR 方面表现相当不错。现在我发现它唯一的缺点可能是缺乏从链接播放视频的功能。 例如,m3u8 链接。 ...
我有一个 Auvidea 视频编码器/解码器,它允许我通过 RTSP 传输视频。我想将视频流从它重定向到另一台服务器。作为服务器,我使用 MediaMtx 软件(以前称为 rtsp-simple-server),该软件安装并运行在具有公共 IP 的台式计算机上,为了重定向视频流,我使用 ffmpeg。 不幸的是,在测试期间,我注意到 ffmpeg 无法连接到 MediaMTX 服务器。有人能建议需要更改/检查哪些内容才能解决此错误吗?我尝试自己寻找解决方案,但完全陷入困境。 FFmpeg 日志: $ ffmpeg -re -i rtsp://xxx.xxx...
我一直在尝试制作文件夹中视频列表的无限循环。出于测试目的,我仅使用 2 个视频作为输入。然后我将它们连接起来以产生 1280X720 的输出。 但是,当我这样做时,我注意到它占用了我服务器的所有内存,该服务器有 16GB 内存和 4GB 的 swp 内存。 在我开始编码过程之前,交换内存为 2.95 GB,内存约为 1 - 1.5GB。 每次我运行它,编码大约需要 7 分 37 秒。然后内存和 swp 内存全部填满,ffmpeg 退出而无任何响应。 我的 ffmpeg 命令是: ffmpeg -hide_banner -y -stats -fflags +g...
我家里的电脑运行着 Ubuntu Server,电脑上插着一个 USB 网络摄像头。我想远程访问它的视频源。 我通过 VPN 连接到服务器的网络,因此我可以使用类似 的工具通过 SSH 进入服务器,并通过这种方式运行命令。ssh [email protected] 我尝试了很多命令,也研究了其他解决方案。iSpyConnect 要求您支付远程流媒体费用,而且我无法让 go2rtc 工作。 cvlc -I dummy -vvv v4l2:///dev/video0将在终端中以 ASCII 格式显示视频源,这告诉我们网络摄像头可以正常工作。 当我不在家...