Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > открытие файла в ffmpeg


Автор: vlarry 6.4.2011, 14:50
Добрый день, форумчане!Я начал осваивать связку SDL+ffmpeg...При открытии файла функцией 
Код

av_open_input_file()

она мне возвращает, что не может найти файл или директорию...уже и полный путь указывал и все тоже самое...в чем может быть ошибка?

Автор: vlarry 6.4.2011, 15:46
неужели никто не работал с этой библиотекой?  smile как уже только не пробовал

Автор: Alca 6.4.2011, 16:15
Как задавал путь?

Добавлено через 41 секунду
Где код, Билли?  smile

Добавлено через 2 минуты и 49 секунд
http://ffmpeg.arrozcru.org/forum/viewtopic.php?f=8&t=832&st=0&sk=t&sd=a&start=0

Добавлено через 5 минут и 15 секунд
http://readlist.com/lists/mplayerhq.hu/ffmpeg-user/0/3975.html

Автор: vlarry 6.4.2011, 16:25
Код

int main(int argc, char* argv[])
{
    Error error[8] = {
                        {AVERROR_UNKNOWN,     "Unknown error"},
                        {AVERROR_IO,          "I/O error"},
                        {AVERROR_NUMEXPECTED, "Number syntax expected in filename"},
                        {AVERROR_INVALIDDATA, "invalid data found"},
                        {AVERROR_NOMEM,       "not enough memory"},
                        {AVERROR_NOFMT,       "unknown format"},
                        {AVERROR_NOTSUPP,     "Operation not supported"},
                        {AVERROR_NOENT,       "No such file or directory"}
                    };
    char filename[50] = "1.mp4"; // имя видеофайла

    avcodec_register_all(); // регистрируем все кодеки библиотеки
    AVFormatContext *pFormatCtx;

    // открываем видео файл
    int err;

    if((err = av_open_input_file(&pFormatCtx, filename, NULL, 0, NULL)) != 0)
    {
        for(int count = 0; count < 8; count++)
        {
            if(err == error[count].code_err)
                std::cerr << "error = " << error[count].name_err << std::endl;
                //printf("error = %s\n", error[count].name_err);
        }
        //return -1;
    }
    else
        printf("file is open\n");
}

Автор: Alca 6.4.2011, 16:29
Код

avcodec_register_all();
avdevice_register_all();
av_register_all();
 ???

Цитата

It should do if you prepend "file://" to the filename. You might also
have to replace any occurances of "\" with "/".
 ???

Автор: vlarry 6.4.2011, 17:05
спасибо большое, в который раз меня выручаетеsmile...еще раз спасибо!!!

Автор: Alca 6.4.2011, 17:11
Спасибо не булькает  smile 

Автор: vlarry 6.4.2011, 17:16
хотел добавить +1 к рейтингу, да не разрешают...надо 100 постов smile 

Автор: Alca 6.4.2011, 17:17
Пометь тему решенной и прошлую тоже

Добавлено через 40 секунд
Цитата

хотел добавить +1 к рейтингу, да не разрешают...надо 100 постов

тогда в следующей жизни  smile 

Автор: vlarry 6.4.2011, 17:47
хорошо, и еще раз спасибо

Автор: ecspertiza 7.4.2011, 09:41
плюсанул за vlarry, мне сие тема тоже интересна

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)