[mirotalk] - remove unstable h264 codec for recording

This commit is contained in:
Miroslav Pejic
2025-08-20 21:20:13 +02:00
parent 6befbd58f1
commit cc79520fd9
7 changed files with 18 additions and 38 deletions
+6
View File
@@ -16,6 +16,12 @@
<hr />
<p align="center">
This project is proudly supported by <a href="https://www.recall.ai">Recall.ai</a> an API for recording Zoom, Google Meet, Microsoft Teams, and in-person meetings.
</p>
<hr/>
<p align="center">
<strong><a href="https://p2p.mirotalk.com">Explore MiroTalk P2P</a></strong>
</p>
+1 -1
View File
@@ -45,7 +45,7 @@ dependencies: {
* @license For commercial use or closed source, contact us at license.mirotalk@gmail.com or purchase directly from CodeCanyon
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-p2p-webrtc-realtime-video-conferences/38376661
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
* @version 1.5.65
* @version 1.5.66
*
*/
+6 -6
View File
@@ -1,12 +1,12 @@
{
"name": "mirotalk",
"version": "1.5.65",
"version": "1.5.66",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "mirotalk",
"version": "1.5.65",
"version": "1.5.66",
"license": "AGPL-3.0",
"dependencies": {
"@mattermost/client": "10.9.0",
@@ -29,7 +29,7 @@
"jsdom": "^26.1.0",
"jsonwebtoken": "^9.0.2",
"nodemailer": "^7.0.5",
"openai": "^5.12.2",
"openai": "^5.13.1",
"qs": "^6.14.0",
"socket.io": "^4.8.1",
"swagger-ui-express": "^5.0.1",
@@ -4045,9 +4045,9 @@
}
},
"node_modules/openai": {
"version": "5.12.2",
"resolved": "https://registry.npmjs.org/openai/-/openai-5.12.2.tgz",
"integrity": "sha512-xqzHHQch5Tws5PcKR2xsZGX9xtch+JQFz5zb14dGqlshmmDAFBFEWmeIpf7wVqWV+w7Emj7jRgkNJakyKE0tYQ==",
"version": "5.13.1",
"resolved": "https://registry.npmjs.org/openai/-/openai-5.13.1.tgz",
"integrity": "sha512-Jty97Apw40znKSlXZL2YDap1U2eN9NfXbqm/Rj1rExeOLEnhwezpKQ+v43kIqojavUgm30SR3iuvGlNEBR+AFg==",
"license": "Apache-2.0",
"bin": {
"openai": "bin/cli"
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "mirotalk",
"version": "1.5.65",
"version": "1.5.66",
"description": "A free WebRTC browser-based video call",
"main": "server.js",
"scripts": {
@@ -61,7 +61,7 @@
"jsonwebtoken": "^9.0.2",
"js-yaml": "^4.1.0",
"nodemailer": "^7.0.5",
"openai": "^5.12.2",
"openai": "^5.13.1",
"qs": "^6.14.0",
"socket.io": "^4.8.1",
"swagger-ui-express": "^5.0.1",
+1 -1
View File
@@ -73,7 +73,7 @@ let brand = {
},
about: {
imageUrl: '../images/mirotalk-logo.gif',
title: 'WebRTC P2P v1.5.65',
title: 'WebRTC P2P v1.5.66',
html: `
<button
id="support-button"
+2 -14
View File
@@ -15,7 +15,7 @@
* @license For commercial use or closed source, contact us at license.mirotalk@gmail.com or purchase directly from CodeCanyon
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-p2p-webrtc-realtime-video-conferences/38376661
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
* @version 1.5.65
* @version 1.5.66
*
*/
@@ -636,7 +636,6 @@ let recTimer;
let recCodecs;
let recElapsedTime;
let recStartTs = null;
let recPrioritizeH264 = false;
let isStreamRecording = false;
let isStreamRecordingPaused = false;
let isRecScreenStream = false;
@@ -5599,14 +5598,6 @@ function setMySettingsBtn() {
// make chat room draggable for desktop
if (!isMobileDevice) dragElement(mySettings, mySettingsHeader);
// recording codecs
switchH264Recording.addEventListener('change', (e) => {
recPrioritizeH264 = e.currentTarget.checked;
lsSettings.rec_prioritize_h264 = recPrioritizeH264;
lS.setSettings(lsSettings);
userLog('toast', `${icons.codecs} Recording prioritize h.264 ` + (recPrioritizeH264 ? 'ON' : 'OFF'));
playSound('switch');
});
// Recording pause/resume
pauseRecBtn.addEventListener('click', (e) => {
pauseRecording();
@@ -6007,13 +5998,11 @@ function loadSettingsFromLocalStorage() {
notifyBySound = lsSettings.sounds;
isKeepButtonsVisible = lsSettings.keep_buttons_visible;
isAudioPitchBar = lsSettings.pitch_bar;
recPrioritizeH264 = lsSettings.rec_prioritize_h264;
isShortcutsEnabled = lsSettings.keyboard_shortcuts;
switchSounds.checked = notifyBySound;
switchShare.checked = notify;
switchKeepButtonsVisible.checked = isKeepButtonsVisible;
switchAudioPitchBar.checked = isAudioPitchBar;
switchH264Recording.checked = recPrioritizeH264;
switchShortcuts.checked = isShortcutsEnabled;
themeCustom.check.checked = themeCustom.keep;
@@ -7170,7 +7159,6 @@ function stopRecordingTimer() {
*/
function getSupportedMimeTypes() {
const possibleTypes = ['video/webm;codecs=vp9,opus', 'video/webm;codecs=vp8,opus', 'video/mp4'];
possibleTypes.splice(recPrioritizeH264 ? 0 : 2, 0, 'video/mp4;codecs=h264,aac', 'video/webm;codecs=h264,opus');
console.log('POSSIBLE CODECS', possibleTypes);
return possibleTypes.filter((mimeType) => {
return MediaRecorder.isTypeSupported(mimeType);
@@ -11351,7 +11339,7 @@ function showAbout() {
Swal.fire({
background: swBg,
position: 'center',
title: brand.about?.title && brand.about.title.trim() !== '' ? brand.about.title : 'WebRTC P2P v1.5.65',
title: brand.about?.title && brand.about.title.trim() !== '' ? brand.about.title : 'WebRTC P2P v1.5.66',
imageUrl: brand.about?.imageUrl && brand.about.imageUrl.trim() !== '' ? brand.about.imageUrl : images.about,
customClass: { image: 'img-about' },
html: `
-14
View File
@@ -571,20 +571,6 @@ access to use this app.
<div id="tabRecording" class="tabcontent">
<img id="recImage" src="../images/recording.png" />
<div id="recOptions">
<table class="settingsTable">
<tr>
<td>
<div class="title">
<i class="fa-solid fa-film"></i>
<p>Prioritize H.264</p>
</div>
</td>
<td><input class="toggle" id="switchH264Recording" type="checkbox" /></td>
</tr>
</table>
<hr class="hr" />
</div>
<div class="trow">
<span class="clw notranslate" id="recordingTime"></span>
<br />