Những codec nào phù hợp nhất để phát lại với Windows Media Player trên Windows XP?


16

Tôi cần mã hóa một video ngắn ở định dạng có thể phát bằng windows media player trên windows xp mà không cần cài đặt bất kỳ codec nào. Đối với quá trình mã hóa tôi đang sử dụng ffmpeg.

Tôi đã thử msmpeg4v2codec nhưng chất lượng rất tệ (so với video gốc bạn thấy các "khối" lớn) vì vậy tôi đang tìm các codec khác hoạt động tốt và có chất lượng ít nhất là "ok".

Vì các ý kiến ​​chỉ ra rằng nó có thể không phải là codec mà là vấn đề bitrate, đây là lệnh tôi đã sử dụng:

ffmpeg -i x.flv -vcodec msmpeg4v2 -acodec adpcm_ima_wav x.avi

Đầu ra:

Input #0, flv, from 'x.flv':
  Metadata:
    moovPosition    : 39337765
    avcprofile      : 100
    avclevel        : 30
    aacaot          : 2
    videoframerate  : 25
    audiochannels   : 2
  Duration: 00:06:19.52, start: 0.000000, bitrate: 836 kb/s
    Stream #0:0: Video: h264 (High), yuv420p, 702x396 [SAR 2596:3679 DAR 354:283], 25 tbr, 1k tbn, 50 tbc
    Stream #0:1: Audio: aac, 48000 Hz, stereo, s16
w:702 h:396 pixfmt:yuv420p tb:1/1000000 sar:2596/3679 sws_param:
Output #0, avi, to 'x.avi':
  Metadata:
    moovPosition    : 39337765
    avcprofile      : 100
    avclevel        : 30
    aacaot          : 2
    videoframerate  : 25
    audiochannels   : 2
    ISFT            : Lavf53.32.100
    Stream #0:0: Video: msmpeg4v2 (MP42 / 0x3234504D), yuv420p, 702x396 [SAR 2596:3679 DAR 354:283], q=2-31, 200 kb/s, 25 tbn, 25 tbc
    Stream #0:1: Audio: adpcm_ima_wav ([17][0][0][0] / 0x0011), 48000 Hz, stereo, s16, 384 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> msmpeg4v2)
  Stream #0:1 -> #0:1 (aac -> adpcm_ima_wav)
Press [q] to stop, [?] for help
frame= 9485 fps=436 q=31.0 Lsize=   31197kB time=00:06:19.48 bitrate= 673.5kbits/s
video:12628kB audio:17913kB global headers:0kB muxing overhead 2.149820%

3
Có lẽ vấn đề là bitrate của bạn, không phải codec của bạn. Codec ưa thích cho các hệ thống Windows, rất có thể là một loại WMV .
Der Hochstapler


Xem câu trả lời của tôi ở đó để biết liên kết đến Câu hỏi thường gặp chính thức của Microsoft. Nhưng về cơ bản, bạn bị mắc kẹt với Windows Media Video - thứ mà FFmpeg sẽ không sản xuất. Vì vậy, hoặc những người bạn đã cố gắng. Như @Oliver đã nói, hãy thử cài đặt chất lượng hoặc tốc độ bit cao hơn. Tôi giả sử nó chỉ sử dụng cái mặc định.
slhck

Lợi ích của codec MPEG không phải là kích thước, mà thực tế nó không phải là một thùng chứa như AVI và nó là một tệp dựa trên luồng có thể được ghi thông qua một bộ mã hóa phần cứng, được sử dụng trên phương tiện DVD cho các trình phát độc lập, và nó có thể dễ dàng chỉnh sửa. Vì vậy, để rõ ràng, những gì bạn đang hỏi về định dạng phim bạn có thể mã hóa bằng FFMPEG sẽ tạo ra kích thước bạn cảm thấy thoải mái và sẽ hoạt động với Windows Media Player mà không cần tải xuống thêm. Chính xác?
Bon Gart

Đúng. WMV cũng tốt Tôi có chất lượng tương tự - vì vậy có lẽ thực sự có gì đó không ổn với bitrate.
ThiefMaster

Câu trả lời:


12

Vì bạn không chỉ định bất cứ điều gì khác, luồng video của bạn được đặt để sử dụng q=2-31, 200 kb/s. Nó cho kết quả 673.5kbitstrung bình, không nhiều, ít nhất là đối với các codec không h.264.

Cố gắng ép buộc

  • một bitrate nhất định với -b:v 1000Kví dụ. Với các phiên bản FFmpeg cũ hơn, bạn chỉ có thể sử dụng -b.
  • một mức chất lượng cố định với -qscale 2ví dụ. Ở đây, giá trị có thể nằm trong khoảng từ 1 đến 31. Các giá trị Sane qscalenằm trong phạm vi từ 2 đến 5 hoặc hơn. Chỉ cần thử và xem những gì đạt được kết quả tốt nhất.

Các codec thực sự được hỗ trợ trên Windows theo mặc định :

Có hàng trăm codec âm thanh và video được sử dụng ngày nay. Một số đã được tạo bởi Microsoft, nhưng phần lớn các codec đã được tạo bởi các công ty, tổ chức hoặc cá nhân khác. Theo mặc định, hệ điều hành Windows và Trình phát bao gồm một số codec phổ biến nhất, chẳng hạn như Windows Media Audio, Windows Media Video và MP3.

Đồng thời xem các loại tệp Đa phương tiện mà Windows Media Player hỗ trợ để biết thêm thông tin.

Với FFmpeg, bạn có thể thử mpeg1video(MPEG-1) hoặc mpeg2video(MPEG-2) hoặc msmpeg4(MPEG-4 Phần II), nhưng tôi không chắc liệu phần sau có được hỗ trợ phổ biến hay không. Nếu bạn muốn chơi an toàn, bạn buộc phải sử dụng MPEG-1 hoặc MPEG-2.


vâng ... đó là một bitrate khá thấp cho một tệp mpeg.
Bon Gart

Heh. Tôi phải nói rằng, chúng tôi thực sự may mắn với h.264 những ngày này.
slhck

đặc biệt xem xét bạn đang xem 4k đến 5k trong 2 giờ tốt trên DVD (Tất nhiên bạn có thể tăng cao hơn, nhưng điều đó luôn để lại cho tôi khoảng không gian đẹp trên đĩa để bao gồm tệp AVI và hình ảnh và như vậy)
Bon Gart

7

Tôi gặp vấn đề tương tự với tệp aac / h264 .mp4 ban đầu chơi tốt trong Windows Media Player (Windows 7). Sau khi tôi chỉnh sửa trong VirtualDub và lưu ở định dạng .avi, sau đó chuyển đổi lại thành aac / h264 .mp4 bằng cách sử dụng mặc định ffmpeg, nó sẽ không còn phát trong Windows Media Player.

Sử dụng MediaInfo để so sánh các tệp gốc và tệp cuối cùng, tôi nhận thấy một cấu hình mã hóa khác nhau đã được sử dụng và các cài đặt mẫu phụ sắc độ khác nhau (4: 2: 0, cuối cùng 4: 4: 4). Bằng cách mã hóa lại bằng ffmpeg bằng tùy chọn sau, WMP đã có thể phát tệp chính xác:

ffmpeg  -i edited.avi -pix_fmt yuv420p fixed.mp4

1
Xem trac.ffmpeg.org/wiki/Encode/H.264#Encodingfordumbplayers mà đề cập đến việc sử dụng -pix_fmt yuv420pvà hỗ trợ ý tưởng này.
Người dùng

Tôi vừa thử nghiệm điều này trên Windows 10. Chỉ bằng cách thêm -pix_fmt yuv420ptôi đã có thể mở mp4 trong các ứng dụng của Microsoft (cả trình phát tích hợp và Trình tạo phim).
Nux


0

Vì cả hai codec đã được hỗ trợ bởi bộ chứa AVI, bạn chỉ có thể làm

ffmpeg -i x.flv -vcodec copy -acodec copy x.avi

giả sử XP của bạn hỗ trợ h.264, nếu không tôi sẽ sử dụng tệp wmv, cùng bộ lượng tử hóa và để ffmpeg điền vào codec. Điều này sẽ cung cấp cho bạn chất lượng gần như giống hệt như ban đầu:

ffmpeg -i x.flv -sameq x.wmv

2
Tôi bằng cách nào đó nghi ngờ XP đơn giản hỗ trợ h.264
ThiefMaster

2
-sameqkhông nên được sử dụng để chuyển đổi các định dạng không chia sẻ thang đo lượng tử tương tự. Tùy chọn này không có nghĩa là "cùng chất lượng" như tài liệu được sử dụng để ngụ ý. Ngoài ra, H.264 trong AVI không được khuyến nghị (mặc dù H.264 không mất dữ liệu [không có khung b] sẽ ổn).
llogan
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.