К сожалению, kdenlive не позволяет добавлять главы в файл MKV, только на DVD.

Как я могу добавить главы?

1 ответ1

0

В 2012 году ^ rooker опубликовал решение этой проблемы, в котором используется устаревшая схема kdenlive. К сожалению регистрация отключена на его форуме, или я бы разместил его там.

Я обновил файл, теперь вы можете применить этот XSLT к любому файлу .kdenlive и получить обратно используемые главы. Все , что вам нужно , это xsltproc и mkvmerge (часть Mkvtoolnix).

Добавьте маркеры в kdenlive и сначала сохраните их.

Мой обновленный XSLT

<?xml version="1.0"?>
<xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <Chapters>
  <EditionEntry>

      <xsl:for-each select="mlt/playlist/property[contains(@name, 'marker')]">
        <xsl:variable name="step1" select="translate(@name, 'kdenlive:marker', '')"/>
        <xsl:variable name="time" select="substring($step1, 3, string-length($step1) - 3)"/>

        <xsl:variable name="seconds" select="$time mod 60" />
        <xsl:variable name="minutes" select="floor($time div 60) mod 60" />
        <xsl:variable name="hours" select="floor(($time div 60) div 60)" />
        <!-- hh:mm:ss.msec -->
        <xsl:variable name="timecode">
          <xsl:value-of select="format-number($hours, '00')"/>:<xsl:value-of select="format-number($minutes, '00')"/>:<xsl:value-of select="format-number($seconds, '00.000')"/>
        </xsl:variable>

        <ChapterAtom>
          <ChapterDisplay>
            <ChapterString>
              <xsl:value-of select="text()"/>
            </ChapterString>
          </ChapterDisplay>
          <ChapterFlagHidden>0</ChapterFlagHidden>
          <ChapterFlagEnabled>1</ChapterFlagEnabled>
          <ChapterTimeStart>
            <xsl:value-of select="$timecode"/>
          </ChapterTimeStart>
        </ChapterAtom>
      </xsl:for-each>


  </EditionEntry>
  </Chapters>
</xsl:template>
</xsl:stylesheet>

Сделать главы

xsltproc 4subs.xslt 4subs.kdenlive > chaps

Объединить главы в файл

mkvmerge --chapters chaps -o cm2.mkv cm.mkv

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .