Как поменять дефолтное значение DAR через код ffmpeg без перекодирования?
взял код из сайта по ffmpeg: https://ffmpeg.org/doxygen/7.0/remux_8c-example.html
проверил на видео:
ffmpeg version 7.0-essentials_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 13.2.0 (Rev5, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
libavutil 59. 8.100 / 59. 8.100
libavcodec 61. 3.100 / 61. 3.100
libavformat 61. 1.100 / 61. 1.100
libavdevice 61. 1.100 / 61. 1.100
libavfilter 10. 1.100 / 10. 1.100
libswscale 8. 1.100 / 8. 1.100
libswresample 5. 1.100 / 5. 1.100
libpostproc 58. 1.100 / 58. 1.100
Input #0, mxf, from '0003IH.MXF':
Metadata:
operational_pattern_ul: 060e2b34.04010102.0d010201.10020000
uid : 23bcaf80-8cda-4bc4-ad40-87570202632d
generation_uid : 75504bc3-c97e-4047-92d6-f8b7788a8e17
company_name : Panasonic
product_name : P2
product_version : 2.0
product_uid : 060e2b34-0401-0109-0e0e-010101000001
modification_date: 2024-04-13T15:33:37.000000Z
material_package_umid: 0x060A2B340101010501010D43130000001F215E81130406C8008045826D2B281D
material_package_name: 0003IH
timecode : 00:33:06:07
Duration: 00:00:09.08, start: 0.000000, bitrate: 56144 kb/s
Stream #0:0: Video: h264 (High 10 Intra), yuv420p10le(pc, bt709, top first), 1440x1080 [SAR 3:4 DAR 1:1], SAR 4:3 DAR 16:9, 25 fps, 25 tbr, 25 tbn
Metadata:
file_package_umid: 0x060A2B340101010501010643130000001F215E81130406C9008045826D2B281D
Stream #0:1: Data: none
Metadata:
file_package_umid: 0x060A2B340101010501010843130000001F215E81130406C9008045826D2B281D
data_type : audio
Stream #0:2: Data: none
Metadata:
file_package_umid: 0x060A2B340101010501010843130000001F215E81130406CA008045826D2B281D
data_type : audio
Stream #0:3: Data: none
Metadata:
file_package_umid: 0x060A2B340101010501010843130000001F215E81130406CB008045826D2B281D
data_type : audio
Stream #0:4: Data: none
Metadata:
file_package_umid: 0x060A2B340101010501010843130000001F215E81130406CC008045826D2B281D
data_type : audio
At least one output file must be specified
Получил выходной avi:
ffmpeg version 7.0-essentials_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 13.2.0 (Rev5, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
libavutil 59. 8.100 / 59. 8.100
libavcodec 61. 3.100 / 61. 3.100
libavformat 61. 1.100 / 61. 1.100
libavdevice 61. 1.100 / 61. 1.100
libavfilter 10. 1.100 / 10. 1.100
libswscale 8. 1.100 / 8. 1.100
libswresample 5. 1.100 / 5. 1.100
libpostproc 58. 1.100 / 58. 1.100
Input #0, avi, from 'ffmpeg_gui/ffmpeg_gui/out.avi':
Metadata:
software : Lavf61.3.100
Duration: 00:00:09.08, start: 0.000000, bitrate: 56235 kb/s
Stream #0:0: Video: h264 (High 10 Intra) (H264 / 0x34363248), yuv420p10le(pc, bt709, progressive), 1440x1080 [SAR 3:4 DAR 1:1], 56363 kb/s, 600 fps, 25 tbr, 600 tbn
At least one output file must be specified
Когда запускаю его через VLC Player по дефолту он показывает видео в соотношении 4:3, приходится переключать руками, а оригинал показывает 16:9. Как сделать чтобы после перекомпоновки результирующий файл также по умолчанию проигрывался в 16:9, а не 4:3 ? (т.е. что нужно добавить в код, может флаг какой-то)
Если через консоль перекомпоновать:
ffmpeg.exe -i 0003IH.MXF -c copy out8.avi
его данные:
ffmpeg version 7.0-essentials_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 13.2.0 (Rev5, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
libavutil 59. 8.100 / 59. 8.100
libavcodec 61. 3.100 / 61. 3.100
libavformat 61. 1.100 / 61. 1.100
libavdevice 61. 1.100 / 61. 1.100
libavfilter 10. 1.100 / 10. 1.100
libswscale 8. 1.100 / 8. 1.100
libswresample 5. 1.100 / 5. 1.100
libpostproc 58. 1.100 / 58. 1.100
Input #0, avi, from 'out8.avi':
Metadata:
software : Lavf61.1.100
timecode : 00:33:06:07
Duration: 00:00:09.08, start: 0.000000, bitrate: 56125 kb/s
Stream #0:0: Video: h264 (High 10 Intra) (H264 / 0x34363248), yuv420p10le(pc, bt709, progressive), 1440x1080 [SAR 3:4 DAR 1:1], 56363 kb/s, SAR 4:3 DAR 16:9, 25 fps, 25 tbr, 25 tbn
At least one output file must be specified
то он в проигрывателе VLC открывает по умолчанию в 16:9 как и оригинал, отличия в добавление параметром вывода SAR 4:3 DAR 16:9, ну и timecode в метаданных