Tôi không vui khi tôi kết xuất trừ khi tôi thực sự có thể ngửi thấy mùi nhựa cháy, không có gì khó chịu hơn AE nói với bạn rằng kết xuất của bạn sẽ không hoàn thành cho đến khi cái chết nóng của vũ trụ, đồng thời CPU của bạn chỉ vừa đủ toát mồ hôi. Tuy nhiên có một cái gì đó bạn có thể làm về nó.
Sau khi các hiệu ứng đi kèm với trình kết xuất dòng lệnh được gọi là aerender.exe plain ol ' aerender trên mac). Nó nằm trong thư mục chương trình AE. Sử dụng nó là một chút thách thức đối với những người không sử dụng đến - = awesome - = sức mạnh của dòng lệnh, nhưng chắc chắn sẽ rất đáng làm nếu bạn thực hiện một số công việc nặng nề trong After Effects và bạn muốn có thể khai thác tất cả sức mạnh của máy tính của bạn.
Vẻ đẹp của nó là bạn có thể chạy bao nhiêu trường hợp tùy thích. Những gì tôi thường làm là tiếp tục thêm các thể hiện cho đến khi tôi bắt đầu sử dụng ít bộ nhớ. Tôi có một máy lõi vật lý 40 và cần rất nhiều để tối đa hóa CPU nhưng đây là một ảnh chụp màn hình nơi cuối cùng tôi đã quản lý nó. Mỗi một trong những cửa sổ đó là một phiên bản mới của công cụ kết xuất AE:
Trong ví dụ đó, tốc độ trên mỗi khung hình của mỗi trình kết xuất hầu như không giảm so với một trường hợp duy nhất, vì vậy tôi đã đạt được tốc độ tăng khoảng 4000%. YMMV, tùy thuộc vào số lượng lõi và số lượng ram máy của bạn. Tôi đã nỗ lực vì tôi có một dự án liên quan đến các comps rất dài và khá phức tạp. Dự án đơn giản là không được thực hiện nếu không có kỹ thuật này, hoặc tôi sẽ phải đưa nó ra một trang trại kết xuất thương mại.
Tất nhiên, việc tăng tốc đi kèm với một mức giá, đó là một sự gia tăng nhẹ về độ phức tạp của quy trình làm việc của bạn. Bạn cần đặt comps của mình để hiển thị dưới dạng chuỗi hình ảnh và sử dụng cài đặt nhiều máy để mỗi trình kết xuất sẽ tìm kiếm khung không được gửi tiếp theo. Cuối cùng, nếu bạn cần một tệp phim, bạn sẽ phải thực hiện nén, nhưng trong trường hợp của tôi, tôi thường làm chủ chuỗi png hoặc tiff, và sau đó chạy các bản sao được mã hóa h.264 cho máy khách từ máy chủ.
Và bạn cần biết một chút về dòng lệnh. Ngừng tìm kiếm glum đó là một điều TỐT, đó là một điều TỐT.
các cửa sổ
Dòng lệnh powershell mà tôi đã sử dụng trong kịch bản đó là:
for ($i = 0 ; $i -lt 40; $i++ ){
Start-Process 'C:\Program Files\Adobe\Adobe After Effects <<version>>\Support Files\aerender.exe'-ArgumentList '-project', '"c:\path\to\project.aep"'
sleep 5;
}
Điều này được thực thi trong một cửa sổ powershell (nhập vào WindowsRvà sau đó gõ powershell.exe ). Đây là ngôn ngữ kịch bản lệnh shell được tích hợp vào các phiên bản Windows hiện đại có thể được sử dụng cho tất cả các loại nội dung.
Mac
Sử dụng phiên bản Bash> 3 (shell mặc định trong các phiên bản OSX hiện tại) hoặc thực sự với các shell mát hơn như zsh, bạn có thể sử dụng tập lệnh này:
for i in {1..40}; do
/Applications/Adobe\ After\ Effects\ CC\ 2017/aerender -project ~/Path/to/myproject.aep &
sleep 5
done
Kịch bản hoạt động như vậy:
- bắt đầu một vòng lặp trong 40 lần lặp lại, bạn có thể thay đổi 40 thành bất cứ điều gì bạn nghĩ là số tiền lành mạnh.
- Sau đó, nó bắt đầu hoạt động như một quy trình mới bằng
start-process
lệnh trong PS hoặc với &
bash, Rõ ràng thay đổi đường dẫn đến aerender.exe / aerender và dự án của bạn thành bất cứ điều gì trên máy của bạn. Một cách nhanh chóng và chính xác để điền vào các đường dẫn với dòng lệnh là kéo các tệp và thư mục vào đó. Ngoài ra, sử dụng các tabđường dẫn để tự động điền giúp tiết kiệm rất nhiều lỗi đánh máy và lỗi chính tả.
- Cuối cùng, nó ngủ được 5 giây. Tôi thấy rằng việc mở quá nhiều trường hợp quá nhanh là một cách đáng tin cậy để làm mờ màn hình / kernel làm máy tính của tôi hoảng loạn.
Nếu bạn có nhiều comps, bạn có thể kết xuất chúng dưới dạng phim nhưng bắt đầu trình kết xuất mới cho mỗi cái. Nếu bạn gọi aerender.exe như thế này
aerender.exe -project "c:\path\to\proj.aep" -rqindex 3
nó sẽ kết xuất comp thứ ba trên hàng đợi render. Đưa nó vào một kịch bản bạn có thể làm:
các cửa sổ
$numcomps = 12
$projpath= "C:\path\to\project.aep"
for($i=1; $i -lt ($numcomps+1); $i++){
Start-Process 'C:\Program Files\Adobe\Adobe After Effects <<version>>\Support Files\aerender.exe' -ArgumentList '-project', '$projpath', '-rqindex', '$i'
sleep 5;
}
Mac
for i in {1..12}; do
/Applications/Adobe\ After\ Effects\ CC\ 2017/aerender -project ~/Path/to/myproject.aep -rqindex $i &
sleep 5
done
Điều đó sẽ bắt đầu một cá thể aerender mới cho mỗi comp comp một lần nữa, thay đổi 12 thành tuy nhiên nhiều comps có trong hàng đợi. Lưu ý rằng kỹ thuật này có thể gặp sự cố nếu bạn có nhiều comps trong hàng đợi của bạn nếu bạn sử dụng tất cả bộ nhớ vật lý của mình, mọi thứ sẽ dừng lại khá nhanh. Để giảm số lượng phiên bản, bạn phải kiểm tra xem có bao nhiêu tiến trình đang chạy và chỉ bắt đầu một quá trình mới khi một quá trình chạy kết thúc. Một cách giải quyết đơn giản hơn là tạo ra nhiều bản sao dự án của bạn như bạn muốn có các phiên bản, với hàng đợi kết xuất được phân chia giữa chúng, và sau đó kết xuất chúng đồng thời. Vì vậy, kết xuất luồng một sẽ là kết xuất comps 1,2,3, kết xuất luồng hai sẽ thực hiện 3,4,5, v.v.
Thêm chi tiết ở đây (blog của tôi).