Làm thế nào để tham gia các tập tin video từ thiết bị đầu cuối?


9

Tôi đã thử avidemux2_cli, mencoder, ffmpeg, cat .. Nhưng điều này không phải lúc nào cũng hoạt động (Với hầu hết các lỗi là codec âm thanh không giống nhau) Có thể tôi đã đặt các tùy chọn sai trong các lệnh.

Vì vậy, các lệnh:

cat Sample.avi rrr.avi > complete.avi
ffmpeg -i Sample.avi -i output.avi -vcodec copy -acodec copy complete.avi
mencoder -ovc lavc -oac copy Sample.avi rrr.avi -o complete.avi
avidemux2_cli --audio-codec copy --video-codec copy --output-format avi --load Sample.avi -append output.avi --save video.avi

Vấn đề của con mèo là nó không hiển thị lỗi nhưng nó không hoạt động luôn .. Giống như hoàn thành.avi sẽ hoàn toàn giống với Sample.avi

Fmmpeg không làm gì cả. Complete.avi luôn giống với Sample.avi

Lỗi Mencoder: Tất cả các tệp phải có codec âm thanh và định dạng giống hệt nhau cho bản sao -oac. Vì vậy, Complete.avi giống với Sample.avi

avidemux2_cli không có lỗi nhưng Complete.avi lại giống với Sample.avi ..

Vì vậy, để tổng hợp lại, tất cả perfect.avi đều giống với Sample.avi .. Và vấn đề là chúng không có cùng một codec âm thanh (tôi quess) .. Có ý tưởng nào không?


1
Tôi nghĩ rằng bạn cần thay đổi codec video và codec âm thanh của các tệp đầu vào thành cùng một codec, nếu bạn muốn kết hợp hai video một cách an toàn,
vine_user

Và làm thế nào tôi có thể làm điều đó?
Leon Vitanos

Bạn có thể sử dụng mencodervới tùy chọn -ovc và tùy chọn -oac. Xem: mplayerhq.hu/DOCS/HTML/en/menc-feat-selecting-codec.html
vine_user

Câu trả lời:


10

Nếu bạn muốn kết hợp hai video một cách an toàn, bạn cần thay đổi codec video và codec âm thanh của các tệp đầu vào thành cùng một codec.

Ví dụ: sử dụng xvid (codec video) và mp3lame (codec âm thanh):

sudo apt-get install mencoder libxvidcore4 libmp3lame0

bạn có thể mã hóa các video đầu vào bằng các lệnh dưới đây:

mencoder -ovc xvid -oac mp3lame -xvidencopts bitrate=1000 first.avi -o video1.avi
mencoder -ovc xvid -oac mp3lame -xvidencopts bitrate=1000 second.avi -o video2.avi

Để được khớp với video của bạn, bạn có thể thay đổi các tùy chọn "bitrate", v.v. (và cả codec).

Nếu tên video được mã hóa là "video1.avi" và "video2.avi" và tên video đầu ra là "gia nhập-video.avi",

mencoder -ovc copy -oac mp3lame video1.avi video2.avi -o joined-video.avi 

Sử dụng lệnh này, bạn có thể tạo tệp video đã tham gia.


2
Chỉ cần nghĩ rằng tôi củng cố rằng tên của tiện ích này là mencoder(ví dụ Media ENcoder). Rất nhiều người bị mắc kẹt do vô tình gõ vào memcoder.
Val

Không phải kích thước khung hình cũng phải phù hợp?
Anh Cả Geek

4

Tôi đã phải tham gia ba đoạn video với các codec giống hệt nhau. Đọc các câu trả lời trước tôi đã làm được điều này:

mencoder -ovc copy -oac faac 01.mp4 02.mp4 03.mp4 -o output.mp4

Nhanh hơn và đơn giản hơn Openshot!

Đầu tiên tôi đã thử tùy chọn '-oac copy', nhưng có vẻ như codec âm thanh trong video của tôi không cho phép. Tôi nhận được một thông báo lỗi giới thiệu '-oac pcm'. Codec pcm không phải là một lựa chọn tốt mặc dù: tệp kết quả là rất lớn và 2/3 trong số đó là âm thanh không nén.

Hi vọng điêu nay co ich


2
MEncoder svn r34540 (Ubuntu), được xây dựng với gcc-4.7 (C) 2000-2012 MPlayer Team MPlayer đã được biên dịch mà không có libfaac. Xem README hoặc DOCS.
Philippe Gachoud

1

Một giải pháp mà tôi tìm thấy ở đây đã giúp tôi tham gia mà không mất hai tệp mp4:

sudo apt-get install gpac
MP4Box -cat part1.mp4 -cat part2.mp4 -new joinedfile.mp4

Tôi đã thử sử dụng Avidemux, nhưng gặp vấn đề với âm thanh trong video được hợp nhất.


1

Các tệp của bạn sẽ không tham gia đúng cách vì có gì đó không khớp.

Giống như nhiều người khác, tôi gặp vấn đề với việc đồng bộ hóa âm thanh trong các video được hợp nhất. và trong khi MP4Box hoạt động tốt nếu các clip có thông số kỹ thuật giống hệt nhau, trong một số trường hợp, tôi sẽ bị đánh bại bởi Không tìm thấy bản nhạc đích phù hợp - tạo cái mới "trong trường hợp Totem (còn gọi là Video) sẽ không phát đoạn đó trong tệp đã tham gia Sau một số thử nghiệm và sai sót và nghiên cứu thêm, tôi đã phát triển phương pháp sau đây để xử lý việc tham gia các video mà cho đến nay vẫn hoạt động với chất lượng chấp nhận được (với tôi).

Nếu kích thước khung không khớp (lỗi liên quan đến các bản nhạc video):

Bình thường hóa video mà không làm gián đoạn âm thanh (-c: bản sao) bằng cách đặt các ràng buộc (chia hết cho 8 để tương thích codec tối đa) cho các phân đoạn chưa từng có

Lệnh ví dụ

width=856

height=480

avconv -i input.mp4 -filter:v "scale=iw*min($width/iw\,$height/ih):ih*min($width/iw\,$height/ih), pad=$width:$height:($width-iw*min($width/iw\,$height/ih))/2:($height-ih*min($width/iw\,$height/ih))/2" -c:a copy output.mp4

Nếu Âm thanh không khớp (lỗi liên quan đến các rãnh âm thanh):

Bình thường hóa âm thanh

Xử lý âm thanh mà không làm gián đoạn video (bản sao c: v) sao cho tất cả các clip khớp với codec, tần số và bitrate mong muốn với c: tần số -ar như -ar 48000 và tốc độ bit với b: 128k cho âm thanh nổi (64K mỗi âm thanh kênh có vẻ là một mục tiêu tốt) hoặc bất cứ điều gì phù hợp.

Ví dụ: avconv -i input.mp4 -c:v copy -c:a libmp3lame -ar 48000 b:a 128k output.mp4(lưu ý rằng libmp3lame là một codec cho âm thanh mp3) Bạn có thể lấy danh sách các bộ mã hóa được hỗ trợ avconv bằng cách phát lệnh avconv -codecshoặc thu hẹp mọi thứ vào một mã cụ thể avconv -codecs|grep *codecname*chẳng hạnavconv -codecs|grep mp3

Bây giờ chúng tôi đã bình thường hóa các tệp, chúng tôi có thể tham gia chúng. Trong ví dụ này tôi sẽ tham gia các tệp với MP4Box. Nếu bạn không có nó, bạn có thể lấy nó bằng cách ra lệnhsudo apt-get install gpac

Tham gia các tệp bằng lệnh MP4Box file1.mp4 -cat file2.mp4 -cat file3.mp4 -cat file4.mp4 -out joinedfile.mp4(lưu ý rằng không có con mèo nào trước tệp đầu tiên và mỗi tệp bổ sung được bắt đầu bằng -cat và tệp đích được đặt trước -out)

Nếu sử dụng MP4Box (được khuyến nghị cho MP4) để tham gia, bạn có thể thấy rằng bạn phải xử lý tất cả các clip với avconv xem thông số kỹ thuật có khớp hay không để tránh lỗi Lỗi Không tìm thấy bản nhạc đích phù hợp - tạo một bản mới (loại vide)

Lưu ý: Tôi đã thấy Avidemux gặp sự cố với video được mã hóa bằng các tệp H.264 / AVC (trên mỗi totem) do các khung B làm tham chiếu. Điều này dường như dẫn đến âm thanh không đồng bộ khi tham gia ngay cả khi chọn sao chép cả âm thanh và video mà không cần phát lại. Sự cố khi không chọn chế độ an toàn và không đồng bộ khi sử dụng chế độ an toàn

Nguồn:

/superuser/547296/resizing-video-with-ffmpeg-avconv-to-fit-into-static-sized-player

/programming/20703160/probols-with-setting-constant-bitrate-by-USE-avconv

https://trac.ffmpeg.org/wiki/Encode/AAC#fdk_cbr

Lưu ý: Theo như tôi biết các định dạng khác (bộ chứa) có các ràng buộc tương tự để phù hợp với kích thước khung hình và tốc độ âm thanh, do đó, điều này cũng có thể hoạt động với avi nếu bạn thử kết nối qua cat hoặc mencoder sau khi bình thường hóa video và âm thanh .

Tùy chọn: Sử dụng Handbrake để mã hóa lại tệp đã tham gia với kích thước nhỏ hơn nếu muốn với tốc độ khung hình thay đổi và cài đặt chất lượng không đổi 25 (cài đặt được đề xuất - điều chỉnh khi cần theo yêu cầu về chất lượng và vật liệu của bạn)


1

Bạn nên gõ như thế này:

avidemux2_cli --audio-codec copy --video-codec copy --output-format avi --load Sample.avi --append output.avi --save video.avi

Nếu bạn muốn nối thêm tệp:

avidemux2_cli --audio-codec copy --video-codec copy --output-format avi --load Sample.avi --append output1.avi --append output2.avi --append output3.avi --save video.avi

1

Tôi đã có thể sử dụng VLC Media Player để tham gia / hợp nhất nhiều tệp video. VLC có thể được tải xuống từ Phần mềm Ubuntu hoặc bạn có thể cài đặt nó từ thiết bị đầu cuối bằng cách nhấn Ctrl+ Alt+ Tvà gõ:

sudo apt update
sudo apt install vlc

Khi VLC được cài đặt, hãy mở một thiết bị đầu cuối trong thư mục chứa các tệp video và sau đó gõ:

vlc InFile1.mp4 InFile2.mp4 --sout "#gather:std{access=file,dst=OutFile.mp4}" --sout-keep

Điều này mở GUI VLC và bạn có thể đóng nó sau khi các tệp được nối / sáp nhập. Bạn có thể tìm thêm thông tin ở đây .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.