.shまたはPythonスクリプト(pipe:///)またはある種の設定ファイルを使用するFFMPEGを介してこれを行う方法

.shまたはPythonスクリプト(pipe:///)またはある種の設定ファイルを使用するFFMPEGを介してこれを行う方法

初めて投稿するので、ご了承ください。

短い歴史。私はtvheadendを使用していますが、内蔵トランスコーダはCPUを食べて平均品質の出力(ffmpegベース)を提供します。 ffmpegを介してtvheadendから出力をストリーミングすると、CPU使用率が低くなり、品質が向上します(異常ですが本当です)。 (プレイヤー容量が制限されているため、トランスコーディングが必要でした)

したがって、tvheadendでは、httpリンクは次のようになります。

http://avideostream

到着

pipe:///usr/bin/ffmpeg -loglevel fatal -i http://avideostream -tune zerolatency -vcodec libx264 -preset veryfast -crf 28 -maxrate 1200k -bufsize 3500k -vf "scale='min(1280,iw)':'min(720,ih)'" -acodec aac -b:a 128K -f mpegts pipe:1

ご覧のとおり、その違いは膨大です。

すべて機能しますが、上記のパイプラインの設定を変更するには、すべてのリンクの設定を変更する必要があります(スクリプトを介して実行します)。これはtvheadend、すべてのリンクを再インポートしてテストすることを意味します(表示されているように)。 )変更されたリンクで十分です)。

だから私がしたいのは、ffmpegを何かで包んでラッパーを変更できるようにすることです。 (これはすべて最新のUbuntuサーバーで発生します)。

今、私は数年間私のホームサーバーを運営してきましたが、Ubuntuの専門家ではないと言うことができてうれしいです。だから私は「パイプライン」のすべての側面を完全に理解していません。

上記の3つのオプションは次のとおりです(これまで奇妙なビルドに入らずにtvheadendの外部トランスコーダオプションを選択する方法が見つかりませんでした。これを避けたい)。

ffmpeg用の外部オプションファイルの使用(コンソールで機能させることはできますが、パイプラインの一部としては機能しません。

sudo ffmpeg -i amovie.mp4 $(cat ffmpegoptions.txt) convertedmovie.mp4

ファイルアクセス権のように簡単かもしれませんが、デバッグをたくさんしたことはありません。)

ffmpegの内容を.shファイルに入れます(しかしパイプが壊れているようで、どこから始めるべきかわかりません)。

ffmpegを一種のPythonスクリプトに入れます。 (私はまだ調査を始めていません。私はあまりにも遠く、Pythonを書くことができますが、現時点では私の範囲を超えています。)

ショートバージョンで始めたいです。

tvheadend >> piped to ffmpeg >> back to tvheadend >> off to player

誰にでも

tvheadend >> piped to .sh or script wrapper >> piped to ffmpeg >> back to tvheadend >> off to player

または

tvheadend >> piped to ffmpeg (controlled by an external options file) >> back to tvheadend >> off to player

どんなアドバイスや助けにも感謝します。重要な情報を見逃した場合はお知らせください。

ベストアンサー1

私は実際の答えを見つけることができず、より多くの解決策を見つけることができませんでした。これはより大きなフレックスの一部であるため、ffmpegトランスコーディングを含むプロキシ(xteve)が見つかり、ffmpegのオプションを設定できます。私がやりたいことにはこれほど十分です。

これは他の人の時間を少し節約することを願っています。

おすすめ記事