Были у меня http потоки mjpeg'a с камер всяких, я их спокойно avformat'ом на AVPacket'ы разбирал, потом avcodec'ом декодил и энкодил в h264. Потом опять же avformat'ом запихивал в flv контейнер.
Тут появились камеры, которые могут сразу h264 поток отдавать. То, что rtsp - это не проблема, благо ffmpeg сам умеет с ним работать, но вот обойтись без транскодирования пока никак не выходит. Т.е. если как раньше делать, то все ок - получаеся смотрибельный flv, а вот когда пытаюсь avformat'ом прочитаь и сразу же записать в flv, то получается ерунда какая-то. VLC ругается так:
[h264 @ 0xb0b0d5b0] QP 120 out of range
[h264 @ 0xb0b0d5b0] decode_slice_header error
[h264 @ 0xb0b0d5b0] concealing 4000 DC, 4000 AC, 4000 MV errors
[h264 @ 0xb0b0d5b0] deblocking_filter_idc 32 out of range
[h264 @ 0xb0b0d5b0] decode_slice_header error
[h264 @ 0xb0b0d5b0] concealing 4000 DC, 4000 AC, 4000 MV errors
[h264 @ 0xb0b0d5b0] illegal memory management control operation 32
[h264 @ 0xb0b0d5b0] top block unavailable for requested intra mode at 6 0
[h264 @ 0xb0b0d5b0] error while decoding MB 6 0
[h264 @ 0xb0b0d5b0] number of reference frames exceeds max (probably corrupt input), discarding one
[h264 @ 0xb0b0d5b0] concealing 4000 DC, 4000 AC, 4000 MV errors
...
На сколько я понял av_read_frame читает ровно один видео фрейм и av_write_frame как раз его и требует, но что-то не срастается... Пробовал начинать писать с пакета, у которого стоит флаг AV_PKT_FLAG_KEY - ноль эффекта.
В чем может быть проблема?
PS. После «распада» ffmpeg что-то список рассылки не пашет...