シナリオ:アスタリスクでビデオファイルを再生したい。私のソフトフォンは、オーディオとビデオでそれぞれ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-同じタスクを達成するために他にどのような選択肢が必要ですか。どうすればこのエラーを回避できますか
よろしく
私はそれに対する解決策を見つけました、そして解決策が利用可能であるように投稿されるべきだと思いますが、私は推測します。
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がこの変換を提供しない理由も知りたいです。
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 ページを参照してください。