Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
70 / 14 / 4
Регистрация: 10.07.2018
Сообщений: 308

Какая-то шляпа при подключении FFMPEG к VS 2017

04.01.2023, 17:39. Показов 4021. Ответов 49
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Какая-та шляпа при подключение FFMPEG к VS 2017

Скачали библиотеку с оф сайта распаковал на c:\ подключил в студии хэдеры, либы и вот такие ошибки типа что то где то не подключена а что да как и почему ?

Excemple C++ был загружен

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
/*
* Copyright (c) 2001 Fabrice Bellard
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
 
/**
* @file
* video decoding with libavcodec API example
*
* @example decode_video.c
*/
#include "StdAfx.h"
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#include <libavcodec/avcodec.h>
 
#define INBUF_SIZE 4096
 
static void pgm_save(unsigned char *buf, int wrap, int xsize, int ysize,
    char *filename)
{
    FILE *f;
    int i;
 
    f = fopen(filename, "wb");
    fprintf(f, "P5\n%d %d\n%d\n", xsize, ysize, 255);
    for (i = 0; i < ysize; i++)
        fwrite(buf + i * wrap, 1, xsize, f);
    fclose(f);
}
 
static void decode(AVCodecContext *dec_ctx, AVFrame *frame, AVPacket *pkt,
    const char *filename)
{
    char buf[1024];
    int ret;
 
    ret = avcodec_send_packet(dec_ctx, pkt);
    if (ret < 0) {
        fprintf(stderr, "Error sending a packet for decoding\n");
        exit(1);
    }
 
    while (ret >= 0) {
        ret = avcodec_receive_frame(dec_ctx, frame);
        if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF)
            return;
        else if (ret < 0) {
            fprintf(stderr, "Error during decoding\n");
            exit(1);
        }
 
        printf("saving frame %3d\n", dec_ctx->frame_number);
        fflush(stdout);
 
        /* the picture is allocated by the decoder. no need to
        free it */
        snprintf(buf, sizeof(buf), "%s-%d", filename, dec_ctx->frame_number);
        pgm_save(frame->data[0], frame->linesize[0],
            frame->width, frame->height, buf);
    }
}
 
int main(int argc, char **argv)
{
    const char *filename, *outfilename;
    const AVCodec *codec;
    AVCodecParserContext *parser;
    AVCodecContext *c = NULL;
    FILE *f;
    AVFrame *frame;
    uint8_t inbuf[INBUF_SIZE + AV_INPUT_BUFFER_PADDING_SIZE];
    uint8_t *data;
    size_t   data_size;
    int ret;
    int eof;
    AVPacket *pkt;
 
    if (argc <= 2) {
        fprintf(stderr, "Usage: %s <input file> <output file>\n"
            "And check your input file is encoded by mpeg1video please.\n", argv[0]);
        exit(0);
    }
    filename = argv[1];
    outfilename = argv[2];
 
    pkt = av_packet_alloc();
    if (!pkt)
        exit(1);
 
    /* set end of buffer to 0 (this ensures that no overreading happens for damaged MPEG streams) */
    memset(inbuf + INBUF_SIZE, 0, AV_INPUT_BUFFER_PADDING_SIZE);
 
    /* find the MPEG-1 video decoder */
    codec = avcodec_find_decoder(AV_CODEC_ID_MPEG1VIDEO);
    if (!codec) {
        fprintf(stderr, "Codec not found\n");
        exit(1);
    }
 
    parser = av_parser_init(codec->id);
    if (!parser) {
        fprintf(stderr, "parser not found\n");
        exit(1);
    }
 
    c = avcodec_alloc_context3(codec);
    if (!c) {
        fprintf(stderr, "Could not allocate video codec context\n");
        exit(1);
    }
 
    /* For some codecs, such as msmpeg4 and mpeg4, width and height
    MUST be initialized there because this information is not
    available in the bitstream. */
 
    /* open it */
    if (avcodec_open2(c, codec, NULL) < 0) {
        fprintf(stderr, "Could not open codec\n");
        exit(1);
    }
 
    f = fopen(filename, "rb");
    if (!f) {
        fprintf(stderr, "Could not open %s\n", filename);
        exit(1);
    }
 
    frame = av_frame_alloc();
    if (!frame) {
        fprintf(stderr, "Could not allocate video frame\n");
        exit(1);
    }
 
    do {
        /* read raw data from the input file */
        data_size = fread(inbuf, 1, INBUF_SIZE, f);
        if (ferror(f))
            break;
        eof = !data_size;
 
        /* use the parser to split the data into frames */
        data = inbuf;
        while (data_size > 0 || eof) {
            ret = av_parser_parse2(parser, c, &pkt->data, &pkt->size,
                data, data_size, AV_NOPTS_VALUE, AV_NOPTS_VALUE, 0);
            if (ret < 0) {
                fprintf(stderr, "Error while parsing\n");
                exit(1);
            }
            data += ret;
            data_size -= ret;
 
            if (pkt->size)
                decode(c, frame, pkt, outfilename);
            else if (eof)
                break;
        }
    } while (!eof);
 
    /* flush the decoder */
    decode(c, frame, NULL, outfilename);
 
    fclose(f);
 
    av_parser_close(parser);
    avcodec_free_context(&c);
    av_frame_free(&frame);
    av_packet_free(&pkt);
 
    return 0;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Серьезность  Код  Описание    Проект    Файл    Строка    Состояние подавления
Ошибка    LNK2019 ссылка на неразрешенный внешний символ "struct AVFrame * __cdecl av_frame_alloc(void)" (?av_frame_alloc@@YAPEAUAVFrame@@XZ) в функции main    ConsoleApplication1 C:\Users\*\source\repos\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.obj 1   
Ошибка    LNK2019 ссылка на неразрешенный внешний символ "void __cdecl av_frame_free(struct AVFrame * *)" (?av_frame_free@@YAXPEAPEAUAVFrame@@@Z) в функции main    ConsoleApplication1 C:\Users\*\source\repos\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.obj 1   
Ошибка    LNK2019 ссылка на неразрешенный внешний символ "struct AVCodec const * __cdecl avcodec_find_decoder(enum AVCodecID)" (?avcodec_find_decoder@@YAPEBUAVCodec@@W4AVCodecID@@@Z) в функции main   ConsoleApplication1 C:\Users\*\source\repos\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.obj 1   
Ошибка    LNK2019 ссылка на неразрешенный внешний символ "struct AVPacket * __cdecl av_packet_alloc(void)" (?av_packet_alloc@@YAPEAUAVPacket@@XZ) в функции main    ConsoleApplication1 C:\Users\*\source\repos\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.obj 1   
Ошибка    LNK2019 ссылка на неразрешенный внешний символ "void __cdecl av_packet_free(struct AVPacket * *)" (?av_packet_free@@YAXPEAPEAUAVPacket@@@Z) в функции main    ConsoleApplication1 C:\Users\*\source\repos\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.obj 1   
Ошибка    LNK2019 ссылка на неразрешенный внешний символ "struct AVCodecContext * __cdecl avcodec_alloc_context3(struct AVCodec const *)" (?avcodec_alloc_context3@@YAPEAUAVCodecContext@@PEBUAVCodec@@@Z) в функции main   ConsoleApplication1 C:\Users\*\source\repos\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.obj 1   
Ошибка    LNK2019 ссылка на неразрешенный внешний символ "void __cdecl avcodec_free_context(struct AVCodecContext * *)" (?avcodec_free_context@@YAXPEAPEAUAVCodecContext@@@Z) в функции main    ConsoleApplication1 C:\Users\*\source\repos\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.obj 1   
Ошибка    LNK2019 ссылка на неразрешенный внешний символ "int __cdecl avcodec_open2(struct AVCodecContext *,struct AVCodec const *,struct AVDictionary * *)" (?avcodec_open2@@YAHPEAUAVCodecContext@@PEBUAVCodec@@PEAPEAUAVDictionary@@@Z) в функции main   ConsoleApplication1 C:\Users\*\source\repos\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.obj 1   
Ошибка    LNK2019 ссылка на неразрешенный внешний символ "int __cdecl avcodec_send_packet(struct AVCodecContext *,struct AVPacket const *)" (?avcodec_send_packet@@YAHPEAUAVCodecContext@@PEBUAVPacket@@@Z) в функции "void __cdecl decode(struct AVCodecContext *,struct AVFrame *,struct AVPacket *,char const *)" (?decode@@YAXPEAUAVCodecContext@@PEAUAVFrame@@PEAUAVPacket@@PEBD@Z)    ConsoleApplication1 C:\Users\*\source\repos\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.obj 1   
Ошибка    LNK2019 ссылка на неразрешенный внешний символ "int __cdecl avcodec_receive_frame(struct AVCodecContext *,struct AVFrame *)" (?avcodec_receive_frame@@YAHPEAUAVCodecContext@@PEAUAVFrame@@@Z) в функции "void __cdecl decode(struct AVCodecContext *,struct AVFrame *,struct AVPacket *,char const *)" (?decode@@YAXPEAUAVCodecContext@@PEAUAVFrame@@PEAUAVPacket@@PEBD@Z)    ConsoleApplication1 C:\Users\*\source\repos\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.obj 1   
Ошибка    LNK2019 ссылка на неразрешенный внешний символ "struct AVCodecParserContext * __cdecl av_parser_init(int)" (?av_parser_init@@YAPEAUAVCodecParserContext@@H@Z) в функции main  ConsoleApplication1 C:\Users\*\source\repos\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.obj 1   
Ошибка    LNK2019 ссылка на неразрешенный внешний символ "int __cdecl av_parser_parse2(struct AVCodecParserContext *,struct AVCodecContext *,unsigned char * *,int *,unsigned char const *,int,__int64,__int64,__int64)" (?av_parser_parse2@@YAHPEAUAVCodecParserContext@@PEAUAVCodecContext@@PEAPEAEPEAHPEBEH_J55@Z) в функции main    ConsoleApplication1 C:\Users\*\source\repos\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.obj 1   
Ошибка    LNK2019 ссылка на неразрешенный внешний символ "void __cdecl av_parser_close(struct AVCodecParserContext *)" (?av_parser_close@@YAXPEAUAVCodecParserContext@@@Z) в функции main   ConsoleApplication1 C:\Users\*\source\repos\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.obj 1
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.01.2023, 17:39
Ответы с готовыми решениями:

Какая разница при подключении vue.js через <script> или через npm
Здраствуйте, скажыте пожалуйста чем метод подключения vue через npm лучше чем через script

Сделать так чтобы при подключении нулевого порта выполнялся один цикл кода а при подключении другого - другой
Как сделать так чтобы при подключении нулевого порта выполнялся один цикл кода, а при подключении другого другой. И вообще возможно ли это...

Какая самая актуальная шифровка паролей на 2017 год?
Столкнулся недавно с таким вопросом. Начал искать в интернете и нашел много вариантов, но так и не разобрался какое шифрование выбрать....

49
419 / 311 / 107
Регистрация: 30.08.2022
Сообщений: 1,195
04.01.2023, 18:25
Вы lib прописали? И вообще скомпилировали его до этого?
0
70 / 14 / 4
Регистрация: 10.07.2018
Сообщений: 308
04.01.2023, 18:43  [ТС]
Цитата Сообщение от brian778 Посмотреть сообщение
Вы lib прописали? И вообще скомпилировали его до этого?


0
70 / 14 / 4
Регистрация: 10.07.2018
Сообщений: 308
04.01.2023, 18:44  [ТС]
Может либов не хватает каких ни будь, как проверить ?
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
04.01.2023, 19:22
Цитата Сообщение от Юг Посмотреть сообщение
#include <libavcodec/avcodec.h>
Загорловки ffmpeg оберните в extern "C":
C++
1
2
3
extern "C" {
#include <libavcodec/avcodec.h>
}
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
04.01.2023, 19:23
Цитата Сообщение от Юг Посмотреть сообщение
C++
1
#include <libavcodec/avcodec.h>
C++
1
2
3
4
5
extern "C" {
 
#include <libavcodec/avcodec.h>
 
}
0
70 / 14 / 4
Регистрация: 10.07.2018
Сообщений: 308
04.01.2023, 20:53  [ТС]
Цитата Сообщение от zayats80888 Посмотреть сообщение
Загорловки ffmpeg оберните в extern "C":
Почему такое условие?
0
419 / 311 / 107
Регистрация: 30.08.2022
Сообщений: 1,195
04.01.2023, 21:02
Цитата Сообщение от Юг Посмотреть сообщение
Почему такое условие?
FFmpeg написан на C
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
04.01.2023, 21:07
Цитата Сообщение от Юг Посмотреть сообщение
Почему такое условие?
Linkage для С и для С++ - разный. В частности потому, что С++ поддерживает перегрузку. Читайте здесь: https://en.wikipedia.org/wiki/Name_mangling
0
70 / 14 / 4
Регистрация: 10.07.2018
Сообщений: 308
04.01.2023, 21:37  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
Linkage для С и для С++ - разный.
Скачал я пример, но он не заработал из за того что av_register_all() отсутствует. Поискал его в хэдерах и не нашел. Решил скачать другую версию старую 3.2.19 но в ней есть хэдеры но нет lib файлов. Может его надо как opencv компелировать через CMack например или я чего то не понимаю?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
// ConsoleApplication2.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <stdio.h>  
 
#define __STDC_CONSTANT_MACROS  
 
extern "C"
{
#include "libavcodec/avcodec.h"  
#include "libavformat/avformat.h"  
#include "libswscale/swscale.h"  
};
 
 
int main(int argc, char* argv[])
{
    AVFormatContext *pFormatCtx;
    int             i, videoindex;
    AVCodecContext  *pCodecCtx;
    AVCodec         *pCodec;
    AVFrame *pFrame, *pFrameYUV;
    uint8_t *out_buffer;
    AVPacket *packet;
    int y_size;
    int ret, got_picture;
    struct SwsContext *img_convert_ctx;
    // Вводим путь к файлу  
    char filepath[] = "../video/Titanic.ts";
 
    int frame_cnt;
    
    av_register_all(); // Регистрируем все компоненты  
    avformat_network_init();
    pFormatCtx = avformat_alloc_context();
 
    // Открываем исходный видеофайл  
    if (avformat_open_input(&pFormatCtx, filepath, NULL, NULL) != 0) {
        printf("Couldn't open input stream.\n");
        return -1;
    }
    // Получаем информацию о видеофайле  
    if (avformat_find_stream_info(pFormatCtx, NULL)<0) {
        printf("Couldn't find stream information.\n");
        return -1;
    }
    videoindex = -1;
    for (i = 0; i<pFormatCtx->nb_streams; i++)
        if (pFormatCtx->streams[i]->codec->codec_type == AVMEDIA_TYPE_VIDEO) {
            videoindex = i; // Находим позицию в массиве видео  
            break;
        }
    if (videoindex == -1) {
        printf("Didn't find a video stream.\n");
        return -1;
    }
 
    pCodecCtx = pFormatCtx->streams[videoindex]->codec;
    pCodec = avcodec_find_decoder(pCodecCtx->codec_id); // Находим декодер  
    if (pCodec == NULL) {
        printf("Codec not found.\n");
        return -1;
    }
    if (avcodec_open2(pCodecCtx, pCodec, NULL) <0) {// Открываем декодер  
        printf("Could not open codec.\n");
        return -1;
    }
    /*
    * Добавьте сюда код для вывода видеоинформации
    * Взято из pFormatCtx, используя fprintf ()
    */
    printf("Длительность видео:% dμs \ n", pFormatCtx->duration); // Ввод длительности видео (в микросекундах)  
 
 
 
    pFrame = av_frame_alloc();
    pFrameYUV = av_frame_alloc();
    out_buffer = (uint8_t *)av_malloc(avpicture_get_size(AV_PIX_FMT_YUV420P, pCodecCtx->width, pCodecCtx->height));
    avpicture_fill((AVPicture *)pFrameYUV, out_buffer, AV_PIX_FMT_YUV420P, pCodecCtx->width, pCodecCtx->height);
    packet = (AVPacket *)av_malloc(sizeof(AVPacket));
    //Output Info-----------------------------  
    printf("--------------- File Information ----------------\n");
    av_dump_format(pFormatCtx, 0, filepath, 0);
    printf("-------------------------------------------------\n");
    img_convert_ctx = sws_getContext(pCodecCtx->width, pCodecCtx->height, pCodecCtx->pix_fmt,
        pCodecCtx->width, pCodecCtx->height, AV_PIX_FMT_YUV420P, SWS_BICUBIC, NULL, NULL, NULL);
 
    frame_cnt = 0;
    // Считываем фрейм сжатых данных из входного файла  
    while (av_read_frame(pFormatCtx, packet) >= 0) {
        if (packet->stream_index == videoindex) {
            /*
            * Добавьте сюда код для вывода потока H264
            * Взято из пакета, используйте fwrite ()
            */
            ret = avcodec_decode_video2(pCodecCtx, pFrame, &got_picture, packet); // Декодируем кадр сжатых данных  
            if (ret < 0) {
                printf("Decode Error.\n");
                return -1;
            }
            if (got_picture) {
                sws_scale(img_convert_ctx, (const uint8_t* const*)pFrame->data, pFrame->linesize, 0, pCodecCtx->height,
                    pFrameYUV->data, pFrameYUV->linesize);
                printf("Decoded frame index: %d\n", frame_cnt);
 
                /*
                * Добавьте сюда код для вывода YUV
                * Взято из pFrameYUV с использованием fwrite ()
                */
 
                frame_cnt++;
 
            }
        }
    
        av_packet_free(packet);
    }
 
    sws_freeContext(img_convert_ctx);
 
    av_frame_free(&pFrameYUV);
    av_frame_free(&pFrame);
    avcodec_close(pCodecCtx); // Закрываем декодер  
    avformat_close_input(&pFormatCtx); // Закрываем входной видеофайл.  
 
    return 0;
}
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
04.01.2023, 21:40
Юг, может просто пример поновее взять?

Добавлено через 1 минуту
Вообще в changelog написано, что этот вызов можно просто не писать. Его убрали, потому что он больше не нужен.
0
70 / 14 / 4
Регистрация: 10.07.2018
Сообщений: 308
04.01.2023, 21:42  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
может просто пример поновее взять?
Был- бы талмут, было бы проще - его полистать, а тут не понятно, как что и почему..А людей на форуму явно нет, которые этой камбалой занимаются.
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
04.01.2023, 21:52
Цитата Сообщение от Юг Посмотреть сообщение
Был- бы талмут, было бы проще - его полистать, а тут не понятно, как что и почему.
Источник актуальных примеров, как ни странно ( ), актуальный репозиторий ffmpeg: https://github.com/FFmpeg/FFmp... c/examples
1
70 / 14 / 4
Регистрация: 10.07.2018
Сообщений: 308
04.01.2023, 22:13  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
Источник актуальных примеров, как ни странно ( ), актуальный репозиторий ffmpeg: https://github.com/FFmpeg/FFmp... c/examples
Без изменений, опять сыпятся ошибки на неразрешеный символ и в том нет lib - ов) короче **рень какая та
0
419 / 311 / 107
Регистрация: 30.08.2022
Сообщений: 1,195
04.01.2023, 22:20
Я повторю вопрос
Вы указали Additional Library Directories (не знаю как это в русской версии студии)
0
70 / 14 / 4
Регистрация: 10.07.2018
Сообщений: 308
04.01.2023, 22:22  [ТС]
Цитата Сообщение от brian778 Посмотреть сообщение
Я повторю вопрос
Вы указали Additional Library Directories (не знаю как это в русской версии студии)
Я скрины прикладывал, Компоновщик\ввод\дополнительные зависимости и там все lib файлы перечислил.
0
419 / 311 / 107
Регистрация: 30.08.2022
Сообщений: 1,195
04.01.2023, 22:25
Картинка с гугла. На ней вас интересует Library Directories
Миниатюры
Какая-то шляпа при подключении FFMPEG к VS 2017  
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
04.01.2023, 22:26
Цитата Сообщение от Юг Посмотреть сообщение
Я скрины прикладывал, Компоновщик\ввод\дополнительные зависимости и там все lib файлы перечислил.
На скринах нет прописанных каталогов с lib. Там у вас только для include путь.
0
70 / 14 / 4
Регистрация: 10.07.2018
Сообщений: 308
04.01.2023, 22:29  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
На скринах нет прописанных каталогов с lib. Там у вас только для include путь.
Серьезность Код Описание Проект Файл Строка Состояние подавления
Ошибка LNK1104 не удается открыть файл "avcodec.lib" ConsoleApplication2 C:\Users\*\source\repos\ConsoleApplicati on2\ConsoleApplication2\LINK 1
Скоро комп в окно выкину)
0
70 / 14 / 4
Регистрация: 10.07.2018
Сообщений: 308
04.01.2023, 22:31  [ТС]
Цитата Сообщение от brian778 Посмотреть сообщение
Картинка с гугла. На ней вас интересует Library Directories
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.01.2023, 22:31
Помогаю со студенческими работами здесь

Какая среда лучше: Visual Studio 2015 или 2017?
Стоит ли переходить на 17-ю вижлу? Стоит ли она того, чтобы качать почти 30 гигов? Или связка 15-я вижла + решарпер будет хорошим решением?

RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work warn
import matplotlib.pyplot as plt import Squarediamondlib as Land from pydub import AudioSegment from pydub.playback import play ...

Шляпа
Летом Максим съездил в Летнюю Какую-то Школу, где, помимо учёбы, ему очень запомнилась игра «Шляпа», в которую он вместе с друзьями играл...

Шляпа
Шляпа Летом Максим съездил в Летнюю Какую-то Школу, где, помимо учёбы, ему очень запомнилась игра «Шляпа», в которую он вместе с друзьями...

Ошибка при подключении "В удаленном подключении отказано"
Что может означать следующая ошибка? Пороль и имя правильны! Еще появляется такое сообщение


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru