нужно записать часть потока с ютуба в формате 1080p.
mp4 не подошел, ему почему не удается задать время старта.
Приходится использовать webm(кодек в данном случае VP90). Видео вопроизводится нормально, но как только делаю stream_out_duplicate в файл(или на дисплей как в коде), видео крашится на квадраты.
пробовал указывать #transcode{vcodec=VP90}, но это не помогло.
Причем не важно откуда идет поток, с локального файла или ютуба.
libvlc_instance_t * inst;
libvlc_media_player_t *mp;
libvlc_media_t *m;
char* arguments[] = {
"--noaudio",
"--sub-source=marq",
};
inst = libvlc_new (2, arguments);
QString streamoption;
url = "https://r17---sn-axq7sn7e.googlevideo.com/videoplayback?id=77123d856c8dbb9a&itag=248&source=youtube&requiressl=yes&pl=23&mm=31&mn=sn-axq7sn7e&mv=m&ms=au&ratebypass=yes&mime=video/webm&gir=yes&clen=2191736758&lmt=1430499939760211&dur=8226.133&signature=675883FC87470993EEEFC53199A16590C2EC45DE.97F8C3FB02CD70AEA389EB82128C4DB74009203A&sver=3&fexp=9407117,9416126,9416916,9420452,9422596,9422970,9423661,9423662,9424134,9426720,9427667,9427677,9428043,9428092,9428376,9428432,9428469,9428650&upn=EKfkRq1NQqs&key=dg_yt0&mt=1455489552&ip=91.215.122.51&ipbits=0&expire=1455511250&sparams=ip,ipbits,expire,id,itag,source,requiressl,pl,mm,mn,mv,ms,ratebypass,mime,gir,clen,lmt,dur";
url = "file:///C:/Users/nexus/1.webm";
m = libvlc_media_new_location (inst, url.toStdString().c_str());
streamoption = ":sout=#stream_out_duplicate{dst=display}";
libvlc_media_add_option(m, streamoption.toStdString().c_str());
streamoption = ":start-time=" + QString::number(startTimeS);
libvlc_media_add_option(m, streamoption.toStdString().c_str());
streamoption = ":stop-time=" + QString::number(stopTimeS + 1);
libvlc_media_add_option(m, streamoption.toStdString().c_str());
mp = libvlc_media_player_new_from_media (m);
/* No need to keep the media now */
libvlc_media_release (m);
/* play the media_player */
libvlc_media_player_play (mp);