2012-04-30 14 views
5

Kiedy rozpakować strumienia wideo z ffmpeg za pomocą wiersza polecenia:Czy istnieje prosty sposób na wyodrębnienie surowego strumienia h.264 w formacie załącznikab?

ffmpeg -i {jakiś plik} -vcodec skopiowania -an -f {rawvideo | h264 | cokolwiek} out.h264

z niektórych plików multimedialnych wyprodukowany przez Adobe Media Encoder, tylko .m4v (zakodowane jako pliki h.264 blu-ray) może dać pewne użyteczne rezultaty.

Niektóre inne formaty (np. .f4v) mogą generować strumień h.264, ale bez PPS/SPS, a każdy plasterek zaczyna się od wielkości zamiast 00 00 00 01 sekwencji.

Chciałbym wyodrębnić surowe strumienie w formacie Annexb z możliwie największej liczby plików zawierających poprawny strumień h.264. Wiem, że mogę dodać PPS/SPS i zmienić rozmiar na 00 00 00 01 sam. Ale czy istnieje jakieś istniejące oprogramowanie?


Albo można zagwarantować, że zawsze można wyodrębnić ffmpeg strumieni w formacie annexb z m4v pliku, bez względu na to z jakiego oprogramowania plik jest zakodowany?

+0

Stare pytanie, ale czy stała wartość PPS i SPS gdzieś się podniosła, jak w avcC? Ponieważ sam koduję naprawdę podstawowy demuxer, ponieważ biblioteka dekodera, której używam, nie demultipleksuje i chcę się upewnić, że odtwarzany strumień zadziała. –

Odpowiedz

11

Co jesteś prawdopodobnie szuka jest filtr h264_mp4toannexb bitstream, wywołany z opcją wiersza poleceń -bsf:

ffmpeg -i {some file} -vcodec copy -bsf h264_mp4toannexb -an -f {rawvideo|h264|whatever} out.h264 

należy pamiętać, że jeśli wersja FFmpeg jest nieco stary, może trzeba użyć -vbsf zamiast -bsf (ostatnio zmieniono nazwę tej opcji).

+0

Czy istnieje parametr określający, który strumień ma zostać wyodrębniony (jeśli MP4 zawiera wiele podstawowych strumieni H264)? –

+0

Uwaga: wynikowy plik można wyświetlić za pomocą 'ffplay out.h264', ale nie" vlc out.h264 "dla VLC 2.2.1. –

Powiązane problemy