2

I am using the following command to make h264 archives of video with ffmpeg:

ffmpeg -i myfile.mov -c:a copy -c:v libx264 -preset slower -crf 20 myfilearchive.mov

To get 10-bit h264 support for capture with decklink, I switched my ffmpeg from a version I downloaded from ffmpeg.org to a version I built using the media autobuild suite. Now, however, when I run the same command to make an archive video, the output can't be played in VLC.

This is the error I get in VLC:

Codec not supported: VLC could not decode the format "aivx" (No description for this codec)

This is the output (from MediaInfo) for an archive video made with the ffmpeg I downloaded from ffmpeg.org:

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High 4:2:[email protected]
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 8 frames
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 5 min 4 s
Bit rate                                 : 26.3 Mb/s
Width                                    : 3 840 pixels
Height                                   : 2 160 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 29.970 (30000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:2
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.106
Stream size                              : 953 MiB (92%)
Writing library                          : x264 core 148 r2721 72d53ab
Encoding settings                        : cabac=1 / ref=8 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=9 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=1 / 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=60 / 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

This is the output (from MediaInfo) for an archive video made with the ffmpeg I built locally:

Video
ID                                       : 1
Format                                   : aivx
Codec ID                                 : aivx
Duration                                 : 4 min 30 s
Bit rate                                 : 27.2 Mb/s
Width                                    : 3 840 pixels
Height                                   : 2 160 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 29.970 (30000/1001) FPS
Bits/(Pixel*Frame)                       : 0.110
Stream size                              : 878 MiB (92%)
Language                                 : English

Can I get playback in VLC by changing the command used to encode the videos? (I want to use h264, but it doesn't have to be 10-bit for the archive.) Or should I just use one ffmpeg for capture (with 10-bit support), and another ffmpeg for archival output (in other words, use the ffmpeg.org binary ffmpeg to do my archives)?

2 Answers 2

2

aivx is simply a specific tag for 4K H.264 streams. Surprising that VLC doesn't probe the stream.

Try with

ffmpeg -i myfile.mov -c:a copy -c:v libx264 -preset slower -crf 20 -vtag avc1 myfilearchive.mov

In some cases, ffmpeg may fail to set the tag without warning. Add -strict -2 if that's the case.

2
  • 1
    In my case I needed to add -strict -2 as suggested. Commented May 4, 2017 at 15:58
  • In my case, -strict -2 (equivalent to -strict experimental) was sufficient; no other explicit tags were necessary. Commented Jan 1, 2023 at 12:41
1

you can attach -pix_fmt yuv420pto make it compatible with VLC and QuickTime

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.