【问题标题】:How to save raw h264 raspberry pi stream to .h264 file如何将原始 h264 覆盆子 pi 流保存到 .h264 文件
【发布时间】:2014-11-22 06:29:54
【问题描述】:

我们如何将树莓派中的 h264 udp 流保存到原始 .h264 文件中?

尝试将 raspivid 直接保存到原始视频,它可以工作。但是在流式传输到计算机后,.h264 在使用 VLC 播放时不显示任何内容。

树莓派脚本:

raspivid -t 0 -w 800 -h 600 -fps 16 -g 5 -b 1000000 -vf -o - | gst-launch-1.0  --gst-debug=3 fdsrc ! h264parse ! rtph264pay ! udpsink host=<<IP>> port=5000

在接收方:

gst-launch-1.0 -e -v udpsrc port=5000 ! application/x-rtp, clock-rate=90000, encoding-name=H264, payload=96 ! rtpjitterbuffer ! rtph264depay ! filesink location=test.h264

这个可以吗?

【问题讨论】:

  • 是 host= 在你的命令?它不会混淆外壳吗?它不应该被 'host=' ... 转义吗

标签: linux raspberry-pi gstreamer h.264


【解决方案1】:

如果您获取的是原始 h264(avc 格式),它可能无法作为文件播放。您可以强制将其转换为可以直接保存到文件的字节流,也可以使用带有 avc 的容器。

gst-launch-1.0 -e -v udpsrc port=5000 ! application/x-rtp, clock-rate=90000, encoding-name=H264, payload=96 ! rtpjitterbuffer ! rtph264depay ! h264parse ! "video/x-h264, format=byte-stream" ! filesink location=test.h264

gst-launch-1.0 -e -v udpsrc port=5000 ! application/x-rtp, clock-rate=90000, encoding-name=H264, payload=96 ! rtpjitterbuffer ! rtph264depay ! h264parse ! mp4mux ! filesink location=test.mp4

您还可以对发送方强制使用字节流格式:

raspivid -t 0 -w 800 -h 600 -fps 16 -g 5 -b 1000000 -vf -o - | gst-launch-1.0 --gst-debug=3 fdsrc ! h264parse ! "video/x-h264, format=byte-stream" ! rtph264pay ! udpsink host=<> port=5000

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-12
    • 1970-01-01
    • 2018-05-21
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    • 1970-01-01
    • 2012-03-23
    相关资源
    最近更新 更多