[FFmpeg-user] Help needed to work around incorrect DTS when capturing H264 from a Logitech C920

Peter Rabbitson rabbit+list at rabbit.us
Mon Dec 15 19:12:17 CET 2014

On 12/15/2014 06:49 PM, Carl Eugen Hoyos wrote:
> Peter Rabbitson <rabbit+list <at> rabbit.us> writes:
>> ffmpeg -r 30 -f v4l2 -s 1920x1080 -vcodec h264
> I believe -r 30 does not do what you think it does
> and it may be the reason for the issues you see.
> Is there a problem if you remove it?

If I remove it it defaults to 30. It does seem to do exactly what I 
expect - it instructs the camera what framerate to use in the hardware 
encoder. If I use a number > 30, I get (paraphrasing, can't connect the 
camera at the moment) "driver changed supplied framerate to 30". 
Otherwise it respects -r [30,ntsc,25,15] as I would expect: the h264 
after -c:v copy is encoded at the appropriate rate.

>> -i /dev/v4l/by-id/*HD_Pro_Webcam_C920* \
>>     -c:v copy -f matroska -
> Since matroska is really the wrong format for this
> task: Does it make a difference if you write a raw
> stream? The advantage is that if the issue is still
> reproducible, you can use "-r 30" in a second run
> to smooth the timestamps.

How do I "write a raw stream" out? My understanding was that I *need* a 
container to put the h264 in, there is no mechanism to write out the 
"stream bytes". Or am I missing something...?

More information about the ffmpeg-user mailing list