Làm cách nào để chuyển đổi WMV sang MP4?


Câu trả lời:


49

Bạn có thể sử dụng FFmpeg (một công cụ dòng lệnh miễn phí cho Mac, Linux và Windows) để mã hóa WMV sang MP4. Đây là một cú pháp ví dụ:

ffmpeg -i input.wmv -c:v libx264 -crf 23 -c:a libfaac -q:a 100 output.mp4

Điều này sẽ mã hóa video thành video H.264 và âm thanh AAC, sử dụng chất lượng mặc định. Để thay đổi chất lượng cho video, hãy sử dụng giá trị CRF khác, trong đó thấp hơn có nghĩa là tốt hơn, ví dụ 20 hoặc 18. Đối với âm thanh, 100% là chất lượng mặc định. Tăng giá trị cho chất lượng tốt hơn.

Đối với AppleTV cụ thể, đây là những gì Apple nói rằng nó hỗ trợ:

Video H.264 lên tới 1080p, 30 khung hình mỗi giây, Mức cấu hình chính hoặc cao 4.0 hoặc thấp hơn, cấu hình đường cơ sở cấp 3.0 trở xuống với âm thanh AAC-LC lên đến 160 kbit / s trên mỗi kênh, 48 kHz, âm thanh nổi ở .m4v Định dạng tệp, .mp4 và .mov

Vì vậy, bạn có thể sử dụng lệnh sau để buộc tốc độ khung hình 30 Hz và cấu hình Cao :

ffmpeg -i input.wmv -c:v libx264 -crf 23 -profile:v high -r 30 -c:a libfaac -q:a 100 -ar 48000 output.mp4

10
Tôi vừa thử sử dụng giải pháp này trên Fedora 19 và gặp phải lỗi: Bộ mã hóa không xác định 'libaac' Có vẻ như sau một bản phát hành nhất định, ffmpeg không bao gồm các phân biệt nhị phân có hỗ trợ libfaac, vì vậy bạn sẽ cần phải xây dựng từ nguồn. Thay vào đó, tôi đã thay đổi 'libfaac' thành 'aac' và thêm các cờ '-strict -2' và chuyển đổi đã hoạt động thành công.
roartechs

4
Tùy chọn không được nhận dạng 'c: v' Không thể đặt giá trị 'libx264' cho tùy chọn 'c: v'
e-information128

5
tôi đã có những vấn đề chính xác giống như roartechs và giải quyết chúng bằng cách sử dụngffmpeg -i input.wmv -c:v libx264 -crf 23 -c:a aac -strict -2 -q:a 100 output.mp4
Jeremy Tammik

cảnh báo, trong hầu hết các trường hợp, 23 khác biệt đáng kể so với 20 trong khi 22 hầu như không đáng chú ý và 18 khó có thể nhận ra bất kỳ sự khác biệt nào so với ban đầu.
Dmitry

18

Tay cầm . Đa nền tảng và miễn phí.

HandBrake là một bộ chuyển mã video đa luồng, được cấp phép GPL, đa nền tảng, đa luồng, có sẵn cho MacOS X, Linux và Windows.

Nguồn được hỗ trợ:

  • Các tập tin đa phương tiện phổ biến nhất mà libavformat và libavcodec hỗ trợ.

  • Bất kỳ nguồn DVD hoặc Bluray nào không được bảo vệ chống sao chép. (loại bỏ bảo vệ bản sao không được hỗ trợ)

Đầu ra:

  • Định dạng tệp: MP4 (M4V) và MKV

  • Video: H.264 (x264), MPEG-4 (ffmpeg), MPEG-2 (ffmpeg) hoặc Theora (libtheora)

  • Âm thanh: AAC, CoreAudio AAC / HE-AAC (Chỉ dành cho OS X), MP3, Flac, AC3 hoặc Vorbis. Truyền qua AC-3, DTS, DTS-HD, AAC và MP3.

2
HandBrake không hoạt động. Tôi đã nhận được một lỗi thông báo "Không tìm thấy (các) Tiêu đề. Vui lòng đảm bảo rằng bạn đã chọn nguồn được bảo vệ hợp lệ, không sao chép. Nguồn của bạn có thể được bảo vệ sao chép, thông thạo kém hoặc định dạng mà Handbrake không hỗ trợ." và tôi không nghĩ HandBrake hỗ trợ wmv.
Burnt1ce

7
Rất tiếc khi nghe. Nó đã vượt qua bài kiểm tra "Hoạt động trên máy của tôi" :-(.

Làm việc cho tôi với Handbrake 0.9.4.
Sebastian

@RandolphWest Máy của bạn là gì, nếu nó hoạt động trên nó?
bwerks

@ burnt1ce Sau khi nhận được cùng một lỗi chính xác, tôi đã có thể chuyển đổi wmv GoToMeeting chỉ bằng Handbrake sau khi chuyển mã đầu tiên với g2mtranscoder.exe của Citrix, sau đó sử dụng Handbrake 0.9.8.
bwerks

4

Nếu bạn đang cố gắng chuyển đổi các tệp WMV được tạo bởi GoToMeeting (còn gọi là Go2Meeting cho mục đích SEO ) thì tất cả các giải pháp trên có thể sẽ thất bại vì video được mã hóa bằng cách sử dụng codec g2m4 dành riêng cho citrix.

Tôi tìm thấy trang này hướng dẫn chuyển mã từ g2m sang WMV thông thường bằng cách sử dụng g2mtranscoder.exe do gotomeeting cung cấp, sẽ chuyển mã video của bạn tại chỗ để sau đó bạn có thể chuyển mã sang định dạng của mình bằng các công cụ thông thường (như các câu trả lời khác trong phần này chủ đề).


Bạn có chắc chắn rằng FFmpeg không làm codec GoToMeeting không? Nó được liệt kê trong ffmpeg -codec, tuy nhiên không có Dcờ, vì vậy tôi không biết nếu nó được hỗ trợ đầy đủ.
slhck

@slhck Tôi đã tự mình thử FFmpeg như một bước đầu tiên và trong khi nó đã xác định codec video là Video: g2m (G2M4 / 0x344D3247), nó đã dẫn đến lỗi 'Không thể phân tích giá trị tùy chọn "-1" dưới dạng pixel' . Sau khi chuyển mã tại chỗ với g2mtranscoder, tôi đã có thể chuyển mã bình thường bằng phanh tay. Tôi có kế hoạch cố gắng làm cho nó hoạt động với FFmpeg mặc dù vậy tôi có thể tự động hóa hoàn toàn quy trình này.
bwerks

2
./ffmpeg -y -i input.wmv -vcodec libx264 -acodec libfaac -ab 128k -ac 2 -b 300 -threads 4 -flags +loop -cmp +chroma -partitions 0 -subq 1 -trellis 0 -refs 1 -coder 0 -bufsize 10M  -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 output.mp4

Tôi không biết tất cả các tùy chọn / cờ có nghĩa là gì, nhưng điều đó dường như hoạt động và nhận được tệp MP4 có thể phát trực tuyến Flash, nhưng video không có chất lượng hàng đầu.

Các thư viện codec tôi đã cài đặt là libx264 và libfaac cho các codec âm thanh và video H.264AAC .


2

www.media-convert.com là một dịch vụ dựa trên web miễn phí chuyển đổi tất cả các loại định dạng âm thanh và video. Không cần cài đặt bất kỳ phần mềm. Bỏ qua các phần bổ sung và chỉ chọn loại tệp từ menu thả xuống.


1
Tuy nhiên, rất thú vị, nó không xuất video chất lượng 720p +. Độ phân giải tối đa cho mp4 là 640x480. Nhưng +1 chắc chắn.
Burnt1ce

1

MediaCoder nên làm tốt công việc!

MediaCoder là một công cụ chuyển mã đa phương tiện miễn phí từ năm 2005. Nó tích hợp hầu hết các công cụ và codec âm thanh / video phổ biến một cách thanh lịch và minh bạch vào một giải pháp chuyển mã tất cả trong một. Với kiến ​​trúc linh hoạt và có thể mở rộng, các công cụ và codec mới nhất được cập nhật liên tục. MediaCoder dự định là con dao quân đội Thụy Sĩ để chuyển mã phương tiện mọi lúc.


Thật tuyệt, tôi đang tải nó ngay bây giờ.
Burnt1ce


0

Tôi sẽ sử dụng MediaCoder để chuyển đổi hàng loạt hoặc khả năng thân thiện với người dùng khác là Avidemux .


0

Tôi không thể cài đặt FFmpeg trên Ubuntu Server 14.10 (Utopic Unicorn), vì vậy tôi đã sử dụng HandBrake. Sau khi cài đặt, tôi đã sử dụng tập lệnh từ thanhsiang.org/fa Khánh :

  1. Tạo một tệp .sh, ví dụ, convert.sh
  2. chmod +x convert.sh
  3. Định cấu hình thư mục SRC và DEST, + DEST_EXT
  4. ./convert.sh

Tập tin convert.sh

#!/bin/bash

# This script is to convert automatically a folder of video files to MP4.
# You need to change SRC -- Sourse folder and DEST -- Destination folder
# The MP4 format is 480x270.

SRC=/home/video/
DEST=/home/www/mp4files/
DEST_EXT=mp4
HANDBRAKE_CLI=HandBrakeCLI

for FILE in `ls $SRC`
do
        filename=$(basename $FILE)
        extension=${filename##*.}
        filename=${filename%.*}

        $HANDBRAKE_CLI -i $SRC/$FILE -o $DEST/$filename.$DEST_EXT -e x264 -q 22 -r 12 -B 64 -X 480 -O
done

Đó là giải pháp nhanh nhất cho tôi.

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.