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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 5.00
Simargl
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 10
#1

Сделать простенький видео плеер с использованием FFMPEG - C++

11.02.2014, 11:24. Просмотров 2671. Ответов 14
Метки нет (Все метки)

Ситуация такая. я программист новичок, и вот передо мной задача, имеется QT Creator C++, пытаюсь сделать простенький видео плеер с использованием FFMPEG но я не могу понять как вывести его (подозреваю что через Frame). Облазил интернеты, нигде не могу найти простейшего примера на QT. Может кто нибудь помочь с этим?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2014, 11:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сделать простенький видео плеер с использованием FFMPEG (C++):

Ошибка при запуске приложение с использованием ffmpeg - C++
Надо по учебе написать программу, которое видео будет разрезать на кадры. Для этого решил использовать библиотеку ffmpeg, полдня подключал...

Ffmpeg изменение bit_rate не влияет на качество записи видео - C++
имеется код выполняющий кодирование и запись видео в файл extern "C" { #include <libavformat/avformat.h> #include...

видео плеер - C++
хочу написать видео плеер на С++. кодеконезависимый, например, как насколько я знаю VLC-плеер C++ знаю более-менее...

Нужен простенький видео плеер для вопроизведения AVI - Delphi
Всем привет кому не жалко киньте простенький видео плеер который читает формат AVI и исходники к нему просто хочу прекрипить видео справку...

Как сделать простенький плеер с плейлистом - Visual Basic
С наступающим, товарищи! Раскажите, покажите, как сделать простенький плеер с плейлистом. Спасибо!

Хочу в рамках практики написать простенький плеер для Win Phone 8 - Windows Phone
Подскажите что лучше использовать. Вроде как для плеера подходят WASAPI и IMFMediaEngine, но как ими пользоваться совсем не могу найти,...

14
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 2,004
11.02.2014, 11:43 #2
поиск выдал сразу
http://qt-project.org/forums/viewthread/21829
там вроде много чего
0
Simargl
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 10
11.02.2014, 13:34  [ТС] #3
Но это же под мобильные системы, а мне на обычный ПК надо)) просто для меня это как неба и земля (гвоорю же я что я новичёк)
0
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 2,004
11.02.2014, 13:38 #4
библиотеки у QT одни и те же
Цитата Сообщение от Simargl Посмотреть сообщение
Но это же под мобильные системы, а мне на обычный ПК надо
а разница? там линукс, здесь линукс...
0
Simargl
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 10
11.02.2014, 14:28  [ТС] #5
А мне то под винду нать (мастдай такой мастдай)
0
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 2,004
11.02.2014, 14:36 #6
Цитата Сообщение от Simargl Посмотреть сообщение
А мне то под винду нать (мастдай такой мастдай)
в QT библиотеки что под винду что под линукс...это кроссплатформенная среда разработки со своими библиотеками не привязанная к каким либо API определённой ОС
0
Simargl
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 10
11.02.2014, 18:31  [ТС] #7
и всётаки, это ужос)))) я прочитать не могу то что там есть из кода, всётаки для новичка это черезчур
0
gromo
370 / 269 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
11.02.2014, 18:42 #8
Цитата Сообщение от Simargl Посмотреть сообщение
я прочитать не могу то что там есть из кода, всётаки для новичка это черезчур
Ну тогда напишите сотню другую консольных программок а потом уже беритесь за плеер.

Добавлено через 57 секунд
Media Player Example не подходит? ПАДВИНДУ вообще просто - кодеки для плеера берутся из Windows Media и подхватываются автоматом. C linux чуть сложнее, но тоже решаемо.
0
Simargl
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 10
11.02.2014, 18:49  [ТС] #9
Ну если уж начал делать что-то не охота кидать на пол пути, да к тому же начал то на QT (о чём уже жалею) Идея изначальная была, что-бы кодеки программа юзала свои, а не брала из системы. Грубо говоря чтобы прога была полностью автономной и не зависимой от софта пользователя (на тот случай если винду снёс и нифига не поставил). Поэтому то и обратился к гуру, я понимаю что надо заинклудить нужные либы, но вопрос то изначальный, как выводить его? Через елемент Frame? Или же как либо по другому? И как сделать простяцкий интерфейс... Поэтому то и пишу в разделе для новичков, в надежде что хотябы один вопрос подскажут.
0
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 2,004
11.02.2014, 20:42 #10
Цитата Сообщение от Simargl Посмотреть сообщение
как выводить его? Через елемент Frame? Или же как либо по другому? И как сделать простяцкий интерфейс... Поэтому то и пишу в разделе для новичков, в надежде что хотябы один вопрос подскажут.
ну вы вообще что-нибудь делали на QT или только только установили...?
мне помогла книга Шлее по QT , просто первые страниц 100 прочитать, сделать пару примеров и всё становится понятным, дальше уже просто осваивать библиотеки и писатьписатьписать...
0
Simargl
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 10
19.02.2014, 14:49  [ТС] #11
НИ делал ничего)) И книг не читал, начал учиться методом тыка)) натыкал))) Создал GraphicsView Создал QmediaPlayer Осталась парочка проблем)) Как растянуть видео по размерам View? (и если меняется размер View как подогнать снова) Как сделать slider по времени? (Пытался сделать сигнал value position, понял что сделал что-то не то (value=int, position=qint64)). И вот главная проблема, когда скомпилил, проект скомпилил, то у мня всё ок работает, выдео формата mp4 воспроизводит, но на других компах, не воспроихводит, кидал уже и папки plagins, и их содержимое и содержимое тех папок, эффекта ноль, вот это беспокоит больше всего.

З.Ы. За ошибки прошу прощения, уже далеко не одну ночь, без сна...
0
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 2,004
19.02.2014, 14:51 #12
Цитата Сообщение от Simargl Посмотреть сообщение
НИ делал ничего)) И книг не читал, начал учиться методом тыка)) натыкал)))
Цитата Сообщение от Simargl Посмотреть сообщение
но на других компах, не воспроихводит,
потому что натыкал.
0
Simargl
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 10
19.02.2014, 14:53  [ТС] #13
я так полагаю, вы уже знаете в чём косяк? (то что в моих руках знаю, ну а по существу?)
Вот то что наколякал

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
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QFileSystemModel"
#include <QString>
#include <QMediaPlayer>
#include <QGraphicsVideoItem>
#include <QGraphicsView>
 
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    QString path = "C:\\олд\\ввод.mp4";
    ui->setupUi(this);
    QGraphicsScene *scene = new QGraphicsScene;
    ui->graphicsView->setScene(scene);
    //ui->graphicsView->setScene(new QGraphicsScene());
    QFileSystemModel *model = new QFileSystemModel;
    model->setRootPath(QDir::currentPath());
    QStringList filter;
    filter << "*.avi" << "*.mp4";
    model->setNameFilterDisables(false);
    model->setNameFilters(filter);
 
    ui->treeView->setModel(model);
    ui->treeView->setRootIndex(model->index("./lessons"));
    ui->treeView->hideColumn(1);
    ui->treeView->hideColumn(2);
    ui->treeView->hideColumn(3);
    ui->treeView->header()->setHidden(true);
 
    player = new QMediaPlayer;
    QGraphicsVideoItem *item = new QGraphicsVideoItem;
    player->setVideoOutput(item);
    ui->graphicsView->scene()->addItem(item);
    ui->graphicsView->show();
    player->setMedia(QUrl::fromLocalFile(path));
    player->play();
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
 
 
 
void MainWindow::on_treeView_clicked(const QModelIndex &index)
{
    QFileSystemModel *model = new QFileSystemModel;
    QString path = model->filePath(index);
    if ( path.endsWith(".mp4") == 1)
        {
        player->setMedia(QUrl::fromLocalFile(path));
        player->play();
        }
    if ( path.endsWith(".avi") == 1)
        {
        player->setMedia(QUrl::fromLocalFile(path));
        player->play();
        }
}
 
void MainWindow::on_PlayButton_clicked()
{
    player->play();
}
 
void MainWindow::on_PauseButton_clicked()
{
    player->pause();
}
 
void MainWindow::on_StopButton_clicked()
{
    player->stop();
}
и ктстаи, не могли бы ссылочкой на книжечку поделиться?))
0
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 2,004
19.02.2014, 15:02 #14
Цитата Сообщение от Simargl Посмотреть сообщение
я так полагаю, вы уже знаете в чём косяк?
нет, просто очевидно что методом научного тыка нормально ничего не сделать с 1ого раза)
Цитата Сообщение от Simargl Посмотреть сообщение
и ктстаи, не могли бы ссылочкой на книжечку поделиться?))
могу тольок авторов сказать
1) Шлее
2) Бланшет

по ним найдёте с лёгкостью
0
Simargl
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 10
19.02.2014, 15:10  [ТС] #15
а могу ли я вам скинуть все исходные файлы? Просто извиняюсь но в 5ой точке свербит, хочу понять ошибку, да к тому же это по учебе задачка(( что еще больше усложняет процесс, ибо время поджимает. Ну понимаю что не с того конца пошел. Всё таки специалисту это сделать не более 30 минут займёт, а я уже 20ый день мучаюсь О_о сам в шоке.

З.Ы. Код сверху пилил по гуглу и докам что нашёл, да примерам
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2014, 15:10
Привет! Вот еще темы с ответами:

Встречали кто нибудь видео плеер с возможностью вставки видео рекламы - JavaScript
Доброго времени суток. Такой вопрос встречали кто нибудь видео плеер с возможностью вставки видео рекламы платные или бесплатные ну...

Ищу видео плеер с быстрым переключением между видео - Видеопрограммы
Здравствуйте! Ищу видео плеер, который мгновенно переходит от одного видео к другому. Все дело в том, что у меня есть вебкамера с...

Ffmpeg не режет видео - PHP
Здравствуйте. Не могу заставить ffmpeg резать ролик на кадры. Выполняю avconv -ss 00:00:02 -i /01.flv -r 5 -t 00:00:01 -f image2 ...

Потоковое видео с ffmpeg - Программирование
Есть несжатое видео с камеры 320x240, и его нужно передавать на удалённый компьютер в реальном времени, качество не очень важно....


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
19.02.2014, 15:10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru