Video dosyalarını `cat` kullanarak birleştirmek mümkün mü?


18

catKomutu kullanarak video dosyalarını birleştirmenin mümkün olup olmadığını merak ediyorum. Yani ortaya çıkan dosya sorunsuz bir şekilde çalıyor mu?


1
Denedin mi?
Bay Lister

3
Aslında yaptım. Ancak dosya boyutu her ikisinin de toplamı olmasına rağmen sonuç bir şekilde ikinci dosyayı içermiyordu.
Hamed Momeni

Yanıtlar:


21

Evet mümkün. Ancak tüm formatlar bunu desteklemez.

ffmpeg SSS :

Birkaç multimedya kabı (MPEG-1, MPEG-2 PS, DV) video dosyalarını birleştirerek birleştirebilir.

RAW formatlarına dönüştürürken dosyaların birleştirilebilme şansı da yüksek.

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

Ancak catbu şekilde kullanılması , gerekli olmayan ara dosyalar oluşturdu. Bu ara dosyaları oluşturmaktan kaçınmak için daha iyi bir yaklaşımdır:

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

1
Hala ikinci versiyonda ara dosyalar oluşturmuyor musunuz?
John Gowers

6

İki tür medya dosyası vardır

  • streamable

  • olmayan stream

Temel fark, iki dosya biçiminin meta bilgileri nasıl yerleştirdiğidir. ile sigara streamable formatları meta-informationc ( "başlığı") bazen sonunda genellikle başında, dosyada belirli bir konumda saklanır. Bu tür dosyaları birleştiremezsiniz, çünkü dosya dosyalarından birinin meta bilgileri standart olmayan bir konumda olacaktır ve bu nedenle yok sayılır.

OTOH, aktarılabilir formatların dosyayı "ortada bir yerde" çalmaya başlayabilecek dinleyicileri işleyebilmesi gerekir. Bu nedenle, bu biçimler meta bilgileri yeniden göndermeye devam eder ve hatta dosya / akış içinde güncellenmesine izin verir. Bu biçimler basitçe birleştirilebilir.



1

BЈовић'ın dediği gibi, genel olarak her dosyanın kendi başlığı vardır. Ubuntu Nasıl Yapılır'ın bu örneğini deneyin :

mencoder -ovc copy -oac copy video1.avi video2.avi -o completevideos.avi 

0

Hayır, bu mümkün değildir, çünkü her video dosyasının bir başlığı vardır. Videoları birleştirmek için bir araç kullanmanız gerekir (örneğin ffmpeg veya mencoder gibi ).


9
Pek doğru değil. Başlığı olmayan video formatları vardır, örn. Ham video veya ham veri çıkaran yuv4mpegpipe. Bu nedenle, bu başlıkları okurken çerçeve boyutunu sağlamanız gerekir, çünkü boyut eksik başlık nedeniyle bilinmemektedir.
Marco

2
Neden DV dosyaları ile başarılı bir şekilde yaptım?
Mart'ta Pithikos

1
@Pithikos hiçbir fikrim yok. belki büyü pratiği
yaparsın
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.