[FFmpeg-user] Is FFV1 able to encode interlaced video?
Andy Furniss
adf.lists at gmail.com
Mon Aug 10 12:08:03 CEST 2015
Paul B Mahol wrote:
> On 8/10/15, Andy Furniss <adf.lists at gmail.com> wrote:
>> Carl Eugen Hoyos wrote:
>>
>>> Please understand that there is a difference between interlaced
>>> content and interlaced encoding. There is no interlaced encoding with
>>> FFv1 because it appears not to save any bytes in the output file and
>>> if you have interlaced content it will be still be interlaced.
>>
>> But judging by one quick test I just did, you will loose the field order
>> information and the frames are marked as progressive.
>>
>> Tested with mkv and nut with ffprobe -show_frames.
>>
>> Input is y4m ffprobe shows -
>>
>> interlaced_frame=1
>> top_field_first=1
>>
>> both are 0 on resulting files.
>
> That is for older version, latest version keep interlaced flags.
I think I am up to date - direct paste (ffm and ffpr are bash aliases I
use to run from git tree)
ph4[576i25]$ ffm -i parkrun-576i25-420-704.y4m -c:v ffv1 out-ffv1.mkv
ffmpeg version N-74340-ge66a43f Copyright (c) 2000-2015 the FFmpeg
developers
built with gcc 4.9.2 (GCC)
configuration: --prefix=/usr --disable-doc --enable-gpl
--enable-nonfree --enable-opencl --enable-libvpx
--enable-libschroedinger --enable-libx265 --enable-libdcadec
--enable-libfdk-aac --enable-libmp3lame --enable-libx264 --enable-x11grab
libavutil 54. 30.100 / 54. 30.100
libavcodec 56. 57.100 / 56. 57.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 32.100 / 5. 32.100
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Input #0, yuv4mpegpipe, from 'parkrun-576i25-420-704.y4m':
Duration: 00:00:10.08, start: 0.000000, bitrate: 121652 kb/s
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 704x576,
SAR 16:11 DAR 16:9, 25 fps, 25 tbr, 25 tbn, 25 tbc
File 'out-ffv1.mkv' already exists. Overwrite ? [y/N] y
Output #0, matroska, to 'out-ffv1.mkv':
Metadata:
encoder : Lavf56.40.101
Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), yuv420p, 704x576 [SAR
16:11 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 1k tbn, 25 tbc
Metadata:
encoder : Lavc56.57.100 ffv1
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> ffv1 (native))
Press [q] to stop, [?] for help
frame= 252 fps= 50 q=-0.0 Lsize= 91607kB time=00:00:10.08
bitrate=74449.2kbits/s
video:91604kB audio:0kB subtitle:0kB other streams:0kB global
headers:0kB muxing overhead: 0.003707%
ph4[576i25]$ ffpr -show_frames out-ffv1.mkv | head -n 30
ffprobe version N-74340-ge66a43f Copyright (c) 2007-2015 the FFmpeg
developers
built with gcc 4.9.2 (GCC)
configuration: --prefix=/usr --disable-doc --enable-gpl
--enable-nonfree --enable-opencl --enable-libvpx
--enable-libschroedinger --enable-libx265 --enable-libdcadec
--enable-libfdk-aac --enable-libmp3lame --enable-libx264 --enable-x11grab
libavutil 54. 30.100 / 54. 30.100
libavcodec 56. 57.100 / 56. 57.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 32.100 / 5. 32.100
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Input #0, matroska,webm, from 'out-ffv1.mkv':
Metadata:
ENCODER : Lavf56.40.101
Duration: 00:00:10.08, start: 0.000000, bitrate: 74449 kb/s
Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), yuv420p, 704x576, SAR
16:11 DAR 16:9, 25 fps, 25 tbr, 1k tbn, 1k tbc (default)
Metadata:
ENCODER : Lavc56.57.100 ffv1
DURATION : 00:00:10.080000000
[FRAME]
media_type=video
stream_index=0
key_frame=1
pkt_pts=0
pkt_pts_time=0.000000
pkt_dts=0
pkt_dts_time=0.000000
best_effort_timestamp=0
best_effort_timestamp_time=0.000000
pkt_duration=40
pkt_duration_time=0.040000
pkt_pos=719
pkt_size=164299
width=704
height=576
pix_fmt=yuv420p
sample_aspect_ratio=16:11
pict_type=I
coded_picture_number=0
display_picture_number=0
interlaced_frame=0
top_field_first=0
repeat_pict=0
[/FRAME]
[FRAME]
media_type=video
stream_index=0
key_frame=0
pkt_pts=40
ph4[576i25]$
ph4[576i25]$
ph4[576i25]$ ffpr -show_frames parkrun-576i25-420-704.y4m | head -n 30
ffprobe version N-74340-ge66a43f Copyright (c) 2007-2015 the FFmpeg
developers
built with gcc 4.9.2 (GCC)
configuration: --prefix=/usr --disable-doc --enable-gpl
--enable-nonfree --enable-opencl --enable-libvpx
--enable-libschroedinger --enable-libx265 --enable-libdcadec
--enable-libfdk-aac --enable-libmp3lame --enable-libx264 --enable-x11grab
libavutil 54. 30.100 / 54. 30.100
libavcodec 56. 57.100 / 56. 57.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 32.100 / 5. 32.100
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Input #0, yuv4mpegpipe, from 'parkrun-576i25-420-704.y4m':
Duration: 00:00:10.08, start: 0.000000, bitrate: 121652 kb/s
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 704x576,
SAR 16:11 DAR 16:9, 25 fps, 25 tbr, 25 tbn, 25 tbc
[FRAME]
media_type=video
stream_index=0
key_frame=1
pkt_pts=0
pkt_pts_time=0.000000
pkt_dts=0
pkt_dts_time=0.000000
best_effort_timestamp=0
best_effort_timestamp_time=0.000000
pkt_duration=1
pkt_duration_time=0.040000
pkt_pos=66
pkt_size=608256
width=704
height=576
pix_fmt=yuv420p
sample_aspect_ratio=16:11
pict_type=I
coded_picture_number=0
display_picture_number=0
interlaced_frame=1
top_field_first=1
repeat_pict=0
[/FRAME]
[FRAME]
media_type=video
stream_index=0
key_frame=1
pkt_pts=1
More information about the ffmpeg-user
mailing list