Форум программистов, компьютерный форум CyberForum.ru

ffmpeg конвертация файла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Компилятор создает большие по объему *.exe файлы http://www.cyberforum.ru/cpp/thread937469.html
Раньше как-то не обращал внимание, точнее когда подмечал объем файла - 4 235, почему-то считал, что размер исчисляется в байтах(еще удивлялся откуда там так много инфы); оказывается это килобайты(( Даже написав простенькую программу, занимающую всего несколько байт реальной информации, компилятор создает файл объемом более 200кб. Конечно, в наше время технического прогресса, когда космические...
C++ Поясните пожалуйста задачу! (Написать программу, формирующую по исходному WAV файлу новый WAV файл) Задали на летнюю практику несколько задач. Вот одна из них: "Написать программу, формирующую по исходному WAV файлу новый WAV файл, продиференцированный с параметром N( < 1.0 ) и проинтегрированный c параметром M( < 1.0 )." Препод в отпуске и не может объяснить, а в интернете про это не нашел. Интересует собственно что такое дифференцирование и интегрирование WAV файла и если возможно какой... http://www.cyberforum.ru/cpp/thread937400.html
Как получить список аудиозаписей Вконтакте? C++
Пишу программу для составления рекомендательного списка музыки. Для этого мне требуется список моей музыки и моих друзей Вконтакте, по типу Личный список: Группа1 - песня1 Группа1 - песня2 Группа2 - песня1 и т.д. Желательно всё это поместить в обычный текстовый файл.
C++ CALLBACK
Здравствуйте, уважаемые форумчане. Передо мной стоит задача записи звука с микрофона в файл. Как считывать в буфер я разобрался. Но не понимаю каким образом работает callback-функция и как вообще с ней обращаться. А сделать надо так, чтобы при заполнении одного буфера функция записывала этот кусок в файл, затем следующий буфер и так до определенного момента. Вот кусок, который я написал...
C++ В сомнениях http://www.cyberforum.ru/cpp/thread936639.html
Здравствуйте. Вообщем опишу вам свою ситуацию, а вы мне уже подскажите как лучше быть. У меня есть программа написанная(не мной) на Qt, Суть этой проги в том, что она берет изображение, и выводит его спектр( с помощью Быстрого Преобразования Фурье). Мне в нее нужно добавить некоторые изменения. Но дело в том, что я очень плохо знаю Qt. Я хотел эту программу написать на C++(в Visual studio), но...
C++ Компонент Ehlib как использовать DataGrouping Добрый день!!! Столкнулся с проблемой в run-time нужно сделать групировку в гриде. Нашел даже код на делфях DBGridEh_Univ.DataGrouping.Active := False; DBGridEh_Univ.DataGrouping.GroupLevels.Clear; DBGridEh_Univ.DataGrouping.GroupLevels.Add.Column := DBGridEh_Univ.FindFieldColumn('x1'); DBGridEh_Univ.DataGrouping.GroupLevels.Add.Column :=... подробнее

Показать сообщение отдельно
Fyret
184 / 170 / 13
Регистрация: 30.07.2013
Сообщений: 359
19.08.2013, 15:36
Я забыл указать, что между avio_open и avformat_write_header создаются потоки. Примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// video stream
AVStream* stream = av_new_stream( formatCtx, streamId );
AVCodecContext* codecCtx = stream->codec;
avcodec_get_context_defaults2( codecCtx, AVMEDIA_TYPE_VIDEO );
 
codecCtx->codec_id = codecId;
codecCtx->codec_type = AVMEDIA_TYPE_VIDEO;
codecCtx->time_base.num = fps.den;
codecCtx->time_base.den = fps.num;
 
// extradata
if( !extraData.empty() )
{
    codecCtx->extradata = ( uint8_t* ) av_malloc( extraData.size() );
    memcpy( codecCtx->extradata,  ( void* ) &extraData[ 0 ], extraData.size() );
    codecCtx->extradata_size = extraData.size();
}
 
codecCtx->width = width;
codecCtx->height = height;
codecCtx->pix_fmt = static_cast< PixelFormat >( pixFormat );
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// audio stream
AVStream* stream = av_new_stream( formatCtx, streamId );
AVCodecContext* codecCtx = stream->codec;
avcodec_get_context_defaults2( codecCtx, AVMEDIA_TYPE_AUDIO );
 
codecCtx->codec_id = codecId;
codecCtx->codec_type = AVMEDIA_TYPE_AUDIO;
codecCtx->time_base.num = rate.den;
codecCtx->time_base.den = rate.num;
 
// extradata
if( !extraData.empty() )
{
    codecCtx->extradata = ( uint8_t* ) av_malloc( extraData.size() );
    memcpy( codecCtx->extradata,  ( void* ) &extraData[ 0 ], extraData.size() );
    codecCtx->extradata_size = extraData.size();
}
 
codecCtx->sample_rate = rate.num;
codecCtx->channels = channels;
codecCtx->frame_size = frameSize;
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru