这篇文章主要记录ffmpeg、mediainfo的用法和命令。
ffmpeg 命令
- get rgb raw format from video.
ffmpeg -i input_video -pix_fmt gbrp10le -f rawvideo raw.rgb ffmpeg -i input_video -pix_fmt gbrp10be -f rawvideo raw.rgb ffmpeg -i input_video -pix_fmt gbrp -f rawvideo raw.rgb p means plannar 10 means 10bit le means little-endian be means big-endian
|
where the green plane is stored first, then blue, then red.
The above is for big-endian so the byte order isn’t reversed.
- extract frame by frame from video
ffmpeg -i input_video -ss 00:00:00.00 -f image2 -vf fps=fps=1/10 %03d.png -ss means start extract time -f means
|
ffmpeg -i input_video -ss 00:00:00.00 -vframes 1 output.png
|
get the yuv file
ffmpeg -i input_video -vcodc rawvideo -pix_fmt yuv420p output.yuv ffmpeg -i input_video -c:v rawvideo -pix_fmt yuv420p output.yuv
|
- using ffmpeg to convert a set of images into a video
ffmpeg -r 60 -f image2 -s 1920x1080 -i pic%04d.png -vcodec libx264 -crf 25 -pix_fmt yuv420p test.mp4 -r is the framerate(fps)
|
- convert gbrp file to hdr10 video
ffmpeg -pix_fmt gbrp16le -s 512x288 -framerate 25.0 -f rawvideo -i /data/dataset/gbr16_video.rgb -c:v libx265 -x265-params colorprim='bt2020':transfer='smpte-st-2084':colormatrix='bt2020nc' -preset slow -pix_fmt yuv420p10le /data/dataset/hdr10_test_video.mkv ffmpeg -pix_fmt gbrp16le -s 1920x1080 -framerate 25.0 -f rawvideo -i src-tenggongxueyuan-sdr-4-014633-30s.gbr -c:v libx265 -preset veryslow -x265-params lossless -pix_fmt yuv420p10le src-tenggongxueyuan-sdr-4-014633-30s.mp4 ffmpeg -pix_fmt gbrp16le -s 1920x1080 -framerate 25.0 -f rawvideo -i src-tenggongxueyuan-sdr-1-001542-30s_enhanced_pq2100_bt2020_16bit.gbr -c:v libx265 -x265-params "hrd=1:aud=1:no-info=1:sar='1:1':colorprim='bt2020':transfer='smpte-st-2084':colormatrix='bt2020nc':master-display='G(8500,39850)B(6500,2300)R(35400,14600)WP(15635,16450)L(0,0)':max-cll='0,0':no-open-gop=1" -b:v 10000k -preset slow -pix_fmt yuv420p10le src-tenggongxueyuan-sdr-1-001542-30s_enhanced_pq2100_bt2020_10M_10bit.mp4
|
- convert gbrp10le file to 8bit video
ffmpeg -pix_fmt gbrp16le -s 1920x108 0 -framerate 25.0 -f rawvideo -i src-tenggongxueyuan-sdr-0-000042-20s.gbr -c:v libx265 -preset veryslow -x265-params lossless -b:v 10000k -pix_fmt yuv420p ../sdr_enhanced/src-tenggongxueyuan-sdr-0-000042-20s_10M_8bit_enhanced.mp4
* scale video
```bash ffmpeg -i 调色_sdrp.MP4 -vf scale=512:-1 -c:v libx264 -crf 0 -preset veryslow -c:a copy tm_512.mkv
|
ffmpeg -i tm_512.mkv -frames 40 -c:v libx265 -preset veryslow -x265-params crf=28 -pix_fmt yuv420p10le tm_512_10bit.mkv
|
ffmpeg -i /data2/downloads/paper_video_bt/hdr10_test_videos/sdr_test_videos/sdr2hdr_videos_paired/sdr_source/src-tenggongxueyuan-sdr-2-004734-30s.mkv -vf nlmeans -c:a copy /data2/downloads/paper_video_bt/hdr10_test_videos/sdr_test_videos/sdr2hdr_videos_paired/sdr_source/output.mp
|
ffmpeg_new_master -i ydmg_hdr.mkv -vf "select=not(mod(n\,100))" -vsync vfr -pix_fmt rgb48 ydmg_hdr_tif/ydmg_%04d.tiff
|
- ffmpeg create a video from image frame with a start and a count. 参考
ffmpeg -start_number 1 -i test_%d.jpg -vframes 100 -vcodec mpeg4 test.avi
|
key words
bitshift
get frame counts
mediainfo --Output="Video;%FrameCount%" input
|
Comments