Those APP field messages are not errors. What you are seeing is Logitech's proprietary motion-jpeg format that they use in many of their web cameras. I have seen it in the C270 and the newer c922, for example. The mjpeg stream contains a sequence of jpeg images, some are key frames, the complete image, and some are other frames such as delta frames, describing the differences between frames. What Logitech does is embed an H264 stream into the mjpeg stream by attaching H264 data onto the jpeg frames as APP attachments, i.e. it's a stream within a stream. As you play or transcode data from the mjpeg stream, ffmpeg runs into these APP attachments and doesn't know what to do with them. I believe programs such as Skype are able to read both the outer mjpeg stream and the inner H264 stream.
If you want to see this for yourself, you can encode a small video from the mjpeg stream of your cam, then extract the jpeg images, then view the structure of the jpeg images and you will see the embedded video.
# create a small mp4, copying mjpeg stream off the cam for a second or two
$ ffmpeg -f v4l2 -input_format mjpeg -i /dev/video0 -c:v copy test.mp4
# extract the unaltered jpeg files inside the stream
$ ffmpeg -i test.mp4 -vcodec copy %03d.jpg
# view any of the jpeg files for APP attachments
$ exiv2 -pS 001.jpg
STRUCTURE OF JPEG FILE: 001.jpg address | marker | length | data
0 | 0xffd8 SOI
2 | 0xffe0 APP0 | 33 | AVI1.....x.x....................
37 | 0xffdb DQT | 67
106 | 0xffdb DQT | 67
175 | 0xffdd DRI | 4
181 | 0xffe0 APP0 | 4 | ....
187 | 0xffc0 SOF0 | 17
206 | 0xffda SOS
See those APP0 attachments on the jpeg? That's the embedded H264 data that the decoders/players are complaining about.