-1

There is an Encoder that streaming other monitors screen to my pc with rtsp protocol. Everything is ok when streaming format YUV422p or lower, but when I configurate it as YUV444P getting error such as bellow:

ffmpeg -i rtsp://10.1.10.14:3049/S1 out.mp4

[h264 @ 0000020ad88e9500] separate color planes are not supported

Last message repeated 2 times

[h264 @ 0000020ad88e9500] Error decoding the extradata        
[h264 @ 0000020ad88e9500] separate color planes are not supported 

Last message repeated 2 times

[h264 @ 0000020ad88e9500] non-existing PPS 2 referenced           
Last message repeated 1 times
[h264 @ 0000020ad88e9500] decode_slice_header error           
[h264 @ 0000020ad88e9500] non-existing PPS 2 referenced       
[h264 @ 0000020ad88e9500] decode_slice_header error           
[h264 @ 0000020ad88e9500] no frame!
[h264 @ 0000020ad88e9500] non-existing PPS 2 referenced           
Last message repeated 1 times
[h264 @ 0000020ad88e9500] decode_slice_header error           
[h264 @ 0000020ad88e9500] non-existing PPS 2 referenced       
[h264 @ 0000020ad88e9500] decode_slice_header error           
[h264 @ 0000020ad88e9500] no frame! 

I tried ffprobe -show_format to see streams' details but it gives same error.

I'm waiting for your precious helps.

Best Regards

about YUV

similar but was can't solved issues

2 Answers2

1

Your encoder (monitor) sends H264 streams using the residual_color_transform_flag feature, which FFmpeg's H264 decoder does not support. If you can, disable this feature. Else, you'll have to stick with 4:2:2.

Ronald S. Bultje
  • 10,828
  • 26
  • 47
  • I'm pleased to your answer, I will investigate more this flag but I wonder that how can we sure this is rigth approach ? Because I extract the header file of these streams and got this https://ibb.co/1rLpNR2 . As you can see, there is no residual_colour_transform_flag. https://www.cardinalpeak.com/blog/the-h-264-sequence-parameter-set Furthermore in this article residual_colour_transform_flag is seen after chroma_format_idc but not in mine. – Enes Tezcan Jun 01 '22 at 06:22
  • residual_colour_transform_flag and separate_colour_plane_flag are supposedly the same thing, see http://intel.github.io/libva/va_8h_source.html#l03484 – Ronald S. Bultje Jun 01 '22 at 13:42
  • oh ok that's true but I think there must be a way to change stream's sps header. Also I tried create a webcam stream and listened with other terminal so I could listen with yuv444p. After that listed header file -as you say- residual_color_transform_flag is zero on this stream. – Enes Tezcan Jun 02 '22 at 08:06
0

Enes, first of all, try to play the stream via ffplay or vlc. Is everything ok ? ( ie : ffplay -i rtsp://bla... ) if everthing works

change the ffmpeg command as below and try again

ffmpeg -i rtsp://10.1.10.14:3049/S1 -vcodec libx264 -acodec aac -strict experimental -f mp4 out.mp4
Emre Karataşoğlu
  • 1,649
  • 1
  • 16
  • 25
  • Firstly, thanks for your interest. But unfortunately there is same scenario with ffplay and your ffmpeg command. Meanwhile vlc also can't play when yuv444p. – Enes Tezcan May 30 '22 at 11:58