
Recherche avancée
Autres articles (56)
-
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...) -
De l’upload à la vidéo finale [version standalone]
31 janvier 2010, parLe chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
Upload et récupération d’informations de la vidéo source
Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)
Sur d’autres sites (7318)
-
Piwik PRO is hiring a Technical Support Specialist (Remote)
13 mars 2015, par Piwik Core Team — JobsAt Piwik and Piwik PRO we develop the leading open source web analytics platform, used by more than one million websites worldwide. Our vision is to build the best open alternative to Google Universal Analytics. We are growing and now looking for a Technical Support Specialist !
What will you be doing ?
- Supporting Piwik PRO clients on a daily basis – providing rapid responses via phone and email.
- Participating in calls with Piwik PRO clients analyzing requirements for enterprise customers.
- Onboarding clients – planning and coordinating the implementation with the dedicated technical team.
- Communicating complex problems to the dedicated technical team.
We can promise you :
- A competitive salary.
- The opportunity to develop your skills and gain more experience by working on exceptional projects.
- Access to a regularly updated resource library and the opportunity to contribute to it.
- Flexible working hours.
Desired Skills and Experience
You won’t make it without :
- A solid technical background and a familiarity with the IT sector.
- A receptive mind.
- Great English communication skills (speaking, reading, writing, and listening).
- Previous experience of working with corporate clients and a sixth sense for striking up relationships.
- Appropriately mixed abilities : solid communication skills, inquisitiveness and an analytical mind (have the ability to draw conclusions based on gathered data).
- Great self-organization skills.
About Piwik PRO
At Piwik and Piwik PRO we develop the leading open source web analytics platform, used by over 1.1M websites worldwide and is currently ranked the 7th most used web analytics tool in the world. Our vision is to build the best open alternative to Google Universal Analytics.
The Piwik platform collects, stores and processes a lot of information : hundreds of millions of data points each month. We create intuitive, simple and beautiful reports that delight our users.
Piwik PRO provides cloud hosting solutions and enterprise-level support and consultancy services. We’re in the process of expanding our US team and are currently seeking to hire a Technical Support Specialist who will focus on assisting our US clients.
Location
Ideally you will be located in the USA or Canada (Remote work).
Apply online
To apply for this position, please Apply online here. We look forward to receiving your applications !
-
Artifacts after HEVC 10-bit encoding using NVENC
18 juillet 2017, par CrymanRecently I purchased a brand new GPU - AORUS GeForce GTX 1080 Ti. I found out that it supports HEVC 10-bit encoding, so I wanted to give that a try. Unfortunately, after encoding I noticed some artifacts, which occur in dark scenes and last one frame of the video. You can see them on these screenshots :
I was wondering if someone could help me figure out what might be the cause of these artifacts and how I can get rid of them.
Here is the MI of the source video :
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 2 h 2 min
Bit rate mode : Variable
Bit rate : 29.5 Mb/s
Maximum bit rate : 37.0 Mb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.593
Stream size : 25.2 GiB (66%)
Language : English
Default : Yes
Forced : NoAnd here is the MI of the encoded video :
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L4@Main
Codec ID : V_MPEGH/ISO/HEVC
Duration : 2 h 2 min
Bit rate : 3 689 kb/s
Width : 1 920 pixels
Height : 800 pixels
Display aspect ratio : 2.40:1
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Standard : Component
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.100
Stream size : 3.15 GiB (95%)
Default : Yes
Forced : No
Color range : LimitedThe command I’m using for encoding :
ffmpeg -hide_banner -i "" -map 0:v:0 -map_chapters -1 -map_metadata -1 -vf "crop=1920:800:0:140" -vcodec hevc_nvenc -pix_fmt p010le -preset hq -profile:v main10 -rc constqp -global_quality 21 -rc-lookahead 32 -g 240 -f matroska Video_CQP21_LAF32_GOP240.mkv
-
Can't lock std::mutex again
16 juillet 2017, par user3567631Sorry for poor English.
I referenced this FFMPEG to make ffmpeg decoder.
Theopen
will block, I make it run in detach thread.
I added std::unique_lock to lock mutex in beginning ofopen
.bool FFmpegWrapper::open(std::string strFileName)
{
std::unique_lock lock(g_Mutex, std::try_to_lock);
m_pFormatContext = avformat_alloc_context();
m_pFormatContext->probesize = 4 * 1024 *100;
m_pFormatContext->max_analyze_duration = 0 * AV_TIME_BASE;
if (avformat_open_input(&m_pFormatContext, strFileName.c_str(), nullptr, nullptr) != 0)
return false;
if (avformat_find_stream_info(m_pFormatContext, NULL) < 0)
return false;
m_iVideoStream = m_iAudioStream = -1;
for (unsigned int i = 0; i < m_pFormatContext->nb_streams; i++)
{
if ((m_iVideoStream < 0) && (m_pFormatContext->streams[i]->codec->codec_type == AVMEDIA_TYPE_VIDEO))
{
m_iVideoStream = i;
}
else if ((m_iAudioStream < 0) && (m_pFormatContext->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO))
{
m_iAudioStream = i;
}
}
if (!(hasVideo() || hasAudio()))
return false; // Didn't find video or audio stream
if (hasVideo())
{
if (!openVideoStream())
return false;
}
if (hasAudio())
{
if (!openAudioStream())
return false;
}
retrieveFileInfo();
m_bIsFileOpen = true;
m_strFileName = strFileName;
if (isImage())
{
m_dDurationInMs = 0;
m_dFps = 0;
m_lCurrentFrameNumber = 1;
decodeImage();
}
m_bIsThreadRunning = false;
if (m_bIsFileOpen)
CCLOG("FFmpeg open stream succeed");
else
CCLOG("FFmpeg open stream failed");
m_iState = eOpened;
return m_bIsFileOpen;
}and added unique_lock in
close
beginning like this.void FFmpegWrapper::close()
{
std::unique_lock lock(g_Mutex, std::try_to_lock);
while (!lock.owns_lock())
{
lock.try_lock()
}
stop();
if (m_pVideoBuffer != nullptr)
{
delete m_pVideoBuffer;
m_pVideoBuffer = nullptr;
}
if (m_pVideoFrameRGB != nullptr)
{
av_free(m_pVideoFrameRGB);
m_pVideoFrameRGB = nullptr;
}
if (m_pVideoFrame != nullptr)
{
av_free(m_pVideoFrame);
m_pVideoFrame = nullptr;
}
if (m_pAudioFrame != nullptr)
{
av_free(m_pAudioFrame);
m_pAudioFrame = nullptr;
}
if (m_pSwScalingContext != nullptr)
{
sws_freeContext(m_pSwScalingContext);
m_pSwScalingContext = nullptr;
}
if (m_pVideoCodecContext != nullptr)
{
avcodec_close(m_pVideoCodecContext);
m_pVideoCodecContext = nullptr;
}
if (m_pAudioCodecContext != nullptr)
{
avcodec_close(m_pAudioCodecContext);
m_pAudioCodecContext = nullptr;
}
if (m_pFormatContext != nullptr)
{
avformat_free_context(m_pFormatContext);
m_pFormatContext = nullptr;
}
if(m_pSwr != nullptr)
swr_free(&m_pSwr);
CCLOG("CLOSE DONE");
}When
open
is still running ,I want lock mutex again inclose
in main thread.
it failed to get mutex ownership it is no problem. But even while loop waited the open() done, try_lock still can’t get the mutex ownership.I thought unique_lock out of scope will unlock mutex ,but it didn’t. I want to know how can I lock the mutex correctly.Thank you !