FFMpeg avformat_write_header всегда возвращает <0IOS

Программируем под IOS
Ответить
Anonymous
 FFMpeg avformat_write_header всегда возвращает <0

Сообщение Anonymous »

Мы попросили фрилансера создать видеокодер с помощью FFMPeg для iOS, но возникла ошибка, и фрилансер больше недоступен. У меня очень мало опыта в FFMpeg и кодировании видео, и я пытаюсь устранить эту ошибку.

Насколько я понимаю, мы пытаемся создать выходной файл и создать заголовок для однако avformat_write_header всегда меньше нуля. Если я это закомментирую, это не сработает

- (BOOL) writeHeaderWithError:(NSError *__autoreleasing *)error {
AVDictionary *options = NULL;

// Write header for output file
int writeHeaderValue = avformat_write_header(self.formatContext, &options);
if (writeHeaderValue < 0) {
if (error != NULL) {
*error = [FFUtilities errorForAVError:writeHeaderValue];
}
av_dict_free(&options);
return NO;
}
av_dict_free(&options);
return YES;
}


Ниже приведен соответствующий код того, как мы создаем экземпляр FFOutputFile

- (AVFormatContext*) formatContextForOutputPath:(NSString*)outputPath options:(NSDictionary*)options {
AVFormatContext *outputFormatContext = NULL;
NSString *outputFormatString = [options objectForKey:kFFmpegOutputFormatKey];

int openOutputValue = avformat_alloc_output_context2(&outputFormatContext, NULL, [outputFormatString UTF8String], [outputPath UTF8String]);
if (openOutputValue < 0) {
avformat_free_context(outputFormatContext);
return nil;
}
return outputFormatContext;
}

- (void) addOutputStream:(FFOutputStream*)outputStream {
[self.streams addObject:outputStream];
}

- (id) initWithPath:(NSString *)path options:(NSDictionary *)options {
if (self = [super initWithPath:path options:options]) {
self.formatContext = [self formatContextForOutputPath:path options:options];
self.streams = [NSMutableArray array];
self.bitstreamFilters = [NSMutableSet set];
}
return self;
}


Подробнее здесь: https://stackoverflow.com/questions/331 ... -returns-0
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»