Ses parçasını sessiz bir h264 / mp4-video kayıpsız olarak nasıl uygulayabilirim?


4

Ses olmadan MP4 / h.264-video var. İle ffmpegya da benzer, nasıl (yani video izlemek Recoding olmadan) video kalitesini düşürmeden o MP4-dosyaya bir müzik parçası başvurabilirim?

Win7, Ubuntu veya FreeBSD için mevcut olan ücretsiz yazılımı içeren çözümleri tercih ederim.

Yanıtlar:


10

Doğru FFmpeg komutu şudur:

ffmpeg -i video.mp4 -i audio.mp4 -map 0:0 -map 1:0 -c copy output.mp4

Bu, iki giriş akışını, zaten sahip olduğunuz videoyu ve sesi, örneğin AAC sesli bir MP4 dosyasından besleyecektir ve -mapseçenekleri kullanarak bunları birleştirecektir .

Buradaki ilk sayı 0:0giriş dosyasıdır ( 0video dosyası ve 1ses dosyası için) ve ikinci sayı bu dosyadaki akıştır ( 0her biri yalnızca bir video akışı olduğundan, video veya ses). İki akış bir çıkış dosyasına eşlenecektir, yani önce video, sonra ses.

Bit akışları kopyalanacak ve -c copyseçenek kullanılarak yeniden kodlanmayacaktır . Bunu FFmpeg çıktısında gözlemleyebilirsiniz:

Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #1:0 -> #0:1 (copy)

Tatlı! Özellikle haritalamanın argümanlarını ve kullanımını açıklamanız güzel.
poplitea,

4
Ayrıca, -shortestyalnızca en kısa girişin süresi olmasını isteyebilirsiniz (ses, videodan daha uzun müzik ise yararlıdır).
mark4o

1

Bunu ffmpegbaşarmak için kullanabilirsiniz . Sadece zayıflamış beynimin arkasından yapıyorum ama belki böyle bir şey işe yarayabilir:

ffmpeg -i movie-file.mp4 -i audio-file.mp3 -c:v copy -c:a copy output.mp4

Aradığım şey bu. Daha önce kullanmış ffmpegolmama rağmen , argümanlarını hatırlayamıyorum. Onların codec'i / formatı ile yapmak zorunda varsayalım, ama ne yapmak -v:c, -a:cve -anayakta?
poplitea

2
Seçenekler olmalı -c:vve -c:adeğil -v:cve -a:c. Ayrıca, -ansizinle ses çıkışını devre dışı bırakın, böylece sonuç dosyasında tekrar ses olmaz. Dosyaları birleştirirseniz, FFmpeg ne istediğinizi tahmin edemediği sürece (örneğin AVI video + WAV ses birleştirme) / cc @poplitea
slhck

Ooops - beynime geçenleri değiştirdi. Haritalama hakkında yeni bir şeyler öğrenmek güzel. Teşekkürler.
thornomad

-1

Birkaç açık kaynak kodlu video editörü var.

Pencerelerde Windows film yapımcısı ya da microsoft live film yapımcısı var. Ancak bunlarla ilgili deneyimim yok.

Linux'ta kullanımı oldukça kolay olan OpenShot var.


Doğrusal olmayan editörlerin sorunu, bit akışını kolayca kopyalamanıza izin vermemeleridir. Bunun nasıl yapılacağına dair bir örnek gösterebilirseniz, çok yararlı olurdu - bunun yapılabileceğinden emin değilim.
slhck

Video dosyanızı ve ses dosyanızı alırsınız. Sonra sadece altına (zaman çizelgesi) sürükleyin. Aynısını ses dosyanızla da yapıyorsunuz. Ardından, projenizi dışa aktarıp istediğiniz ayarları seçersiniz. dışa aktarmadan önce önizleyebilirsiniz. İstediğinin bu olup olmadığından emin değilim.
Yapılacak

Demek istediğim, projeyi dışa aktardığınızda çoğu editör video ve ses akışlarını yeniden kodlayacak (dışa aktarma ayarlarına göre, örneğin bazı h.264 / AAC'ye). Ancak bit akımını olduğu gibi kopyalamazlar. Yeniden kodlama, kaliteyi daha da kötüleştirir ve OP bit-bit kopya yapmak istedi. Bunu yapan herhangi bir editör var mı, yoksa Windows Movie Maker / OpenShot bunu yapabilir mi?
slhck

Ubuntu'da hem video hem de ses için "direc" çıktı seçeneğine sahip olan pitivi kullandım. Kodlamanın normal ayarlara göre çok daha hızlı olduğu için bunun orijinal formatı kopyaladığını düşünüyorum. Pitivi'nin en azından o zamana (1 yıl önce) çok dengesiz olduğunu söyledi.
Yapılacak
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.