Hi.
It seems that ffserver sets sample_aspect_ratio to an invalid value and lavf
rejects it.
I am not sure what I am doing here, but the attached patch actually solves
something: using the following config:
CustomLog -
NoDaemon
RTSPPort 5454
<Stream test1-rtsp.mpg>
Format rtp
File "/tmp/test1-rtsp.mpg"
</Stream>
it allows a somewhat old ffplay (unaffected by the content-base issue I
spoke of in another thread) to play the stream.
Without it, ffserver logs this and closes the stream:
Wed Feb 16 14:52:14 2011 [rtp @ 0x1399de0]Aspect ratio mismatch between encoder and muxer layer
Regards,
--
Nicolas George
From 1b89c3c2164335060e87567b27deb0d354e0a814 Mon Sep 17 00:00:00 2001
From: Nicolas George <nicolas.george@normalesup.org>
Date: Wed, 16 Feb 2011 14:44:31 +0100
Subject: [PATCH] ffserver: set the sample aspect ratio.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
It is pretty hopeless that other considerable projects will adopt
libavutil alone in other projects. Projects that need small footprint
are better off with more specialized libraries such as gnulib or rather
just copy the necessary parts that they need. With this in mind, nobody
is helped by having libavutil and libavcore split. In order to ease
maintenance inside and around FFmpeg and to reduce confusion where to
put common code, avcore's functionality is merged (back) to avutil.
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
in favor of the newly added corresponding functions
av_parse_video_size() and av_parse_video_rate() defined in
libavcore/parseutils.h.
This change also adds a linking-time dependency of libavcodec and of
libavfilter on libavcore.
Originally committed as revision 24518 to svn://svn.ffmpeg.org/ffmpeg/trunk
ff_url_split() is retained as an alias, as it was used by ffserver,
to avoid breaking ABI compatibility with it.
Originally committed as revision 23822 to svn://svn.ffmpeg.org/ffmpeg/trunk
when reading a live feed, should retry regardless of whether any client has
opened the stream.
Originally committed as revision 23621 to svn://svn.ffmpeg.org/ffmpeg/trunk
This fixes cases where ist->start_time wasn't initialized. This also makes
cur_pts calculated against the same origin for all streams.
Originally committed as revision 23450 to svn://svn.ffmpeg.org/ffmpeg/trunk
This is probably what was originally intended; the codec pointers are all NULL.
Fix by Howard Chu, hyc at highlandsun dot com
Originally committed as revision 23295 to svn://svn.ffmpeg.org/ffmpeg/trunk
Don't allocate st->codec, it will be overwritten by the memcpy a few
lines further down.
Fix by Howard Chu, hyc at highlandsun dot com
Originally committed as revision 23291 to svn://svn.ffmpeg.org/ffmpeg/trunk
Keep an old ff_ named function for binary compatibility until the
next major bump.
Originally committed as revision 23254 to svn://svn.ffmpeg.org/ffmpeg/trunk
in its place.
av_metadata_set() is going to be dropped at the next major bump.
Originally committed as revision 22961 to svn://svn.ffmpeg.org/ffmpeg/trunk
we'd memset() the codec context to zero, thereby setting audio input to U8
and video to YUV420P. For most video encoders, that actually works, but for
most audio codecs, it doesn't. This patch changes defaults to those set by
avcodec_context_get_defaults() and have ffmpeg figure out the optimal encoding
format itself if not set explicitely (as it does for the non-ffserver-cases
also).
Originally committed as revision 22751 to svn://svn.ffmpeg.org/ffmpeg/trunk
This deprecated function is only used by ffserver, yet does not have
a prototype visible there.
In the long term, ffserver should be made IPv6-aware. In the meantime,
this change removes cruft from lavf and fixes some warnings in ffserver.
Originally committed as revision 22329 to svn://svn.ffmpeg.org/ffmpeg/trunk
intreadwrite.h is not part of the public API and should thus
not be used by the ff* applications.
Originally committed as revision 22293 to svn://svn.ffmpeg.org/ffmpeg/trunk