小编sha*_*mer的帖子

如何将 []byte 对象转换为图像并将其作为 jpeg 图像存储在磁盘上

我正在尝试将 []byte 对象转换为图像并将其保存为 Golang 中的 jpeg。我尝试使用Decode图像功能,但它总是返回<nil>

func saveFrames(imgByte []byte) {
    img, _, _ := image.Decode(bytes.NewReader(imgByte))
   out, err := os.Create("./img.jpeg")

   if err != nil {
             fmt.Println(err)
             os.Exit(1)
   }
   err = jpeg.Encode(out, img)
   if err != nil {
            fmt.Println(err)
            os.Exit(1)
   }
}
Run Code Online (Sandbox Code Playgroud)

jpeg image go

7
推荐指数
1
解决办法
2万
查看次数

如何将视频(在磁盘上)转换为 rtsp 流

我的本地磁盘上有一个视频文件,我想从中创建一个 rtsp 流,我将在我的一个项目中使用它。一种方法是从 vlc 创建一个 rtsp 流,但我想用代码来做(python 会更好)。我已经尝试过这样的 opencv 的 VideoWritter

import cv2

_dir = "/path/to/video/file.mp4"
cap = cv2.VideoCapture(_dir)

framerate = 25.0
out = cv2.VideoWriter(
    "appsrc ! videoconvert ! x264enc noise-reduction=10000 speed-preset=ultrafast tune=zerolatency ! rtph264pay config-interval=1 pt=96 ! tcpserversink host=127.0.0.1 port=5000 sync=false",
    0,
    framerate,
    (1920, 1080),
)


counter = 0
while cap.isOpened():
    ret, frame = cap.read()
    if ret:
        out.write(frame)
        print(f"Read {counter} frames",sep='',end="\r",flush=True)
        counter += 1
        if cv2.waitKey(1) & 0xFF == ord("q"):
            break
    else:
        break

cap.release()
out.release()
Run Code Online (Sandbox Code Playgroud)

但是当我像这样在 vlc 上流式传输它时

vlc …

python opencv rtsp gstreamer

5
推荐指数
1
解决办法
9323
查看次数

标签 统计

go ×1

gstreamer ×1

image ×1

jpeg ×1

opencv ×1

python ×1

rtsp ×1