А косяк в том, что иногда видео играет как надо, а иногда не играет. А иногда играет вертикальная полоска по центру и сама форма соответствующих размеров. Если играть напрямую из файла, то все стабильно работает. Я задержку делал (ну типа не успевает записаться или еще что-то) - не помогает.
SplashScreen::SplashScreen() : QDialog() {
this->setWindowFlags(Qt::SplashScreen);
this->setCursor(Qt::BlankCursor);
m_pmedia = new Phonon::MediaObject(this);
m_pao = new Phonon::AudioOutput(Phonon::VideoCategory, this);
Phonon::VideoWidget* pvw = new Phonon::VideoWidget;
Phonon::createPath(m_pmedia, m_pao);
Phonon::createPath(m_pmedia, pvw);
QVBoxLayout* pvbxLayout = new QVBoxLayout;
pvbxLayout->addWidget(pvw);
setLayout(pvbxLayout);
QTemporaryFile f;
f.open();
QResource res(":/nuclearfailure.avi");
f.write((char*)res.data(), res.size());
f.flush();
f.setAutoRemove(true);
QFile F(f.fileName());
m_pmedia->setCurrentSource(Phonon::MediaSource(F.fileName()));
m_pmedia->play();
F.close();
f.close();
connect (m_pmedia, SIGNAL(finished()), SLOT(close()));
}