ffmpeg推流颜色偏绿

Viewed 143

问题描述


推流命令:
ffmpeg -f v4l2 -input_format nv12 -s 1280x720 -framerate 30 -r 30 -i /dev/video1
-c:v h264_v4l2m2m -b:v 4000000
-rtsp_transport tcp -f rtsp rtsp://127.0.0.1:8554/live
画面偏绿:
image.png

硬件板卡


立创庐山派K230

软件版本


k230_canmv_lckfb_debian_v0.6.9_nncase_v2.10.0.img.gz

2 Answers

试一试这个命令:ffmpeg -f v4l2 -input_format nv12 -s 1280x720 -framerate 30 -r 30 -i /dev/video1 -c:v h264_v4l2m2m -b:v 4000000 -g 30 -f h264 - | ffmpeg -f h264 -i - -c:v copy -rtsp_transport tcp -f rtsp rtsp://127.0.0.1:8554/live.

老师,还是偏绿
6351f51a-f65b-45a8-9168-8209902d9db1.png
但下列命令拍照,图像正常
1、先把 /dev/video1 强制设为 1920x1080 NV12
v4l2-ctl -d /dev/video1 --set-fmt-video=width=1920,height=1080,pixelformat=NV12
2、抓取 1920*1080 NV12 单帧
v4l2-ctl -d /dev/video1 --stream-mmap --stream-count=1 --stream-to=test_1080.nv12
3、转图片(尺寸同步改成 1920x1080)
ffmpeg -f rawvideo -s 1920x1080 -pix_fmt nv12 -i test_1080.nv12 test_1080.png
image.png
K230 Linux SD文档,3.4.1多媒体使用指南章,中的4.1采集摄像头视频并编码
ffmpeg -f v4l2 -input_format nv12 -r 30 -s 1920x1080 -i /dev/video1 -c:v h264_v4l2m2m -b:v 4M -vsync passthrough -y test.mp4
画面也是偏绿

使用以下命令去把视频画面录制到本地,看是否正常:ffmpeg -f v4l2 -input_format nv12 -r 30 -s 1920x1080 -i /dev/video1 -c:v h264_v4l2m2m -b:v 4M -vsync passthrough -y test.mp4。

上面的录像命令如果是正常的,就说明数据流本身是正确的。然后推送数据流到流媒体这个步骤出了问题,可以换一个流媒体服务器。我前面使用ZLMediaKit 做了测试,是没问题的。

画面还是偏绿

可以使用的,https://download.kendryte.com/k230/release/linux_sdk_images/daily_build/,image.png