[FFmpeg-devel] [RFC] avformat/mxfenc: stop encoding if unfilled video packet
Tobias Rapp
t.rapp at noa-archive.com
Mon Sep 28 15:11:32 CEST 2015
On 19.09.2015 22:49, Tomas Härdin wrote:
> On Wed, 2015-09-16 at 14:33 +0200, Tobias Rapp wrote:
>> Hi,
>>
>> attached patch fixes ticket #4759 but I guess it is a bit too hasty to
>> always abort transcoding if a single frame cannot be written. I guess it
>> would be better to check for some "exit_on_error" like flag set but
>> couldn't find out how to achieve that.
>>
>> Any comments would be appreciated.
>>
>> Regards,
>> Tobias
>
>
>> From 7d6f8de2a411817c970a19d8766e69b6eb604132 Mon Sep 17 00:00:00 2001
>> From: Tobias Rapp <t.rapp at noa-audio.com>
>> Date: Mon, 14 Sep 2015 12:06:22 +0200
>> Subject: [PATCH] avformat/mxfenc: stop encoding if unfilled video packet
>> occurs
>>
>> Fixes ticket #4759.
>> ---
>> libavformat/mxfenc.c | 14 +++++++++-----
>> 1 file changed, 9 insertions(+), 5 deletions(-)
>>
[...]
>
> Is this really better than not writing anything?
>
> /Tomas
(Sorry for the long delay in answering, I was caught by a flu last week.)
I want to transcode thousands of files and want to get some indication
from ffmpeg if the transcoding has been successful (all frames have been
transcoded) or not. Currently I am using the process exit code to verify
that.
There are two different user stories when using ffmpeg:
a) "process the input data and exit with error as early as possible in
case of errors/problems"
b) "process the input data and avoid exit with error as long as possible
in case of error/problems"
If I understand correctly I can basically switch between (a) and (b)
mode by passing the "-xerror" option to ffmpeg or not. So my plan is to
transcode all my files with "-xerror" and assume that >99% of the files
will pass. The small amount of failing ones can then be analyzed for
problems manually and possibly have a re-run without "-xerror".
Unfortunately the "-xerror" option affects only ffmpeg but not the
libraries, so I cannot use it do decide if "mxf_write_packet" should
return with an error when the video packet size doesn't match the CBR
constraints.
Regards,
Tobias
More information about the ffmpeg-devel
mailing list