Jump to content

  1. Проблеми и дискусии, свързани с компютри

    1. Проблеми и дискусии, свързани с програми

      ..., а ние ще се опитаме да помогнем (не че знаем всичко, но се преструваме, че е така).

      23.6k
      posts
    2. Търся програма

      ... - с конкретно име или за конкретна цел.

      10.4k
      posts
    3. 27k
      posts
    4. Компютърна сигурност и защита от зловреден код

      ... вируси, червеи, троянци, шпионски, rogue, рууткити и прочее бацили...

      15.7k
      posts
    5. Проблеми и дискусии, свързани с хардуер

      ... и точно преди да вземете чука - пишете тук.

      29.5k
      posts
    6. Полезни неща

      ... полезни сайтове, материали, онлайн списания, трикове и съвети за работа с Интернет и други.
      2.6k
      posts
    7. Анкети

      Форум с анкети на всякаква компютърна тематика
      172
      posts
  2. Статии, ревюта и преводи на програми

    1. Статии

      ... на компютърна тематика, обяснения на технологии, компютърни устройства и компоненти и други.
      1.2k
      posts
    2. Ревюта на програми

      ..., включващи подробно описание, възможности, менюта, настройки и други.
      939
      posts
    3. Ръководства за работа с програми

      ..., придружени с картинки, обяснения, примери и полезни съвети.
      6.1k
      posts
    4. Ръководства за работа с операционни системи

      ..., придружени с картинки, обяснения, примери и полезни съвети.
      2.2k
      posts
    5. 687
      posts
    6. Преводи на програми

      ..., обединени в каталог, както и желания за такива.
      441
      posts
  3. Дизайн, програмиране, хостинг и мрежова администрация

    1. 4
      posts
    2. 7.8k
      posts
    3. Програмиране

      ... и всякакви проблеми с него и програмните езици.

      957
      posts
    4. 1
      post
  4. Пазар

    1. 26
      posts
      • Няма пост тук
    2. Cool оферти

      Всички попадаме на готини оферти, това е мястото да ги споделите.

      10
      posts
  5. Други

    1. 41
      posts
    2. Любопитни новини, извън IT сферата

      ... които да дискутираме и споделим мнение.

      При копиране на новини, задължително трябва да се посочва източника!

      1.4k
      posts
    3. Споделете

      ... какво ви е впечатлило, какво сте преживели, какво ви вълнува или как възприемате нещата край вас.
      8.5k
      posts
    4. Спорт

      Българи - юнаци!
      3.7k
      posts
    5. 7.1k
      posts
  • Активни потребители (Преглед)

    • There are no registered users currently online
  • Последни постове

    • MKVToolNix = отлично за точно "изрязване" по време, без прекодиране, но не е за бързо-лесно визуално рязане. MKVToolNix има и пълнофункционална портейбъл (portable) версия, която не изисква инсталация — просто я сваляш, разархивираш и директно можеш да ползваш mkvmerge и другите инструменти от пакета. MKVToolNix може да извлече сегмент, но изисква предварително планиране, точни времена, и може да се наложи няколко стъпки (например: демуксиране, избор на част). MKVToolNix GUI - графичния интерфейс 👉 Ето как: Отвори MKVToolNix GUI. Зареди видеото (чрез drag & drop или „Добавяне на файл“). В долния панел → отиди на таб Output. Намери поле „Splitting“ (разделяне). Избери: Split mode → Split by parts based on timecodes Въведи: 00:01:30-00:03:00 Натисни „Start multiplexing“. 🎉 Ще получиш нов .mkv файл с изрязан сегмент. Вариант през CMD: "D:\Tools\MKVToolNix\mkvmerge.exe" -o output.mkv --split parts:00:01:30-00:03:00 input.mkv в PowerShell на Windows & "C:\Program Files\MKVToolNix\mkvmerge.exe" -o output.mkv --split parts:00:01:30-00:03:00 input.mkv 🧩 Можеш да си направиш PowerShell скрипт (.ps1 файл) като шаблон, в който да сложиш променливи за: Името на входния файл Името на изходния файл После само редактираш тези променливи и стартираш скрипта, без да пишеш цялата команда наново. Времевия интервал за рязане # Път към mkvmerge.exe (промени ако използваш портейбъл версия) $mkvmergePath = "C:\Program Files\MKVToolNix\mkvmerge.exe" # Входен видео файл (промени според нуждите) $inputFile = "C:\Videos\input.mkv" # Изходен файл $outputFile = "C:\Videos\output_cut.mkv" # Времеви интервал (формат ЧЧ:ММ:СС - ЧЧ:ММ:СС) $timeRange = "00:01:30-00:03:00" # Изпълняваме командата & $mkvmergePath -o $outputFile --split "parts:$timeRange" $inputFile   Как го използваш? Записваш кода в текстов файл, примерно cut_mkv.ps1. Отваряш PowerShell, навигираш до папката с файла. Стартираш скрипта: .\cut_mkv.ps1 За следващи рязания само променяш стойностите на $inputFile, $outputFile и $timeRange. По този начин си спестяваш многократното писане на командата и намаляваш грешките. 🎞   
    • <!DOCTYPE html> <html lang="bg"> <head> <meta charset="UTF-8"> <title>7-сегментен преход</title> <style> body { background-color: #111; color: #eee; font-family: sans-serif; text-align: center; padding: 20px; } .panel { display: flex; justify-content: center; gap: 40px; margin-bottom: 30px; } .display { position: relative; width: 100px; height: 200px; margin: 10px auto; } .segment { position: absolute; background-color: #222; transition: background-color 0.3s; } .on-ruby { background-color: #c00; } .on-electric { background-color: #00ff80; } .a, .d, .g { width: 60px; height: 10px; left: 20px; } .a { top: 0; } .d { bottom: 0; } .g { top: 95px; } .b, .c, .e, .f { width: 10px; height: 60px; } .b { top: 10px; right: 0; } .c { bottom: 10px; right: 0; } .e { bottom: 10px; left: 0; } .f { top: 10px; left: 0; } select { font-size: 16px; padding: 5px; margin: 10px; } .label { font-weight: bold; margin-bottom: 5px; } .info { margin-top: 20px; font-size: 16px; color: #0f0; } </style> </head> <body> <h1>7-сегментен дисплей</h1> <div> <label>Целева цифра:</label> <select id="targetDigit" onchange="updateSources()"> <option value="0">0</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> </select> <label>Изходна цифра:</label> <select id="sourceDigit"></select> <button onclick="showTransition()">Покажи</button> </div> <div class="panel"> <div> <div class="label">Целева цифра</div> <div class="display" id="targetDisplay"> <div class="segment a"></div> <div class="segment b"></div> <div class="segment c"></div> <div class="segment d"></div> <div class="segment e"></div> <div class="segment f"></div> <div class="segment g"></div> </div> </div> <div> <div class="label">Изходна цифра</div> <div class="display" id="sourceDisplay"> <div class="segment a"></div> <div class="segment b"></div> <div class="segment c"></div> <div class="segment d"></div> <div class="segment e"></div> <div class="segment f"></div> <div class="segment g"></div> </div> </div> </div> <div class="info" id="transitionInfo"></div> <script> const digits = { "0": ["a", "b", "c", "d", "e", "f"], "1": ["b", "c"], "2": ["a", "b", "g", "e", "d"], "3": ["a", "b", "c", "d", "g"], "4": ["f", "g", "b", "c"], "5": ["a", "f", "g", "c", "d"], "6": ["a", "f", "g", "e", "c", "d"], "7": ["a", "b", "c"], "8": ["a", "b", "c", "d", "e", "f", "g"], "9": ["a", "b", "c", "d", "f", "g"] }; const transitions = { "0": { "6": ["b ⇄ g"], "8": ["+g"], "9": ["e ⇄ g"] }, "1": { "7": ["+a"] }, "2": { "3": ["e ⇄ c"] }, "3": { "2": ["c ⇄ e"], "5": ["b ⇄ f"], "9": ["+f"] }, "4": { }, "5": { "3": ["f ⇄ b"], "6": ["+e"], "9": ["+b"] }, "6": { "0": ["g ⇄ b"], "5": ["−e"], "8": ["+b"], "9": ["e ⇄ b"] }, "7": { "1": ["−a"] }, "8": { "0": ["−g"], "6": ["−b"], "9": ["−e"] }, "9": { "0": ["g ⇄ e"], "3": ["−f"], "5": ["−b"], "6": ["b ⇄ e"], "8": ["+e"] } }; function updateSources() { const target = document.getElementById("targetDigit").value; const sourceSelect = document.getElementById("sourceDigit"); sourceSelect.innerHTML = ""; const validSources = Object.entries(transitions) .filter(([from, toMap]) => toMap[target]) .map(([from]) => from); validSources.forEach(src => { const opt = document.createElement("option"); opt.value = src; opt.textContent = src; sourceSelect.appendChild(opt); }); if (validSources.length === 0) { const opt = document.createElement("option"); opt.textContent = "Няма валидни преходи"; sourceSelect.appendChild(opt); } } function showTransition() { const target = document.getElementById("targetDigit").value; const source = document.getElementById("sourceDigit").value; const targetSegs = digits[target] || []; const sourceSegs = digits[source] || []; const addedSegs = targetSegs.filter(s => !sourceSegs.includes(s)); const removedSegs = sourceSegs.filter(s => !targetSegs.includes(s)); const transition = transitions[source]?.[target] || []; const swappedSegs = transition .filter(t => t.includes("⇄")) .flatMap(t => t.split("⇄").map(s => s.trim())); // Целева цифра document.querySelectorAll("#targetDisplay .segment").forEach(seg => { const name = seg.classList[1]; seg.className = `segment ${name}`; if (targetSegs.includes(name)) { seg.classList.add("on-ruby"); if (addedSegs.includes(name) || swappedSegs.includes(name)) { seg.classList.remove("on-ruby"); seg.classList.add("on-electric"); } } }); // Изходна цифра document.querySelectorAll("#sourceDisplay .segment").forEach(seg => { const name = seg.classList[1]; seg.className = `segment ${name}`; if (sourceSegs.includes(name)) { seg.classList.add("on-ruby"); if (removedSegs.includes(name) || swappedSegs.includes(name)) { seg.classList.remove("on-ruby"); seg.classList.add("on-electric"); } } }); const info = transition.length > 0 ? transition : ["Няма дефинирана трансформация"]; document.getElementById("transitionInfo").textContent = `Преход ${source} ⇄ ${target}: ${info.join(", ")}`; } updateSources(); // Инициализация </script> </body> </html>   7-сегментен дисплей.html
    • Има много просто и лесно решение, ако заданието е ограничено само до приятно изживяване на момента - 180° ротирана картина за коректно плейване.    🧭 Как да завъртиш видеото в MPC-HC: Отвори видеото с MPC-HC. Натисни клавиш Ctrl + NumPad 3 → завърта го на 180°. Ctrl + NumPad 1 → 90° CCW Ctrl + NumPad 2 → 90° CW Ctrl + NumPad 3 → 180° Ако нямаш цифров блок, можеш да го направиш и от меню: View → Pan & Scan → Rotate Избери желаната ротация (90°, 180°, 270°) 🎞 или в този случай:   🧭 В Media Player Classic (MPC-HC): 🔄 Как да направиш Vertical Flip: Отвори видеото в MPC-HC. Натисни клавишната комбинация: Ctrl + NumPad 5 ✔️ Бързо, моментално, без да се пипа оригиналния файл. Това обръща видеото огледално по вертикала (главата надолу → главата нагоре). * Ако нямаш цифров блок, можеш да го направиш и от меню: View → Pan & Scan → Vertical Flip   📌 Обобщение: Цел Най-лесен метод Просто гледане ✅ MPC-HC с rotate/flip Възпроизвеждане навсякъде 🔁 FFmpeg завъртане (с encode) Добавяне на ротационен таг 🧩 mkvpropedit (не винаги работи) Ако просто искаш да го изгледаш на момента – MPC е царят. 👑
    • За чистене на драйвъри можеш да ползваш и https://github.com/lostindark/DriverStoreExplorer Но! Винаги внимателската( )!
  • Статистика

    • Потребители
      25686
    • Най-много онлайн
      819

    Най-нов потребител
    TinaHart
    Регистриран
×
×
  • Създай ново...