web-dev-qa-db-ja.com

オーディオとしてulawを使用したアスタリスクのmp4ビデオ、ビデオのh263

シナリオ:アスタリスクでビデオファイルを再生したい。私のソフトフォンは、オーディオとビデオでそれぞれulaw/h263のみをサポートしています。したがって、sip.confファイルで両方の形式を許可し、実行されることを期待しています。私が使用しているアスタリスクのバージョンは11.7です。

App_mp4のmp4_playを使用して、mp4creatorで変換されたmp4ヒントファイルを再生しています。

解決:

私がやろうとしているのは、ffmpegを使用してAVファイルを作成/変換してpcm_mulawをフォーマットし、コマンドを使用してすでにh263になっているビデオをコピーすることです。

avconv -i input.3gp  -c:a pcm_mulaw  -c:v copy output.mp4

このエラーメッセージが表示されます:

Could not write header for output file #0 (incorrect codec parameters ?): Operation not permitted

質問は次のとおりです。

1-この特定のソフトフォンのアスタリスクでビデオを再生することが懸念される限り、私は正しい方向に進んでいますか?

2-メディアプレーヤーを使用してコンテンツを再生できるような方法でffmpegを使用することは可能ですか?

3-同じタスクを達成するために他にどのような選択肢が必要ですか。どうすればこのエラーを回避できますか

よろしく

1
Jamil Farooq

私はそれに対する解決策を見つけました、そして解決策が利用可能であるように投稿されるべきだと思いますが、私は推測します。

http://downloads.i6net.com/misc/video_tools/debian/ 同じ目的のために多くのリソースを提供します。

  • 私はffmpeg/avconvを使用してh264をh263pに変換しました

    avconv -i ../big_buck_bunny_240p_50mb.mp4 -c:v h263 -vf scale = 176:144 -an /tmp/sample-1.3gp

  • Mp4creatorを使用してファイルにトラック情報を追加しました

    mp4creator -hint = 1 /tmp/sample-1.3gp

  • ffmpeg/avconvを使用してオーディオトラックをulawに変換しました

    avconv -y -i ../big_buck_bunny_240p_50mb.mp4 -acodec pcm_mulaw -ar 8000 -ac 1 -f mulaw /tmp/convert.mulaw

  • そして、pcm2mp4を使用して、上記で取得したmulawファイルを3gpに変換しました。これにより、オーディオトラックのトラック情報も追加されます

    pcm2mp4 /tmp/convert.mulaw /tmp/sample-1.3gp

ffmpegがこの変換を提供しない理由も知りたいです。

0
Jamil Farooq

できないこと

Pcm_mulawオーディオまたはH.263ビデオをMP4コンテナに入れることはできません。

あなたがそれ自体で提供したエラーは一般的に有益ではありませんが、それは常に実際のエラーを伴います(少なくともffmpegについては、avconvについてはわかりません)。おそらくこれは何か:

Could not find tag for codec h263 (or pcm_mulaw) in stream #0,
codec not currently supported in container

これは、問題が発生したときに常に完全なコンソール出力を含める理由の1つです。

あなたにできること

次のいずれかを実行できます。

  • 出力フォーマットコンテナを変更します。

    ffmpeg -i input.3gp -c copy output.mkv
    
  • または、H.264ビデオやAACオーディオなど、MP4で許容できるものに再エンコードします。

    ffmpeg -i input.3gp -c:v libx264 -c:a aac -strict experimental output.mp4
    

私はアスタリスクについて何も知らないので、あなたにとって何が最善かわかりませんが、これは少なくともあなたが経験している正確な問題に対処します。

古いものと一緒に

ffmpegの最近のビルドを使用することをお勧めします。使用しているavconvは本当に古い可能性があり、FFmpegの開発は非常に活発で、ffmpegにはより多くの機能があります。静的ビルドは簡単です。ダウンロード、抽出、実行するだけです。 Linux、OS X、およびWindowsのオプションについては、 FFmpeg Download ページを参照してください。

1
llogan