{
"cells": [
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"ffmpeg version 4.1.5 Copyright (c) 2000-2020 the FFmpeg developers\n",
" built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)\n",
" configuration: --disable-debug --disable-doc --disable-ffplay --enable-shared --enable-avresample --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-gpl --enable-libass --enable-fontconfig --enable-libfreetype --enable-libvidstab --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxcb --enable-libx265 --enable-libxvid --enable-libx264 --enable-nonfree --enable-openssl --enable-libfdk_aac --enable-postproc --enable-small --enable-version3 --enable-libbluray --enable-libzmq --extra-libs=-ldl --prefix=/opt/ffmpeg --enable-libopenjpeg --enable-libkvazaar --enable-libaom --extra-libs=-lpthread --enable-libsrt --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib\n",
" libavutil 56. 22.100 / 56. 22.100\n",
" libavcodec 58. 35.100 / 58. 35.100\n",
" libavformat 58. 20.100 / 58. 20.100\n",
" libavdevice 58. 5.100 / 58. 5.100\n",
" libavfilter 7. 40.101 / 7. 40.101\n",
" libavresample 4. 0. 0 / 4. 0. 0\n",
" libswscale 5. 3.100 / 5. 3.100\n",
" libswresample 3. 3.100 / 3. 3.100\n",
" libpostproc 55. 3.100 / 55. 3.100\n",
"Input #0, lavfi, from 'mandelbrot=size=1280x720:rate=25':\n",
" Duration: N/A, start: 0.000000, bitrate: N/A\n",
" Stream #0:0: Video: rawvideo (RGB[0] / 0x424752), rgb0, 1280x720 [SAR 1:1 DAR 16:9], 25 tbr, 25 tbn, 25 tbc\n",
"Stream mapping:\n",
" Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))\n",
"Press [q] to stop, [?] for help\n",
"[libx264 @ 0x55c132cde000] using SAR=1/1\n",
"[libx264 @ 0x55c132cde000] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX XOP FMA4 LZCNT\n",
"[libx264 @ 0x55c132cde000] profile High, level 3.1\n",
"[libx264 @ 0x55c132cde000] 264 - core 148 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00\n",
"Output #0, mp4, to 'output_file.mp4':\n",
" Metadata:\n",
" encoder : Lavf58.20.100\n",
" Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 25 fps, 12800 tbn, 25 tbc\n",
" Metadata:\n",
" encoder : Lavc58.35.100 libx264\n",
" Side data:\n",
" cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1\n",
"frame= 250 fps=9.2 q=-1.0 Lsize= 6070kB time=00:00:09.88 bitrate=5033.3kbits/s speed=0.363x \n",
"video:6067kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.063375%\n",
"[libx264 @ 0x55c132cde000] frame I:1 Avg QP:19.66 size: 46805\n",
"[libx264 @ 0x55c132cde000] frame P:63 Avg QP:22.49 size: 37164\n",
"[libx264 @ 0x55c132cde000] frame B:186 Avg QP:28.61 size: 20556\n",
"[libx264 @ 0x55c132cde000] consecutive B-frames: 0.8% 0.0% 0.0% 99.2%\n",
"[libx264 @ 0x55c132cde000] mb I I16..4: 34.8% 55.5% 9.8%\n",
"[libx264 @ 0x55c132cde000] mb P I16..4: 1.1% 0.3% 0.0% P16..4: 40.9% 10.2% 7.9% 0.0% 0.0% skip:39.6%\n",
"[libx264 @ 0x55c132cde000] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 30.2% 3.9% 1.8% direct: 3.2% skip:60.8% L0:45.1% L1:47.9% BI: 7.0%\n",
"[libx264 @ 0x55c132cde000] 8x8 transform intra:40.1% inter:18.7%\n",
"[libx264 @ 0x55c132cde000] coded y,uvDC,uvAC intra: 12.2% 52.8% 11.0% inter: 8.9% 18.6% 13.6%\n",
"[libx264 @ 0x55c132cde000] i16 v,h,dc,p: 18% 4% 4% 74%\n",
"[libx264 @ 0x55c132cde000] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 7% 32% 8% 10% 9% 5% 7% 2%\n",
"[libx264 @ 0x55c132cde000] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 16% 15% 13% 10% 10% 10% 10% 8% 8%\n",
"[libx264 @ 0x55c132cde000] i8c dc,h,v,p: 32% 7% 17% 44%\n",
"[libx264 @ 0x55c132cde000] Weighted P-Frames: Y:0.0% UV:0.0%\n",
"[libx264 @ 0x55c132cde000] ref P L0: 59.8% 4.5% 25.3% 10.4%\n",
"[libx264 @ 0x55c132cde000] ref B L0: 76.9% 17.8% 5.2%\n",
"[libx264 @ 0x55c132cde000] ref B L1: 88.9% 11.1%\n",
"[libx264 @ 0x55c132cde000] kb/s:4969.21\n"
]
}
],
"source": [
"%%bash\n",
"ffmpeg -f lavfi -i mandelbrot=size=1280x720:rate=25 -c:v libx264 -pix_fmt yuv420p -t 10 -y output_file.mp4"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"total 7184\n",
"-rw-r--r--. 1 anj anj 14471 Jun 14 23:17 generate-test-file.ipynb\n",
"-rw-r--r--. 1 anj anj 6216119 Jun 14 23:18 output_file.mp4\n"
]
}
],
"source": [
"%%bash\n",
"ls -l "
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"output_file.mp4
"
],
"text/plain": [
"/home/anj/output_file.mp4"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from IPython.display import FileLink\n",
"\n",
"FileLink('output_file.mp4')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.9"
}
},
"nbformat": 4,
"nbformat_minor": 4
}