Scenariusz: chcę odtworzyć plik wideo na gwiazdce. mój softphone obsługuje tylko ulaw / h263 odpowiednio dla audio i wideo. Dlatego zezwalam na oba formaty w pliku sip.conf i oczekuję, że będzie działać. Używana przeze mnie wersja gwiazdki to 11.7.
Używam mp4_play z app_mp4 do odtwarzania plików z podpowiedziami mp4, które są konwertowane za pomocą mp4creator.
Rozwiązanie:
Staram się utworzyć / przekonwertować plik AV za pomocą ffmpeg, aby sformatować pcm_mulaw i skopiować wideo, które jest już w wersji h263 za pomocą polecenia
avconv -i input.3gp -c:a pcm_mulaw -c:v copy output.mp4
Otrzymuję ten komunikat o błędzie:
Could not write header for output file #0 (incorrect codec parameters ?): Operation not permitted
Pytania są następujące:
1- Czy zmierzam we właściwym kierunku, jeśli chodzi o odtwarzanie wideo na gwiazdce dla tego konkretnego telefonu programowego?
2 - czy można używać ffmpeg w taki sposób, a zawartość jest nadal odtwarzana za pomocą odtwarzaczy multimedialnych?
3 - jaką inną alternatywę muszę osiągnąć to samo zadanie. i jak mogę uniknąć tego błędu, który mam
pozdrowienia
avconv
programiści nie ułatwili użytkownikom poznania różnicy. Przezffmpeg
pewien czas podawali podróbkę z mylącym komunikatem, a nawet nazwa Libav była już i historycznie używana przez FFmpeg jako nazwa zbiorcza w odniesieniu do ich bibliotek (libavcodec, libavformat itp.).Odpowiedzi:
Czego nie możesz zrobić
Nie można umieścić audio pcm_mulaw lub wideo H.263 w kontenerze MP4.
Błąd, który sam podałeś, na ogół nie ma charakteru informacyjnego, ale zawsze towarzyszy mu rzeczywisty błąd (przynajmniej dla
ffmpeg
, nie jestem pewienavconv
). Prawdopodobnie coś takiego:Jest to jeden z powodów, dla których zawsze należy dołączać pełne dane wyjściowe konsoli podczas napotkania problemów.
Co możesz zrobić
Możesz albo:
zmień kontener formatu wyjściowego:
lub ponownie zakoduj do czegoś akceptowalnego dla MP4, takiego jak wideo H.264 i audio AAC.
Nic nie wiem o Asterisk, więc nie wiem, co byłoby dla Ciebie najlepsze, ale to przynajmniej rozwiąże problem, którego doświadczasz.
Wyjść ze starym
Polecam użyć najnowszej wersji
ffmpeg
.avconv
Używasz może być bardzo stary, rozwój FFmpeg jest bardzo aktywny iffmpeg
ma więcej funkcji. Kompilacje statyczne są łatwe: wystarczy pobrać, wyodrębnić i uruchomić. Zobacz stronę pobierania FFmpeg, aby uzyskać opcje dla systemów Linux, OS X i Windows.źródło
ffmpeg
nie zrobię tego i nigdy nie widziałem żadnych przykładowych plików zawierających taką kombinację. Nie jestem pewien, co rozumiesz przez „podpowiedź”, ale zakładam, że chcesz przenieśćmoov
atom na początek pliku. Możesz to zrobić zaffmpeg
pomocą-movflags +faststart
.-movflags rtphint
ale gdy użyłem, że nie dodaje ładunku H263 ani żadnego innegoZnalazłem rozwiązanie tego problemu i myślę, że powinienem je opublikować, ponieważ rozwiązanie jest dostępne, ale chyba nie bardzo dobrze się rozprzestrzenia.
http://downloads.i6net.com/misc/video_tools/debian/ zapewnia liczbę zasobów w tym samym celu.
Użyłem ffmpeg / avconv do konwersji h264 na h263p
avconv -i ../big_buck_bunny_240p_50mb.mp4 -c: v h263 -vf scale = 176: 144 -an /tmp/sample-1.3gp
Dodano informacje o ścieżce w pliku przy użyciu mp4creator
mp4creator -hint = 1 /tmp/sample-1.3gp
użył ffmpeg / avconv do konwersji ścieżki audio na ulaw przy użyciu
avconv -y -i ../big_buck_bunny_240p_50mb.mp4 -acodec pcm_mulaw -ar 8000 -ac 1 -f mulaw /tmp/convert.mulaw
i użył pcm2mp4 do konwersji uzyskanego powyżej pliku mulaw do 3gp. dodaje to również informacje o ścieżce do ścieżki audio
pcm2mp4 /tmp/convert.mulaw /tmp/sample-1.3gp
chciałby również wiedzieć, dlaczego ffmpeg nie zapewnia tej konwersji.
źródło
ffmpeg
robić Nie używaj też terminu „ffmpeg / avconv”. Nie są takie same, a to tylko powoduje zamieszanie. Na przykład wspominasz „ffmpeg / avconv”, ale używasz avconv, a następnie pytasz, dlaczego ffmpeg nie robi czegoś, co powoduje, że tak naprawdę nie podążam za twoim pytaniem.-movflags rtphint
ale nie dodały prawidłowego ładunku do ścieżek podpowiedzi z powodów, których nie znam lub prawdopodobnie nie znam poprawnego użycia.