Làm thế nào để tạo bản ghi máy tính để bàn WebM?


13

Tôi đang tìm kiếm một ứng dụng ghi / screencast trên máy tính để bàn có thể xuất ra ở định dạng WebM hoặc một chương trình có thể chuyển đổi định dạng .ogv được tạo bởi gtk-recordmydesktopthành WebM.

Tôi đã chọn WebM là định dạng tôi cần vì dường như đây là codec miễn phí duy nhất được YouTube hỗ trợ, nơi các bản ghi của tôi sẽ kết thúc. Tôi đã thử tải lên một .ogv trong quá khứ và có video màu xanh lá cây, vì vậy nó sẽ không hoạt động với tôi.

Tôi sống ở Hoa Kỳ và tôi có ý thức về việc cố gắng tránh xa mọi thứ có thể có vấn đề về bằng sáng chế phần mềm, như gstreamer0.10-plugins-uglyhoặc gstreamer0.10-plugins-bad. Đó là vì lý do này ban đầu tôi quan tâm đến Tibesti (ví dụ), nhưng điều đó cần cài đặt các gói như đã nói ở trên.

Tôi đã thực hiện một số tìm kiếm trực tuyến cho một giải pháp miễn phí (như cả tiền và tự do), nhưng cho đến nay không thể tìm thấy bất cứ điều gì. Bất kỳ đề xuất?


bạn có thể nói vị trí của bạn?
Lincity

@Alaukik, tôi đã nói ở trên tôi sống ở Mỹ. Nếu bạn cần biết tiểu bang nào, tôi sống ở Michigan. Tôi không muốn nhận được cụ thể hơn thế.
Christopher Kyle Horton

@ Warriorlng64 ôi!
Lincity

Câu trả lời:


6

12,04 LTS

Dường như ffmpeg không còn hoạt động chính xác trong bản phát hành này để chuyển đổi recordmydesktopcác bản ghi .ogv sang WebM. Vì nó không còn được bảo trì, nên sử dụng thay thế thay thế avconv, được cung cấp trong libav-toolsgói (có vẻ như sẽ tự động được cài đặt nếu ffmpegđược cài đặt).

Lệnh cần sử dụng avconvđể chuyển đổi không quá khác biệt so với ffmpeg:

avconv -i input.ogv output.webm

Do đó, nếu bất kỳ ai gặp phải cùng một vấn đề là chỉ cố gắng sử dụng các gói miễn phí để chuyển đổi từ .ogv sang .webm trong 12.04 (hoặc có lẽ sau này), thì đây là cách tôi giải quyết. Điều này sẽ hữu ích nếu bạn tạo bản ghi để hiển thị các tính năng mới hoặc sự cố tài liệu bằng video.


Gần đây tôi bắt đầu làm việc trên Kazam , bây giờ nó có thể ghi ở định dạng VP8 / WebM và H264 / Matroska. Tôi đã thực hiện các bản dựng PPA cho Oneiric và Chính xác. Nó sử dụng guxer để ghi âm và không yêu cầu ffmpeg. Nó nên hoạt động trên Ubuntu được cài đặt sạch mà không cần thêm codec.
BigWhale

@BigWhale Duyệt mã một chút, tôi nhận thấy nó dường như vẫn phụ thuộc vào gstreamer0.10-plugins-badgstreamer0.10-plugins-ugly. Các gói này chứa các codec tôi đang cố gắng tránh do vấn đề bằng sáng chế, như đã nêu ở trên. Nếu bản dựng được cập nhật / thay thế trở nên khả dụng mà không phụ thuộc vào các gói này, hãy cho tôi biết trong câu trả lời mới. Dẫu sao cũng xin cảm ơn!
Christopher Kyle Horton

Tôi nhận đượcError while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
JRG

@jrg Tôi gặp một vấn đề tương tự trên máy tính xách tay của mình khi chuyển đổi video tôi đã ghi lại bằng cách sử dụng một cách giải quyết được đăng trên báo cáo lỗi nàyrecordmydesktop . Thật kỳ lạ, khi tôi lấy video tương tự trên máy tính để bàn của mình và chuyển đổi nó ở đó, nó hoạt động mà không gặp vấn đề gì. Vì vậy, ... nó có thể là một lỗi, nhưng tôi không nghĩ rằng tôi biết đủ về nó để nộp báo cáo.
Christopher Kyle Horton

1
Một lưu ý phụ: FFMpeg vẫn được duy trì (trên thực tế phiên bản 1.0 mới xuất hiện), nhưng đã có một cuộc chiến nhỏ giữa một số nhà phát triển, dẫn đến fork avconv. Chỉ là các nhà bảo trì debian / ub Ubuntu đứng về phía avconv. Thông điệp "CHƯƠNG TRÌNH NÀY ĐƯỢC ĐỔI" hoàn toàn sai lệch. Đọc về tình hình hiện tại ở đây: http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html .
phoibos

6

Tôi đang sử dụng những thứ như thế:

avconv -f x11grab -s 1024x768 -r 24 -i 0:0 -deadline realtime -b 5000000 -minrate 200000 -maxrate 40000000 recording-filename-000.webm

Ở đâu:

-f x11grab - thực thi "định dạng" chụp màn hình của đầu vào.

-s 1024x768là độ phân giải của tệp đầu vào (còn gọi là vùng chụp). Ví dụ bằng với độ phân giải máy tính để bàn. Nếu nhỏ hơn, khu vực ghi âm sẽ ở bên trái và trên cùng. Tôi đã sử dụng vùng ghi 1024x768 trong ví dụ này.

-r 24- tỷ lệ khung hình. Về cơ bản, 23 đến 30 FPS được sử dụng bởi các bộ phim thực tế để mang lại hình ảnh ghi hình mượt mà. Tuy nhiên, đối với screencast, có thể giảm bớt điều này để có được hình ảnh tốt hơn ở tốc độ bit thấp hơn. Tôi đã sử dụng 24 để chụp màn hình trò chơi.

-i 0:0là một gợi ý để sử dụng hiển thị 0: 0 làm nguồn (thiết bị có ký hiệu xorg). Nếu bạn chỉ có 1 màn hình và thiết lập Xorg mặc định, 0: 0 sẽ ổn hầu hết thời gian.

-deadline realtime- là một gợi ý cho libvpx. Chúng tôi muốn chụp trực tiếp. Chúng tôi muốn hiệu suất thời gian thực. Vì vậy libvpx sẽ làm điều tốt nhất để mã hóa VP8 trong REALTIME. Để làm như vậy nó phần nào giao dịch chất lượng cho tốc độ. Với chất lượng bitrate đã cho sẽ kém hơn một chút so với cách không theo thời gian thực. Nhưng tốc độ mã hóa sẽ tăng vọt. Vì vậy, trên phần cứng của tôi, nó có thể tạo ra 1024x768 @ 24FPS, các cảnh cường độ cao mà không làm rơi bất kỳ khung hình nào (mặc dù CPU được khuyến nghị). Trong ví dụ này tôi muốn có một bản chụp trực tiếp chất lượng khá ở FPS tốt và diện tích chụp khá lớn. Vì vậy, việc sử dụng CPU bằng codec có thể là một vấn đề. Đó là lý do tại sao gợi ý này thực sự cần thiết cho kết quả tốt.

-b 5000000- bitrate mục tiêu tính bằng bit / giây. Tôi đã sử dụng 5Mbit để có được hình ảnh tốt hơn hoặc ít hơn về những cảnh khá căng thẳng. Codec sẽ cố gắng giữ tốc độ bitrate trung bình của video gần với giá trị này. Giá trị này càng thấp, chất lượng càng tệ và tệp càng nhỏ. Bạn có thể thử nghiệm một chút để có ý tưởng bitrate nào tốt cho việc sử dụng cụ thể. Dịch vụ chia sẻ video sẽ chuyển hướng video xuống nếu bạn quá tải. Nếu bạn sắp sử dụng máy chủ của riêng mình, bạn cần phải xử lý lưu lượng. Nếu bạn cởi quần áo, chất lượng hình ảnh sẽ rất tệ. Hãy thoải mái thay đổi giá trị để có ý tưởng những gì tốt nhất cho bạn. 5Mbit được dành cho việc chụp trực tiếp các cảnh cường độ cao tại các trò chơi mà bạn không thể dễ dàng nhìn thấy hình ảnh bị nén quá mức. Để chụp các ứng dụng tĩnh, về cơ bản bạn sẽ cần ít hơn thế.

-minrate200000 - là bitrate tối thiểu được phép cho codec. Tùy thuộc vào bản chất của thứ bạn muốn chụp, đôi khi bạn có thể muốn buộc bitrate tối thiểu để giữ một hình ảnh trông hợp lý bất kể điều gì. Đôi khi heuristic codec có thể giảm bitrate xuống dưới giá trị bạn có thể muốn, đưa ra hình ảnh xấu ở một số cảnh. Tùy chọn này cho phép buộc codec giữ bitrate tối thiểu ngay cả khi codec nghĩ rằng cảnh đó đơn giản và bitrate có thể bị loại bỏ. Giá trị cao của tham số này có thể tăng kích thước tệp bằng cách ngăn codec sử dụng bitrate thấp hơn.

-maxrate 40000000- Giá trị này kiểm soát bitrate nổ tối đa ở các cảnh cường độ cao. Tôi đã sử dụng giá trị thực sự cao để cho phép codec đi xa hơn mức trung bình mong muốn nếu coi tốc độ cao hơn là bắt buộc để giữ chất lượng tốt ở một số cảnh. Để có được một bức ảnh đẹp trong mọi điều kiện, bạn nên đặt mức độ đủ cao này (40Mbit là tốc độ giống như BlueRay và sẽ thực hiện thủ thuật). Mặt khác, nếu bạn định phát trực tuyến bằng máy chủ của riêng mình, bạn phải giảm giá trị này với chi phí chất lượng hình ảnh ở những cảnh cường độ cao. Máy chủ khác có thể không đối phó với bitrate nổ mong muốn, không thể cung cấp nó theo cách thời gian thực cho người dùng. Sau đó, người chơi sẽ phải đối mặt với bộ đệm (điều này gây khó chịu). Các dịch vụ chia sẻ video sẽ tự chăm sóc và thường chuyển video xuống các thông số thấp hơn với chi phí chất lượng hình ảnh.

recording-filename-000.webm- là tên tệp của đầu ra. Nếu bạn sử dụng phần mở rộng .webm, ffmpeg / avconv đủ thông minh để hiểu bạn muốn WEBM. Thật đơn giản - avconv đoán định dạng mong muốn từ tên tệp. Vì vậy, các tập tin .CHBM là WEBM bên trong.

Thế là xong - lệnh này thực hiện ghi màn hình trực tiếp vào tệp webm. Không cần chuyển đổi thêm và libvpxđược gợi ý là nhanh nhất có thể. Không có âm thanh vì không có đặc điểm kỹ thuật cho đầu vào âm thanh. Nó có thể hoặc không thể là những gì bạn muốn. Đối với âm thanh, bạn cũng phải xác định nguồn đầu vào cho luồng âm thanh.

PS này có thể trông hơi phức tạp một chút nhưng vào cuối ngày, bạn có thể nhận ra rằng một kích thước không thể phù hợp với tất cả. Vì vậy, để có được một bức ảnh đẹp trong mọi tình huống, bạn có thể thực sự muốn có một số tay cầm cho codec được sử dụng và muốn điều chỉnh chúng. Ffmpeg cung cấp cho bạn tất cả các tay cầm mà bạn có thể cần và hơn thế nữa. Đó là một vũ khí hạng nặng của chuyển đổi và mã hóa video. Vì vậy, ví dụ này là một điểm tốt để bắt đầu cho những người muốn thực hiện mã hóa nâng cao hoặc ít hơn và sẵn sàng thử nghiệm một chút để có được kết quả thực sự tốt.


6

Bạn có thể tạo các bản ghi âm WebM trong Ubuntu 11.10 + GNOME Shell bằng cách nhấn Ctrl+ Shift+ Alt+ Rtổ hợp phím.

Lần đầu tiên bạn nhấn tổ hợp, một vòng tròn màu đỏ xuất hiện trong vùng thông báo, cho biết quá trình ghi bắt đầu. Lần thứ 2 bạn nhấn nó, vòng tròn màu đỏ biến mất và bạn sẽ có bản ghi âm của mình trong ${HOME}/Videosthư mục.

Thêm thông tin ở đây: Gnome Shell Cheat Sheet: Ghi âm Screencast


Vào thời điểm ban đầu tôi hỏi điều này, tôi đã không có Gnome Shell. Nhưng tôi đã sử dụng để biên dịch nó từ jhbuildngày 10.10 và tôi đã cài đặt nó trên các hệ thống 11.10 của mình và tôi biết điều này cũng hoạt động. Cảm ơn đã thêm câu trả lời này!
Christopher Kyle Horton

Trong phiên bản hiện tại (sử dụng 16.04) video được lưu trữ ~/Videosvới tên tệp là Screencast from {date} {time}.webm.
Kariem

3

Sử dụng ứng dụng Transageddon để làm điều đó. ứng dụng dựa trên Guxer của nó

sudo apt-get install transmageddon hoặc bấm vào đây để cài đặt transageddon


Tôi đã xem xét các phụ thuộc cho transageddon thông qua cài đặt sudo apt-get và gói guxer-plugins-ugly mà tôi đã đề cập ở trên được đưa vào danh sách. Một lần nữa, tôi không chắc chắn nếu điều này là hoàn toàn hợp pháp đối với tôi để sử dụng, và điều đó quan trọng với tôi.
Christopher Kyle Horton

2

Sử dụng Kazam để ghi lại.

Đầu ra là mkv và hoạt động tốt với Youtube. Chỉ có vấn đề Kazam dường như không được cập nhật trong một thời gian.

BTW Bạn nên an toàn khi sử dụng Tibesti nếu tôi hiểu chính xác, trừ khi tất nhiên bạn hoàn toàn hoang tưởng rằng một số tàu vũ trụ ngoài hành tinh khổng lồ sẽ bắt cóc bạn và khiến bạn bị tra tấn vì sử dụng một phần mềm ...


Kazam yêu cầu cài đặt ffmpeg trong quá trình cài đặt sudo apt-get, điều mà tôi không chắc là liệu tôi có thể sử dụng nó một cách hợp pháp hay không.
Christopher Kyle Horton

@ Warrioring64, tôi không nghĩ ffmpeg là bất hợp pháp ...
RolandiXor

Đó là điều tôi phải lo lắng, vì tôi đang ở Hoa Kỳ và bằng sáng chế phần mềm được thi hành tại đây. Vui lòng xem phần này trên Wikipedia nếu nó có thể giúp bạn hiểu những gì tôi đang nhận được ở đây.
Christopher Kyle Horton

2
@ Warrioring64 - phiên bản có trong Ubuntu bị tước bỏ các codec đó.
RolandiXor

Được rồi ... nhưng nhìn xa hơn qua các phụ thuộc được đưa ra, tôi cũng tìm thấy libavcodec-Extra-52 và libavutil-Extra-52, mà từ một chút nghiên cứu tôi đã tìm thấy có thể gây ra vấn đề cho tôi. Xin lỗi nếu tôi có vẻ hơi khó khăn, nhưng ngay cả khi tôi thực sự không bị bắt vì sử dụng phần mềm như vậy, tôi vẫn không muốn nó phải theo lương tâm của tôi.
Christopher Kyle Horton

2

11.10 và trước đó

ffmpegcó thể được sử dụng để chuyển đổi trực tiếp .ogv thành .webm mà không cần thêm codec. Như đã đề cập trong một nhận xét về một câu trả lời khác , phiên bản ffmpegdo Ubuntu cung cấp không đi kèm theo mặc định với các codec có thể gây ra các vấn đề về bằng sáng chế phần mềm.

Đây là một chương trình dòng lệnh; để sử dụng nó, chỉ cần mở một cửa sổ đầu cuối và nhập:

ffmpeg -i input.ogv output.webm

Đúng. Tôi chỉ cài đặt ffmpeg mà không có repo medibfox và nó đã kéo tất cả các phiên bản miễn phí của gói và tôi đã mã hóa wmv lên webm một cách dễ dàng với ffmpeg -i file.wmv -f webm -sameq file.webm
duffydack

1

imo, Cách tốt nhất để chuyển đổi video sang WebM là Firefogg .

  • Đây là một plugin firefox (vì vậy nó là công cụ đa nền tảng như firefox)
  • Nó sẽ nén sang định dạng WebM (Mã nguồn mở - Codec tương thích với Web)
  • Nó cung cấp nhiều kích thước mã hóa (thực sự thuận tiện để đưa ra tỷ lệ nén tốt nhất)
  • THẬT SỰ tỷ lệ nén hiệu quả (ít nhất là bằng H264)
  • Nó rất dễ sử dụng

nhập mô tả hình ảnh ở đâ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.