LINUX.ORG.RU

Сообщения panter_dsd

 

Не выходит получить видеопоток по протоколу rtsp

Форум — Multimedia

OS: Gentoo

VIDEO: intell

Вот, что выдает команда gst-launch-1.0 playbin uri=rtsp://x.x.x.x:554/live/ch00_0 -vvv

libva info: VA-API version 0.39.2
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/va/drivers/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0

** (gst-launch-1.0:4271): CRITICAL **: gst_vaapi_video_context_get_display: assertion 'GST_IS_CONTEXT (context)' failed

(gst-launch-1.0:4271): GStreamer-CRITICAL **: gst_context_get_context_type: assertion 'GST_IS_CONTEXT (context)' failed

(gst-launch-1.0:4271): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-launch-1.0:4271): GStreamer-CRITICAL **: gst_context_get_context_type: assertion 'GST_IS_CONTEXT (context)' failed
Caught SIGSEGV

vlc тоже не открывает поток.

В пайтоне пытаюсь сделать cv2.VideoCapture('rtsp://x.x.x.x:564/live/ch00_0');

Получаю:

GStreamer Plugin: Embedded video playback halted; module source reported: Could not open resource for reading and writing.
OpenCV Error: Unspecified error (GStreamer: unable to start pipeline
) in cvCaptureFromCAM_GStreamer, file /var/tmp/portage/portage/media-libs/opencv-3.1.0-r4/work/opencv-3.1.0/modules/videoio/src/cap_gstreamer.cpp, line 818

Что я неправильно делаю?

 , , ,

panter_dsd
()

Объясните кусок кода из исходников Qt

Форум — Development
Q_DECL_CONSTEXPR static inline bool qFuzzyCompare(double p1, double p2) Q_REQUIRED_RESULT Q_DECL_UNUSED;
Q_DECL_CONSTEXPR static inline bool qFuzzyCompare(double p1, double p2)
{
    return (qAbs(p1 - p2) * 1000000000000. <= qMin(qAbs(p1), qAbs(p2)));
}

Зачем делать определение и следом реализацию?

 ,

panter_dsd
()

Отдам ролики в хорошие руки

Форум — Talks

Планируется большой переезд и хочется по-максимуму скинуть ненужные вещи. Есть ролики мужские 42 размера. Ездил 2 раза, состояние хорошее. Кому нужно, за могар отдам. Живу возле метро Проспект Ветеранов.

Фоты: https://www.dropbox.com/s/3k4n2qzx1bj6gmn/2015-11-29%2013.06.28.jpg?dl=0, https://www.dropbox.com/s/1rk453si243qakk/2015-11-29%2013.06.17.jpg?dl=0

 , , ,

panter_dsd
()

Можно ли переехать в другую область сохранив свой номер телефона?

Форум — Talks

Собираюсь рвать из Питера в Ростовскую область. Номер телефона крайне хочется оставить, но получается, что я буду в роуминге. Есть истории успеха по смене домашнего региона? Оператор Tele2. Или какие еще варианты могут быть, чтобы меня не потеряли старые контакты.

Разрабатываю на плюсах под Линух, если кого-то заволнует отношение топика к ЛОРу.

 ,

panter_dsd
()

Имя основного файла лога

Форум — Development

Решил тут заюзать для логирования boost::log. После пары вечеров вкуривания доков все прикрутил, но не смог решить проблему с ротацией. Мне нужно чтобы основной лог всегда имел имя some_name.log, а в архиве лежали файлы some_name_%5N.log. Как такое можно провернуть?

 ,

panter_dsd
()

Почему в QTcpSocket могут не приходить данные?

Форум — Development

Есть сервак, написанный на Кьютах (прошу не холиварить на эту тему, он не сильно нагруженный). К нему по сокетам коннектятся железки и передают информацию.

Иногда происходит вот такая бяка - почему-то коннекты появляются, но данные не идут, я коннекты рву по таймауту, они опять появляются, но данных так и нет. Из-за чего такое может происходить? Замечено, что в это же время не открывается файл лога (я его открываю на каждую запись).

Коннекты удаляются корректно, открытых файлов не держу, утечек памяти нет, проц не грузится.

 ,

panter_dsd
()

Docker за http проксей

Форум — Admin

Не могу заставить докер понять, что нужно работать через проксю. Кто что поможет? Пробовал править файл /etc/default/docker:

cat /etc/default/docker                                              1 ↵
export http_proxy="http://127.0.0.1:3128/"
export https_proxy="https://127.0.0.1:3128/"
export HTTP_PROXY="http://127.0.0.1:3128/"
export HTTPS_PROXY="http://127.0.0.1:3128/"

Но никакого эффекта:

sudo docker pull ubuntu:latest                                 
Pulling repository ubuntu
FATA[0175] Get https://index.docker.io/v1/repositories/library/ubuntu/images: dial tcp 162.242.195.84:443: connection timed out

Доступ к интернету есть, wget и все остальное нормально работает через проксю. Что еще нужно подкрутить?

 ,

panter_dsd
()

Как узнать, что мерж был произведен в режиме --no-ff

Форум — Development

Всем доброго.

Преамбула.

На работе в качестве системы управления версиями используется TFS(буэээ). Так как пользоваться ей совершенно неудобно, пилится свое решение на основе gitlab.

Амбула.

Уже практически все запилено - репа в гитлабе, бранч мастер которой соответствует ветке в ТФС. Скриптами подтягиваются изменения из ТФС и отправляются в гитлаб, так же, мержреквесты в гитлабе отправляются в ТФС.

Осталась одна проблема - если мержить в режиме --no-ff (по-умолчанию в гитлабе), то в ТФС все улетает одним коммитом - это неприемлемо. В исходниках гитлаба я нашел и поправил участок, который отвечает за мерж, теперь мерж делается в режиме --ff. Но если --ff сделать невозможно, гитлаб без предупреждений мержит в режиме --no-ff. Теперь вопрос - можно ли узнать, в каком режиме был сделан мерж? Я хочу детектить режим и откатывать его, если он произведен в режиме --no-ff, дабы пользователь сначала ребейзнулся.

 , ,

panter_dsd
()

Коллбэк, std::bind и проблемы с возвращаемым значением.

Форум — Development

Есть такой кот:

#inculde <functional>
using namespace std::placeholders;

struct A
{
    using Callback = std::function<int(int value)>;
    void someFunc(Callback callback) {

    }
};

struct B
{
    B() {
        A a;
        a.someFunc(std::bind(&B::func, this, _1));
    }

    void func(int value) {

    }
};

Понятное дело, кот не компилируется, ибо сигнатура коллбэка и B::func различаются возвращаемым значением. Вопрос - можно биндами такое обойти? Лямбду не хочется юзать, ибо громоздко получается.

 ,

panter_dsd
()

Приоритетный url для выкачивания

Форум — General

На работе стоит http прокся и доступ по url типа git:// заблочен. В пакетах могут указывать несколько url, меня интересуют вида https:// . Можно как-нибудь сказать емержу, чтобы он первым пробовал https://, а не git://? Ибо он пробует сначала git://, тупит на этом некоторое время и затем уже юзает https:// .

 

panter_dsd
()

this-> для вызова метода класса

Форум — Development

На работе разгорелся холивар по поводу того, нужно или нет указывать this-> для вызова методов класса. В интернетах не нашел хорошего холивара по данной теме, поэтому решил спросить тут. Для меня лично это дико и только загромождает кот.

 , ,

panter_dsd
()

Тернарный оператор не для присваивания

Форум — Development

Как вы относитесь вот к такому использованию тернарного оператора?

int a = 0;
int b = 0;

some () ? ++a : ++b;

То есть, не когда чему-то присваивается результат тернарного оператора.

 

panter_dsd
()

Перестали собираться пакеты после обновления ccache

Форум — General

Пришло обновление dev-util/ccache-3.2, после него все сборки падают, вот лог. Собственно, там есть такие строки:

configure:3983: x86_64-pc-linux-gnu-gcc --version >&5
ccache: error: /home/ccache/ccache.conf: Permission denied

Посмотрел на сам файлик:

╰─$ lsf /home/ccache/ccache.conf 
-rw------- 1 root portage 14 Nov 21 09:44 /home/ccache/ccache.conf

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

 , ,

panter_dsd
()

DistfilesCleaner

Форум — Admin

eclean-dist у меня слишком долго работает, поэтому написал свою утилитку очистки ненужных файлов в distdir. Может, кому еще пригодится. Написано на python3, запускать python3 __main__.py. По-умолчанию, ничего не удаляет. Чтобы удаляло, нужно добавить ключик --delete. Собственно, сам проект.

Ругань и пожелания приветствуются. :)

 ,

panter_dsd
()

Работа с TFS при помощи Git

Форум — Development

К сожалению, в фирме, где я сейчас работаю, юзают TFS в качестве системы управления версиями. Есть такая штука, как git-tf, но она может одновременно смотреть только в один бранч (тут даже хуже, чем с svn). Структура проекта такая:

  • ProjectName
    • trunk
      • v5.1
      • v5.2
      • current
      • feature/SomeFeature

current - что-то вроде мастера, остальное бранчи. Как бы красиво научиться работать с бранчами? Сейчас пробую вот такую идею: создаю одну git-репу из trunk, дальше пытаюсь как-то представить все подкаталоги в виде отдельных веток. Пока не знаю как, может кто что подскажет?

Да, советчики уволиться, пробивать начальство и прочие пусть идут лесом.

 ,

panter_dsd
()

Можно ли передать сигнал в метод и там его вызвать?

Форум — Development

Есть 2 метода, которые отличаются только сигналом, который они эммитят. Очень хочется обобщить их, но в этом случае необходимо в обобщенный метод передать как-то сигнал (сигнал с параметром). Сейчас сделал передачей в метод лямбды, в которой делаю эммит, но сей вариант мне не очень нравится. Как можно покрасивше решить задачу?

 ,

panter_dsd
()

Проверка на изменение членов класса

Форум — Development

Допустим, есть какой-то класс у которого реализованы копирующий конструктор и оператор присваивания. Необходимо сделать «защиту от дурака», чтобы при последующем изменении мемберов разработчик отхватил ошибку, если забыл реализовать копирование и присваивание этих новых мемберов. Сейчас мысль сравнивать через static_assert размер класса с расчитанным размером, но тут мешает выравнивание. Какие есть варианты?

 ,

panter_dsd
()

Оптимизация вызова методов

Форум — Development

Пишу в основном на c++ и привык разбивать все на небольшие методы/функции с выразительными названиями. Точно так же делаю на питоне, но оказалось, что такая разбивка намного медленнее, чем все в одном методе. Есть ли какая-то возможность бить на методы, но чтобы не страдала скорость работы или нужно смириться и писать все в одном методе?

All in one More methods

 , ,

panter_dsd
()

Линковка двух библиотек с конфликтом имен

Форум — Development

Есть 2 либы, у которых имеется один класс с одинаковым именем, но различной реализацией. Я эти либы собираю и линкую в свое приложение. Сборка проходит нормально, но происходит падение в рантайме, из-за того, что в одну либу подгружается реализация из второй либы, не совместимая с ней. Как принято решать такие проблемы? В либы я не могу влезть, ибо они сторонние и периодически обновляются.

 ,

panter_dsd
()

Зависание в сторонней библиотеке

Форум — Development

Для чтения потока с камеры по протоколу RTSP юзаю OpenCV. Есть такая проблема - если камеру перезагрузить, то, в большинстве случаев, происходит зависание на методе

videoCapture_->read (frame);

Как быть? Попробовал решение в лоб - удалять экземпляр класса (он вынесен в отдельный QThread), в котором читаю поток, но это вызывает краш. Вот бэктрейс при падении Как правильно поступить?

======================================================

Решили вынести чтение в отдельный процесс и убивать его при зависании.

 , , ,

panter_dsd
()

RSS подписка на новые темы