我有一组 MP4 文件;它们都可以在我的 Ubuntu 盒子上使用 VLC 播放。但是当我将它们复制到 USB 时;并想从我的电视(Grundig,28 VLE 5500WG)播放它们时,有些可以播放;其他则不行。没有特定的错误消息;只是类似“未知文件格式”的内容。
Mediainfo(工作文件):
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 368 MiB
Duration : 1h 6mn
Overall bit rate mode : Variable
Overall bit rate : 770 Kbps
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : [email protected]
Format settings, CABAC : Yes
Format settings, ReFrames : 5 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 1h 6mn
Bit rate : 640 Kbps
Width : 720 pixels
Height : 404 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 25.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.088
Stream size : 306 MiB (83%)
Writing library : x264 core 142 r2479 dd79a61
Encoding settings : cabac=1 / ref=5 / deblock=1:0:0 / analyse=0x3:0x113 / me=umh / subme=8 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=50 / rc=crf / mbtree=1 / crf=19.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Matrix coefficients : BT.709
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 1h 6mn
Bit rate mode : Variable
Bit rate : 124 Kbps
Maximum bit rate : 140 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Compression mode : Lossy
Stream size : 59.3 MiB (16%)
Mediainfo 损坏的文件:
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 269 MiB
Duration : 47mn 22s
Overall bit rate mode : Variable
Overall bit rate : 793 Kbps
Writing application : Stupid Ocelot
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : [email protected]
Format settings, CABAC : Yes
Format settings, ReFrames : 5 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 47mn 22s
Bit rate : 680 Kbps
Width : 720 pixels
Height : 404 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 25.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.094
Stream size : 231 MiB (86%)
Writing library : x264 core 142 r2479 dd79a61
Encoding settings : cabac=1 / ref=5 / deblock=1:0:0 / analyse=0x3:0x113 / me=umh / subme=8 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=50 / rc=crf / mbtree=1 / crf=20.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Language : English
Matrix coefficients : BT.709
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 47mn 22s
Bit rate mode : Variable
Bit rate : 96.0 Kbps
Maximum bit rate : 110 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Compression mode : Lossy
Stream size : 32.5 MiB (12%)
答案1
我想到了一种可行的方法(不确定是否是最佳方法)。运行
ffmpeg -i broken.mp4 -pix_fmt yuv420p -crf 18 good.mp4
创建一个稍大一点的 MP4(质量可能稍微差一点)...并且可以在我的电视机上播放。
(但我仍在寻找其他答案,如果有的话)
答案2
使用以下选项:
-c:v libx264 -crf 24 -pix_fmt yuv420p -tune film -c:a aac -b:a 192k -ar 44100 -vol 300 -strict -2 -speed fastest
最终结果应该可以在大多数电视上顺利运行。