
Recherche avancée
Médias (1)
-
Bug de détection d’ogg
22 mars 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Video
Autres articles (62)
-
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
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 (...)
Sur d’autres sites (8465)
-
Grey squared artifacts after HEVC 10-bit encoding using FFmpeg's NVENC encoder
20 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
-
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 !