avconv trên nhiều chủ đề


9

Có thể chạy các công việc trên nhiều bộ xử lý hoặc luồng để tăng tốc avconv?
Có một tính năng trong tiến trình, nếu không tôi tự hỏi tại sao?

Câu trả lời:


11

Bạn đang sau -threads tùy chọn avconv. Cài đặt an toàn nhất sẽ là:

 -threads auto

nhưng bạn cũng có thể đặt một số nguyên ở đó nếu bạn muốn thử nghiệm một chút. Một FFmpeg hiện đại (hiện là tiêu chuẩn trong Ubuntu) đặt auto mặc định này như được thấy trong phần này của trang man 'ffmpeg-all':

threads integer (decoding/encoding,video)

Set the number of threads to be used, in case the selected
codec implementation supports multi-threading.

  Possible values:

     auto, 0
     automatically select the number of threads to set

 Default value is auto.

Lưu ý 2 điểm quan trọng:

  1. Cài đặt này sẽ chỉ có hiệu lực nếu codec được chọn hỗ trợ đa luồng
  2. Có thể đặt số lượng luồng cho từng luồng thay vì chỉ đơn giản là thử cài đặt luồng chung

1
Chỉnh sửa cho tôi nếu bạn có một nguồn ngược lại nhưng tôi có ấn tượng rằng Avconv và avplay vẫn sử dụng tự động -threads làm mặc định nếu không có quy định khác. Màn hình hệ thống xuất hiện để sao lưu này.
Anh Cả Geek

1
Tôi tin rằng nó phụ thuộc vào codec được sử dụng để chuyển mã. Điều này có thể được chính thức thử nghiệm mà chắc chắn sẽ làm cho một thử nghiệm thú vị. Thông tin mà tôi có thể tìm thấy về vấn đề trực tuyến không đặc biệt hữu ích. Một vấn đề khác sẽ là phiên bản FFmpeg được sử dụng, các tùy chọn chủ đề đã được sử dụng khác nhau trong các phiên bản cũ hơn ...
andrew.46

1
Đúng. FFmpeg và avconv đã đi theo những hướng khác nhau kể từ ngã ba. Nghiên cứu sâu hơn chỉ ra rằng -threads auto là mặc định trong avconv nếu bạn sử dụng một trong các cài đặt trước trên dòng lệnh.
Anh Cả Geek

3

Nếu bạn đang thực hiện chuyển mã âm thanh cho nhiều tệp, hãy xem xét sử dụng GNU Parallel. Nó sẽ lấy một danh sách các tệp làm đầu vào và xử lý chúng song song dựa trên số lượng lõi trong hệ thống của bạn. Ví dụ, đây là một ví dụ bash sẽ chuyển đổi âm nhạc thành định dạng âm thanh opus song song bằng cách sử dụng ffmpeg.

find ./* -depth -type f -name \*.ogg -o -name \*.flac -o -name \*.m4a -o -name \*.mp3 -o -name \*.ogg | parallel -j+0 --gnu nice -n 19 ffmpeg -i "{}" -acodec libopus "{.}.opus" -loglevel quiet
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.