I've been trying to use smem module to access raw frame data from the h264 encoded stream of c920 webcam, but the video callbacks were never called.
After some trials I realised that the problem is in transcoding to a raw format. For instance, the following command
Code: Select all
cvlc v4l2:///dev/video0:chroma="H264":width=1920:height=1080:fps=30 --live-caching=200 --swscale-mode=0 --avcodec-codec=h264 --avcodec-hw=vdpau --avcodec-threads=1 --sout='#transcode{vcodec=RV24}:std{access=file,mux=avi,dst=out.avi}'
However, if i use any compressed format, flv or h264 for instance, the output file is created and has valid data, Similarly, smem works properly in this case if used instead of std module.
Some stuff I tried and validated to help isolating the issue:
1- Capturing and displaying works fine (without --sout altogether)
2- Using vdpau or no hardware acceleration does not change the issue behaviour
3- Transcoding to raw format works fine in Lubuntu 14.04 using vlc version 2.1.6 and 2.2.2
4- Transcoding the raw format fails as explained on Lubuntu 16.04 using vlc versions 2.2.2 and 2.2.4
Any help is much appreciated.
Cheers,
Tee