Гербера для перекодировки * .avi видео в h264 mkv?

Я купил Samsung SmartTV, который не поддерживает кодек DIVX / XVID, поэтому любой из старых файлов * .avi у меня работает.

Хотя я всегда могу конвертировать их, в моей сети DLNA есть другие устройства, которые поддерживают их, поэтому я считаю, что быстрое преобразование предпочтительнее.

Я пытаюсь установить тип транскодирования и файла следующим образом в config.xml (соответствующая часть):

<mappings>
    <extension-mimetype ignore-unknown="no">
        <map from="mp3" to="audio/mpeg"/>
        <map from="ogx" to="application/ogg"/>
        <map from="ogv" to="video/ogg"/>
        <map from="oga" to="audio/ogg"/>
        <map from="ogg" to="audio/ogg"/>
        <map from="ogm" to="video/ogg"/>
        <map from="asf" to="video/x-ms-asf"/>
        <map from="asx" to="video/x-ms-asf"/>
        <map from="wma" to="audio/x-ms-wma"/>
        <map from="wax" to="audio/x-ms-wax"/>
        <map from="wmv" to="video/x-ms-wmv"/>
        <map from="wvx" to="video/x-ms-wvx"/>
        <map from="wm" to="video/x-ms-wm"/>
        <map from="wmx" to="video/x-ms-wmx"/>
        <map from="m3u" to="audio/x-mpegurl"/>
        <map from="pls" to="audio/x-scpls"/>
        <map from="flv" to="video/x-flv"/>
        <map from="mkv" to="video/x-matroska"/>
        <map from="mka" to="audio/x-matroska"/>
        <map from="dsf" to="audio/x-dsd"/>
        <map from="dff" to="audio/x-dsd"/>
        <map from="wv" to="audio/x-wavpack"/>
        <map from="avi" to="video/divx"/>
    </extension-mimetype>
    <mimetype-upnpclass>
        <map from="audio/*" to="object.item.audioItem.musicTrack"/>
        <map from="video/*" to="object.item.videoItem"/>
        <map from="image/*" to="object.item.imageItem"/>
        <map from="application/ogg" to="object.item.audioItem.musicTrack"/>
    </mimetype-upnpclass>
    <mimetype-contenttype>
        <treat mimetype="audio/mpeg" as="mp3"/>
        <treat mimetype="application/ogg" as="ogg"/>
        <treat mimetype="audio/ogg" as="ogg"/>
        <treat mimetype="audio/x-flac" as="flac"/>
        <treat mimetype="audio/flac" as="flac"/>
        <treat mimetype="audio/x-ms-wma" as="wma"/>
        <treat mimetype="audio/x-wavpack" as="wv"/>
        <treat mimetype="image/jpeg" as="jpg"/>
        <treat mimetype="audio/x-mpegurl" as="playlist"/>
        <treat mimetype="audio/x-scpls" as="playlist"/>
        <treat mimetype="audio/x-wav" as="pcm"/>
        <treat mimetype="audio/L16" as="pcm"/>
        <treat mimetype="video/x-msvideo" as="avi"/>
        <treat mimetype="video/mp4" as="mp4"/>
        <treat mimetype="audio/mp4" as="mp4"/>
        <treat mimetype="video/x-matroska" as="mkv"/>
        <treat mimetype="audio/x-matroska" as="mka"/>
        <treat mimetype="audio/x-dsd" as="dsd"/>
    </mimetype-contenttype>
</mappings>
<transcoding enabled="yes">
    <mimetype-profile-mappings>
        <transcode mimetype="video/divx" using="ffmpegavi2h264"/>
    </mimetype-profile-mappings>
    <profiles>
        <profile name="ffmpegavi2h264" enabled="yes" type="external">
            <mimetype>video/x-matroska</mimetype>
            <accept-url>no</accept-url>
            <first-resource>yes</first-resource>
            <agent command="ffmpeg" arguments="-y -i %in -c:v libx264 -preset fast -c:a copy %out"/>
            <buffer size="4194304" chunk-size="524288" fill-size="1048576"/>
        </profile>
    </profiles>
</transcoding>

Хотя я могу видеть, когда я выбираю avi-файл, запускается ffmpeg, TV говорит об этом не является допустимым файлом для воспроизведения.

Что мне не хватает?

Спасибо, потому что я не знаю, что еще попробовать

1
задан 25 May 2019 в 02:27

1 ответ

Вы должны добавить параметр для формата вывода - -f avi (принудительный формат), т.е.

...
<profile name="ffmpegavi2h264" enabled="yes" type="external">
    <mimetype>video/x-matroska</mimetype>
    <accept-url>no</accept-url>
    <first-resource>yes</first-resource>
    <agent command="ffmpeg" arguments="-y -i %in -c:v libx264 -preset fast -c:a copy -f avi %out"/>
    <buffer size="4194304" chunk-size="524288" fill-size="1048576"/>
</profile>
...

Gerbera % out заменить временный файл без расширения, поэтому ffmpeg выдаст ошибку - Невозможно найти подходящий формат вывода без расширения

0
ответ дан 3 January 2020 в 15:00

Другие вопросы по тегам:

Похожие вопросы: