我需要从一台 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/ttyUSB0 | ffplay -
并保存到文件:
ffmpeg -i /dev/ttyUSB0 -b 900k -vcodec copy -r 60 -y ReceivedVideo.mp4
所有这些都给我带来了以下附近的错误:
/dev/ttyUSB0: Invalid data found when processing input
或者:
[h264 @ 0x0558b6e462300] decode_slice_header error
[h264 @ 0x0558b6e462300] no frame!
[NULL @ 0x0558b6e466900] UNABLE TO FIND CODEC PARAMETERS FOR STREAM 0 (Video: h264, none): unspecified size
我也是 Linux 操作系统和 ffmpeg 的新手,如果能得到一些帮助我将非常感激。
一些技术信息:
- 主机虚拟机:WSL12 上的 Debian 操作系统
- 接收虚拟机:VirtualBox 上的 Debian 操作系统
- USB 转 TTL:多产的Pl2303,波特率4Mbits
/dev/ttyUSB0
具有chmod -R 777
权限