记录ffmpeg以及mediainfo用法和命令

这篇文章主要记录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
  • extract only one frame
ffmpeg -i input_video -ss 00:00:00.00 -vframes 1 output.png
  • get yuv raw format from video

    we can get the whole list of the format:

    ffmpeg -pix_fmts | grep pixel_format_name

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
  • convert 8bit to 10bit
ffmpeg -i tm_512.mkv -frames 40 -c:v libx265 -preset veryslow -x265-params crf=28 -pix_fmt yuv420p10le tm_512_10bit.mkv
  • denoise filter
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 select filter
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

    mediainfo command

  • get frame counts

    mediainfo --Output="Video;%FrameCount%" input
最好的我们 2019_qingmin_guiyang

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×