Zastanawiam się, czy można scalić pliki wideo za pomocą cat
polecenia? Mam na myśli, czy wynikowy plik będzie odtwarzany bezproblemowo?
Zastanawiam się, czy można scalić pliki wideo za pomocą cat
polecenia? Mam na myśli, czy wynikowy plik będzie odtwarzany bezproblemowo?
Odpowiedzi:
Tak to mozliwe. Ale nie wszystkie formaty go obsługują.
Kilka kontenerów multimedialnych (MPEG-1, MPEG-2 PS, DV) pozwala łączyć pliki wideo, łącząc je.
Podczas konwersji do formatów RAW istnieje również duża szansa, że pliki mogą zostać połączone.
ffmpeg -i input1.avi -qscale:v 1 intermediate1.mpg
ffmpeg -i input2.avi -qscale:v 1 intermediate2.mpg
cat intermediate1.mpg intermediate2.mpg > intermediate_all.mpg
ffmpeg -i intermediate_all.mpg -qscale:v 2 output.avi
Ale używając cat
w ten sposób utworzonych plików pośrednich, które nie są konieczne. Jest to lepsze podejście, aby uniknąć tworzenia tych plików pośrednich:
ffmpeg -i input1.avi -qscale:v 1 intermediate1.mpg
ffmpeg -i input2.avi -qscale:v 1 intermediate2.mpg
ffmpeg -i concat:"intermediate1.mpg|intermediate2.mpg" -c copy intermediate_all.mpg
ffmpeg -i intermediate_all.mpg -qscale:v 2 output.avi
Istnieją dwa rodzaje plików multimedialnych
strumieniowe
nieprzesyłane
Główną różnicą jest sposób, w jaki dwa formaty plików zawierają meta-informacje. w przypadku formatów niemożliwych do przesłania meta-informacja c („nagłówek”) jest przechowywana w określonej pozycji w pliku, zwykle na początku, a czasem na końcu. Nie można po prostu łączyć takich plików, ponieważ meta-informacje z jednego z plików plików będą znajdować się w niestandardowej lokalizacji i dlatego zostaną zignorowane.
OTOH, formaty przesyłane strumieniowo muszą być w stanie obsłużyć słuchaczy, którzy zaczną odtwarzać plik „gdzieś pośrodku”. Dlatego formaty te ciągle wysyłają ponownie meta-informacje, a nawet umożliwiają aktualizację ich w pliku / strumieniu. Te formaty można po prostu połączyć.
Jak powiedział BЈовић, ogólnie każdy plik ma swój własny nagłówek. Wypróbuj ten przykład z Ubuntu Porady :
mencoder -ovc copy -oac copy video1.avi video2.avi -o completevideos.avi
Nie, nie jest to możliwe, ponieważ każdy plik wideo ma nagłówek. Aby scalić filmy, musisz użyć narzędzia (na przykład ffmpeg lub mencoder ).